Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "algebraic.H"
00027 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00028
00029
00030
00031 namespace Foam
00032 {
00033 namespace XiModels
00034 {
00035 defineTypeNameAndDebug(algebraic, 0);
00036 addToRunTimeSelectionTable(XiModel, algebraic, dictionary);
00037 };
00038 };
00039
00040
00041
00042
00043 Foam::XiModels::algebraic::algebraic
00044 (
00045 const dictionary& XiProperties,
00046 const hhuCombustionThermo& thermo,
00047 const compressible::RASModel& turbulence,
00048 const volScalarField& Su,
00049 const volScalarField& rho,
00050 const volScalarField& b,
00051 const surfaceScalarField& phi
00052 )
00053 :
00054 XiModel(XiProperties, thermo, turbulence, Su, rho, b, phi),
00055 XiShapeCoef(readScalar(XiModelCoeffs_.lookup("XiShapeCoef"))),
00056 XiEqModel_(XiEqModel::New(XiProperties, thermo, turbulence, Su)),
00057 XiGModel_(XiGModel::New(XiProperties, thermo, turbulence, Su))
00058 {}
00059
00060
00061
00062
00063 Foam::XiModels::algebraic::~algebraic()
00064 {}
00065
00066
00067
00068
00069 Foam::tmp<Foam::volScalarField> Foam::XiModels::algebraic::Db() const
00070 {
00071 return XiGModel_->Db();
00072 }
00073
00074
00075 void Foam::XiModels::algebraic::correct()
00076 {
00077 volScalarField XiEqEta = XiEqModel_->XiEq();
00078 volScalarField GEta = XiGModel_->G();
00079
00080 volScalarField R = GEta*XiEqEta/(XiEqEta - 0.999);
00081
00082 volScalarField XiEqStar = R/(R - GEta);
00083
00084 Xi_ == 1.0 + (1.0 + (2*XiShapeCoef)*(0.5 - b_))*(XiEqStar - 1.0);
00085 }
00086
00087
00088 bool Foam::XiModels::algebraic::read(const dictionary& XiProperties)
00089 {
00090 XiModel::read(XiProperties);
00091
00092 XiModelCoeffs_.lookup("XiShapeCoef") >> XiShapeCoef;
00093
00094 return true;
00095 }
00096
00097
00098