Vanilla backport
-in turbulenceModels backported alphat() member function backported rhoEpsilonEff() memberfunction backported to constructor sigature to allow derivation of classes backported member functions for compatibility with FOs allow mutkWallFunction to work with LES
This commit is contained in:
parent
34d4a30be7
commit
08a7e2e03b
118 changed files with 629 additions and 338 deletions
|
@ -125,11 +125,6 @@ public:
|
||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
tmp<volScalarField> mut() const
|
|
||||||
{
|
|
||||||
return mut_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Return the effective diffusivity for k
|
//- Return the effective diffusivity for k
|
||||||
tmp<volScalarField> DkEff() const
|
tmp<volScalarField> DkEff() const
|
||||||
{
|
{
|
||||||
|
@ -148,6 +143,18 @@ public:
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//- Return the turbulence viscosity
|
||||||
|
virtual tmp<volScalarField> mut() const
|
||||||
|
{
|
||||||
|
return mut_;
|
||||||
|
}
|
||||||
|
|
||||||
|
//- Return the turbulence thermal diffusivity
|
||||||
|
virtual tmp<volScalarField> alphat() const
|
||||||
|
{
|
||||||
|
return alphat_;
|
||||||
|
}
|
||||||
|
|
||||||
//- Return the effective turbulent thermal diffusivity
|
//- Return the effective turbulent thermal diffusivity
|
||||||
tmp<volScalarField> alphaEff() const
|
tmp<volScalarField> alphaEff() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -125,7 +125,7 @@ int main(int argc, char *argv[])
|
||||||
// Set all times on processor meshes equal to reconstructed mesh
|
// Set all times on processor meshes equal to reconstructed mesh
|
||||||
forAll (databases, procI)
|
forAll (databases, procI)
|
||||||
{
|
{
|
||||||
databases[procI].setTime(runTime);
|
databases[procI].setTime(runTime, runTime.timeIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read all meshes and addressing to reconstructed mesh
|
// Read all meshes and addressing to reconstructed mesh
|
||||||
|
|
|
@ -132,7 +132,7 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
Info<< "Reading database for processor " << procI << endl;
|
Info<< "Reading database for processor " << procI << endl;
|
||||||
|
|
||||||
databases[procI].setTime(runTime.timeName(), runTime.timeIndex());
|
databases[procI].setTime(runTime, runTime.timeIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read all meshes and addressing to reconstructed mesh
|
// Read all meshes and addressing to reconstructed mesh
|
||||||
|
|
|
@ -60,11 +60,13 @@ DeardorffDiffStress::DeardorffDiffStress
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel),
|
LESModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
GenSGSStress(rho, U, phi, thermoPhysicalModel),
|
GenSGSStress(rho, U, phi, thermophysicalModel),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
(
|
(
|
||||||
|
|
|
@ -101,7 +101,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -58,10 +58,11 @@ LESModel::LESModel
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
turbulenceModel(rho, U, phi, thermoPhysicalModel),
|
turbulenceModel(rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
IOdictionary
|
IOdictionary
|
||||||
(
|
(
|
||||||
|
@ -97,7 +98,8 @@ autoPtr<LESModel> LESModel::New
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
word modelName;
|
word modelName;
|
||||||
|
@ -139,7 +141,10 @@ autoPtr<LESModel> LESModel::New
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
return autoPtr<LESModel>(cstrIter()(rho, U, phi, thermoPhysicalModel));
|
return autoPtr<LESModel>
|
||||||
|
(
|
||||||
|
cstrIter()(rho, U, phi, thermoPhysicalModel, turbulenceModelName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -147,6 +152,7 @@ autoPtr<LESModel> LESModel::New
|
||||||
|
|
||||||
void LESModel::correct(const tmp<volTensorField>&)
|
void LESModel::correct(const tmp<volTensorField>&)
|
||||||
{
|
{
|
||||||
|
turbulenceModel::correct();
|
||||||
delta_().correct();
|
delta_().correct();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,7 +165,20 @@ void LESModel::correct()
|
||||||
|
|
||||||
bool LESModel::read()
|
bool LESModel::read()
|
||||||
{
|
{
|
||||||
if (regIOobject::read())
|
// Bit of trickery : we are both IOdictionary ('RASProperties') and
|
||||||
|
// an regIOobject (from the turbulenceModel). Problem is to distinguish
|
||||||
|
// between the two - we only want to reread the IOdictionary.
|
||||||
|
|
||||||
|
bool ok = IOdictionary::readData
|
||||||
|
(
|
||||||
|
IOdictionary::readStream
|
||||||
|
(
|
||||||
|
IOdictionary::type()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
IOdictionary::close();
|
||||||
|
|
||||||
|
if (ok)
|
||||||
{
|
{
|
||||||
if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
|
if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -121,9 +121,10 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
),
|
),
|
||||||
(rho, U, phi, thermoPhysicalModel)
|
(rho, U, phi, thermoPhysicalModel, turbulenceModelName)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -136,19 +137,21 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
// Selectors
|
||||||
|
|
||||||
//- Return a reference to the selected LES model
|
//- Return a reference to the selected LES model
|
||||||
static autoPtr<compressible::LESModel> New
|
static autoPtr<LESModel> New
|
||||||
(
|
(
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -68,11 +68,13 @@ Smagorinsky::Smagorinsky
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel),
|
LESModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
GenEddyVisc(rho, U, phi, thermophysicalModel),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
(
|
(
|
||||||
|
|
|
@ -96,7 +96,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -106,10 +106,12 @@ SpalartAllmaras::SpalartAllmaras
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel),
|
LESModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
sigmaNut_
|
sigmaNut_
|
||||||
(
|
(
|
||||||
|
|
|
@ -111,7 +111,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -90,11 +90,13 @@ dynOneEqEddy::dynOneEqEddy
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel),
|
LESModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
GenEddyVisc(rho, U, phi, thermophysicalModel),
|
||||||
|
|
||||||
filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
|
filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
|
||||||
filter_(filterPtr_())
|
filter_(filterPtr_())
|
||||||
|
|
|
@ -107,7 +107,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,11 +63,13 @@ lowReOneEqEddy::lowReOneEqEddy
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel),
|
LESModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
GenEddyVisc(rho, U, phi, thermophysicalModel),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
(
|
(
|
||||||
|
|
|
@ -98,7 +98,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -59,11 +59,13 @@ oneEqEddy::oneEqEddy
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel),
|
LESModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
GenEddyVisc(rho, U, phi, thermophysicalModel),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
(
|
(
|
||||||
|
|
|
@ -101,7 +101,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ LRR::LRR
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -117,7 +117,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ LaunderGibsonRSTM::LaunderGibsonRSTM
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -126,7 +126,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -65,10 +65,12 @@ LaunderSharmaKE::LaunderSharmaKE
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -110,7 +110,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -58,10 +58,11 @@ RASModel::RASModel
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
turbulenceModel(rho, U, phi, thermophysicalModel),
|
turbulenceModel(rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
IOdictionary
|
IOdictionary
|
||||||
(
|
(
|
||||||
|
@ -84,9 +85,7 @@ RASModel::RASModel
|
||||||
epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL),
|
epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL),
|
||||||
omega0_("omega0", dimless/dimTime, SMALL),
|
omega0_("omega0", dimless/dimTime, SMALL),
|
||||||
omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL),
|
omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL),
|
||||||
muRatio_(lookupOrDefault<scalar>("muRatio", 1e6)),
|
muRatio_(lookupOrDefault<scalar>("muRatio", 1e6))
|
||||||
|
|
||||||
y_(mesh_)
|
|
||||||
{
|
{
|
||||||
// Force the construction of the mesh deltaCoeffs which may be needed
|
// Force the construction of the mesh deltaCoeffs which may be needed
|
||||||
// for the construction of the derived models and BCs
|
// for the construction of the derived models and BCs
|
||||||
|
@ -101,7 +100,8 @@ autoPtr<RASModel> RASModel::New
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
word modelName;
|
word modelName;
|
||||||
|
@ -146,26 +146,13 @@ autoPtr<RASModel> RASModel::New
|
||||||
|
|
||||||
return autoPtr<RASModel>
|
return autoPtr<RASModel>
|
||||||
(
|
(
|
||||||
cstrIter()(rho, U, phi, thermophysicalModel)
|
cstrIter()(rho, U, phi, thermophysicalModel, turbulenceModelName)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
scalar RASModel::yPlusLam(const scalar kappa, const scalar E) const
|
|
||||||
{
|
|
||||||
scalar ypl = 11.0;
|
|
||||||
|
|
||||||
for (int i=0; i<10; i++)
|
|
||||||
{
|
|
||||||
ypl = log(E*ypl)/kappa;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ypl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> RASModel::muEff() const
|
tmp<volScalarField> RASModel::muEff() const
|
||||||
{
|
{
|
||||||
tmp<volScalarField> tmuEff
|
tmp<volScalarField> tmuEff
|
||||||
|
@ -181,50 +168,30 @@ tmp<volScalarField> RASModel::muEff() const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tmp<scalarField> RASModel::yPlus(const label patchNo, const scalar Cmu) const
|
|
||||||
{
|
|
||||||
const fvPatch& curPatch = mesh_.boundary()[patchNo];
|
|
||||||
|
|
||||||
tmp<scalarField> tYp(new scalarField(curPatch.size()));
|
|
||||||
scalarField& Yp = tYp();
|
|
||||||
|
|
||||||
if (curPatch.isWall())
|
|
||||||
{
|
|
||||||
Yp = pow(Cmu, 0.25)
|
|
||||||
*y_[patchNo]
|
|
||||||
*sqrt(k()().boundaryField()[patchNo].patchInternalField())
|
|
||||||
/(
|
|
||||||
mu().boundaryField()[patchNo].patchInternalField()
|
|
||||||
/rho_.boundaryField()[patchNo]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
WarningIn
|
|
||||||
(
|
|
||||||
"tmp<scalarField> RASModel::yPlus(const label patchNo) const"
|
|
||||||
) << "Patch " << patchNo << " is not a wall. Returning null field"
|
|
||||||
<< nl << endl;
|
|
||||||
|
|
||||||
Yp.setSize(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return tYp;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void RASModel::correct()
|
void RASModel::correct()
|
||||||
{
|
{
|
||||||
if (mesh_.changing())
|
turbulenceModel::correct();
|
||||||
{
|
|
||||||
y_.correct();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool RASModel::read()
|
bool RASModel::read()
|
||||||
{
|
{
|
||||||
if (regIOobject::read())
|
//if (regIOobject::read())
|
||||||
|
|
||||||
|
// Bit of trickery : we are both IOdictionary ('RASProperties') and
|
||||||
|
// an regIOobject from the turbulenceModel level. Problem is to distinguish
|
||||||
|
// between the two - we only want to reread the IOdictionary.
|
||||||
|
|
||||||
|
bool ok = IOdictionary::readData
|
||||||
|
(
|
||||||
|
IOdictionary::readStream
|
||||||
|
(
|
||||||
|
IOdictionary::type()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
IOdictionary::close();
|
||||||
|
|
||||||
|
if (ok)
|
||||||
{
|
{
|
||||||
lookup("turbulence") >> turbulence_;
|
lookup("turbulence") >> turbulence_;
|
||||||
|
|
||||||
|
|
|
@ -88,9 +88,6 @@ protected:
|
||||||
//- Model coefficients dictionary
|
//- Model coefficients dictionary
|
||||||
dictionary coeffDict_;
|
dictionary coeffDict_;
|
||||||
|
|
||||||
//- Value of y+ at the edge of the laminar sublayer
|
|
||||||
scalar yPlusLam_;
|
|
||||||
|
|
||||||
//- Lower limit of k
|
//- Lower limit of k
|
||||||
dimensionedScalar k0_;
|
dimensionedScalar k0_;
|
||||||
|
|
||||||
|
@ -109,9 +106,6 @@ protected:
|
||||||
//- Laminar to turbulent viscosity ratio
|
//- Laminar to turbulent viscosity ratio
|
||||||
scalar muRatio_;
|
scalar muRatio_;
|
||||||
|
|
||||||
//- Near wall distance boundary field
|
|
||||||
nearWallDist y_;
|
|
||||||
|
|
||||||
|
|
||||||
// Protected member functions
|
// Protected member functions
|
||||||
|
|
||||||
|
@ -148,9 +142,10 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
),
|
),
|
||||||
(rho, U, phi, thermoPhysicalModel)
|
(rho, U, phi, thermoPhysicalModel, turbulenceModelName)
|
||||||
);
|
);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -163,19 +158,21 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
// Selectors
|
||||||
|
|
||||||
//- Return a reference to the selected turbulence model
|
//- Return a reference to the selected turbulence model
|
||||||
static autoPtr<compressible::RASModel> New
|
static autoPtr<RASModel> New
|
||||||
(
|
(
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -264,15 +261,6 @@ public:
|
||||||
return muRatio_;
|
return muRatio_;
|
||||||
}
|
}
|
||||||
|
|
||||||
//- Return the near wall distances
|
|
||||||
const nearWallDist& y() const
|
|
||||||
{
|
|
||||||
return y_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Calculate y+ at the edge of the laminar sublayer
|
|
||||||
scalar yPlusLam(const scalar kappa, const scalar E) const;
|
|
||||||
|
|
||||||
//- Const access to the coefficients dictionary
|
//- Const access to the coefficients dictionary
|
||||||
const dictionary& coeffDict() const
|
const dictionary& coeffDict() const
|
||||||
{
|
{
|
||||||
|
@ -310,13 +298,6 @@ public:
|
||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevRhoReff() const = 0;
|
virtual tmp<fvVectorMatrix> divDevRhoReff() const = 0;
|
||||||
|
|
||||||
//- Return yPlus for the given patch
|
|
||||||
virtual tmp<scalarField> yPlus
|
|
||||||
(
|
|
||||||
const label patchI,
|
|
||||||
const scalar Cmu
|
|
||||||
) const;
|
|
||||||
|
|
||||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||||
virtual void correct() = 0;
|
virtual void correct() = 0;
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ RNGkEpsilon::RNGkEpsilon
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -106,7 +106,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -109,10 +109,12 @@ SpalartAllmaras::SpalartAllmaras
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
sigmaNut_
|
sigmaNut_
|
||||||
(
|
(
|
||||||
|
|
|
@ -147,7 +147,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -73,15 +73,16 @@ scalar mutkWallFunctionFvPatchScalarField::calcYPlusLam
|
||||||
|
|
||||||
tmp<scalarField> mutkWallFunctionFvPatchScalarField::calcMut() const
|
tmp<scalarField> mutkWallFunctionFvPatchScalarField::calcMut() const
|
||||||
{
|
{
|
||||||
const label patchI = patch().index();
|
const label patchi = patch().index();
|
||||||
const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
|
const turbulenceModel& turbModel =
|
||||||
const scalarField& y = rasModel.y()[patchI];
|
db().lookupObject<turbulenceModel>("turbulenceModel");
|
||||||
const scalarField& rhow = rasModel.rho().boundaryField()[patchI];
|
const scalarField& y = turbModel.y()[patchi];
|
||||||
const tmp<volScalarField> tk = rasModel.k();
|
const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
|
||||||
|
const tmp<volScalarField> tk = turbModel.k();
|
||||||
const volScalarField& k = tk();
|
const volScalarField& k = tk();
|
||||||
const scalarField& muw = rasModel.mu().boundaryField()[patchI];
|
const scalarField& muw = turbModel.mu().boundaryField()[patchi];
|
||||||
|
|
||||||
const scalar Cmu25 = pow(Cmu_, 0.25);
|
const scalar Cmu25 = pow025(Cmu_);
|
||||||
|
|
||||||
tmp<scalarField> tmutw(new scalarField(patch().size(), 0.0));
|
tmp<scalarField> tmutw(new scalarField(patch().size(), 0.0));
|
||||||
scalarField& mutw = tmutw();
|
scalarField& mutw = tmutw();
|
||||||
|
@ -202,18 +203,19 @@ void mutkWallFunctionFvPatchScalarField::updateCoeffs()
|
||||||
|
|
||||||
tmp<scalarField> mutkWallFunctionFvPatchScalarField::yPlus() const
|
tmp<scalarField> mutkWallFunctionFvPatchScalarField::yPlus() const
|
||||||
{
|
{
|
||||||
const label patchI = patch().index();
|
const label patchi = patch().index();
|
||||||
|
|
||||||
const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
|
const turbulenceModel& turbModel =
|
||||||
const scalarField& y = rasModel.y()[patchI];
|
db().lookupObject<turbulenceModel>("turbulenceModel");
|
||||||
|
const scalarField& y = turbModel.y()[patchi];
|
||||||
|
|
||||||
const tmp<volScalarField> tk = rasModel.k();
|
const tmp<volScalarField> tk = turbModel.k();
|
||||||
const volScalarField& k = tk();
|
const volScalarField& k = tk();
|
||||||
const scalarField kwc = k.boundaryField()[patchI].patchInternalField();
|
const scalarField kwc(k.boundaryField()[patchi].patchInternalField());
|
||||||
const scalarField& muw = rasModel.mu().boundaryField()[patchI];
|
const scalarField& muw = turbModel.mu().boundaryField()[patchi];
|
||||||
const scalarField& rhow = rasModel.rho().boundaryField()[patchI];
|
const scalarField& rhow = turbModel.rho().boundaryField()[patchi];
|
||||||
|
|
||||||
return pow(Cmu_, 0.25)*y*sqrt(kwc)/(muw/rhow);
|
return pow025(Cmu_)*y*sqrt(kwc)/(muw/rhow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ kEpsilon::kEpsilon
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -102,7 +102,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -117,10 +117,12 @@ kOmegaSST::kOmegaSST
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
alphaK1_
|
alphaK1_
|
||||||
(
|
(
|
||||||
|
|
|
@ -210,7 +210,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,10 +47,12 @@ laminar::laminar
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel)
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -90,10 +90,12 @@ realizableKE::realizableKE
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, rho, U, phi, thermophysicalModel),
|
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -123,7 +123,9 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,10 +51,11 @@ laminar::laminar
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
turbulenceModel(rho, U, phi, thermophysicalModel)
|
turbulenceModel(rho, U, phi, thermophysicalModel, turbulenceModelName)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,10 +66,14 @@ autoPtr<laminar> laminar::New
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return autoPtr<laminar>(new laminar(rho, U, phi, thermophysicalModel));
|
return autoPtr<laminar>
|
||||||
|
(
|
||||||
|
new laminar(rho, U, phi, thermophysicalModel, turbulenceModelName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -229,7 +234,7 @@ void laminar::correct()
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
} // End namespace incompressible
|
} // End namespace compressible
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|
|
@ -66,7 +66,8 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,7 +79,8 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermophysicalModel
|
const basicThermo& thermophysicalModel,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -134,7 +136,7 @@ public:
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
} // End namespace incompressible
|
} // End namespace compressible
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
|
@ -50,6 +50,7 @@ SourceFiles
|
||||||
#include "surfaceFieldsFwd.H"
|
#include "surfaceFieldsFwd.H"
|
||||||
#include "fvMatricesFwd.H"
|
#include "fvMatricesFwd.H"
|
||||||
#include "basicThermo.H"
|
#include "basicThermo.H"
|
||||||
|
#include "nearWallDist.H"
|
||||||
#include "autoPtr.H"
|
#include "autoPtr.H"
|
||||||
#include "runTimeSelectionTables.H"
|
#include "runTimeSelectionTables.H"
|
||||||
|
|
||||||
|
@ -69,6 +70,8 @@ namespace compressible
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class turbulenceModel
|
class turbulenceModel
|
||||||
|
:
|
||||||
|
public regIOobject
|
||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -84,6 +87,9 @@ protected:
|
||||||
|
|
||||||
const basicThermo& thermophysicalModel_;
|
const basicThermo& thermophysicalModel_;
|
||||||
|
|
||||||
|
//- Near wall distance boundary field
|
||||||
|
nearWallDist y_;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -114,9 +120,10 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName
|
||||||
),
|
),
|
||||||
(rho, U, phi, thermoPhysicalModel)
|
(rho, U, phi, thermoPhysicalModel, turbulenceModelName)
|
||||||
);
|
);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -129,19 +136,21 @@ public:
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
// Selectors
|
||||||
|
|
||||||
//- Return a reference to the selected turbulence model
|
//- Return a reference to the selected turbulence model
|
||||||
static autoPtr<compressible::turbulenceModel> New
|
static autoPtr<turbulenceModel> New
|
||||||
(
|
(
|
||||||
const volScalarField& rho,
|
const volScalarField& rho,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
const basicThermo& thermoPhysicalModel
|
const basicThermo& thermoPhysicalModel,
|
||||||
|
const word& turbulenceModelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -176,6 +185,15 @@ public:
|
||||||
return thermophysicalModel_;
|
return thermophysicalModel_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//- Return the near wall distances
|
||||||
|
const nearWallDist& y() const
|
||||||
|
{
|
||||||
|
return y_;
|
||||||
|
}
|
||||||
|
|
||||||
|
//- Calculate y+ at the edge of the laminar sublayer
|
||||||
|
scalar yPlusLam(const scalar kappa, const scalar E) const;
|
||||||
|
|
||||||
//- Return the laminar viscosity
|
//- Return the laminar viscosity
|
||||||
const volScalarField& mu() const
|
const volScalarField& mu() const
|
||||||
{
|
{
|
||||||
|
@ -224,6 +242,13 @@ public:
|
||||||
|
|
||||||
//- Read turbulenceProperties dictionary
|
//- Read turbulenceProperties dictionary
|
||||||
virtual bool read() = 0;
|
virtual bool read() = 0;
|
||||||
|
|
||||||
|
//- Default dummy write function
|
||||||
|
virtual bool writeData(Ostream&) const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,10 +55,12 @@ DeardorffDiffStress::DeardorffDiffStress
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenSGSStress(U, phi, transport),
|
GenSGSStress(U, phi, transport),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
|
|
|
@ -100,7 +100,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,10 +57,11 @@ LESModel::LESModel
|
||||||
const word& type,
|
const word& type,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
turbulenceModel(U, phi, lamTransportModel),
|
turbulenceModel(U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
IOdictionary
|
IOdictionary
|
||||||
(
|
(
|
||||||
|
@ -69,7 +70,7 @@ LESModel::LESModel
|
||||||
"LESProperties",
|
"LESProperties",
|
||||||
U.time().constant(),
|
U.time().constant(),
|
||||||
U.db(),
|
U.db(),
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ_IF_MODIFIED,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
@ -94,7 +95,8 @@ autoPtr<LESModel> LESModel::New
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
word modelName;
|
word modelName;
|
||||||
|
@ -110,8 +112,9 @@ autoPtr<LESModel> LESModel::New
|
||||||
"LESProperties",
|
"LESProperties",
|
||||||
U.time().constant(),
|
U.time().constant(),
|
||||||
U.db(),
|
U.db(),
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ_IF_MODIFIED,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -136,7 +139,10 @@ autoPtr<LESModel> LESModel::New
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
return autoPtr<LESModel>(cstrIter()(U, phi, transport));
|
return autoPtr<LESModel>
|
||||||
|
(
|
||||||
|
cstrIter()(U, phi, transport, turbulenceModelName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -157,7 +163,22 @@ void LESModel::correct()
|
||||||
|
|
||||||
bool LESModel::read()
|
bool LESModel::read()
|
||||||
{
|
{
|
||||||
if (regIOobject::read())
|
//if (regIOobject::read())
|
||||||
|
|
||||||
|
// Bit of trickery : we are both IOdictionary ('RASProperties') and
|
||||||
|
// an regIOobject from the turbulenceModel level. Problem is to distinguish
|
||||||
|
// between the two - we only want to reread the IOdictionary.
|
||||||
|
|
||||||
|
bool ok = IOdictionary::readData
|
||||||
|
(
|
||||||
|
IOdictionary::readStream
|
||||||
|
(
|
||||||
|
IOdictionary::type()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
IOdictionary::close();
|
||||||
|
|
||||||
|
if (ok)
|
||||||
{
|
{
|
||||||
if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
|
if (const dictionary* dictPtr = subDictPtr(type() + "Coeffs"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -120,9 +120,10 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName
|
||||||
),
|
),
|
||||||
(U, phi, lamTransportModel)
|
(U, phi, transport, turbulenceModelName)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -134,7 +135,8 @@ public:
|
||||||
const word& type,
|
const word& type,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -145,7 +147,8 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,10 +55,12 @@ LRRDiffStress::LRRDiffStress
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenSGSStress(U, phi, transport),
|
GenSGSStress(U, phi, transport),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
|
|
|
@ -99,7 +99,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,10 +55,12 @@ Smagorinsky::Smagorinsky
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenEddyVisc(U, phi, transport),
|
GenEddyVisc(U, phi, transport),
|
||||||
|
|
||||||
ck_
|
ck_
|
||||||
|
|
|
@ -96,7 +96,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,12 @@ Smagorinsky2::Smagorinsky2
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
Smagorinsky(U, phi, transport),
|
Smagorinsky(U, phi, transport),
|
||||||
|
|
||||||
cD2_
|
cD2_
|
||||||
|
|
|
@ -93,7 +93,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -149,10 +149,11 @@ SpalartAllmaras::SpalartAllmaras
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport,
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
const word& modelName
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(modelName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
sigmaNut_
|
sigmaNut_
|
||||||
(
|
(
|
||||||
|
|
|
@ -138,6 +138,7 @@ public:
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport,
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
const word& modelName = typeName
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -93,10 +93,12 @@ SpalartAllmarasDDES::SpalartAllmarasDDES
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
SpalartAllmaras(U, phi, transport, typeName)
|
SpalartAllmaras(U, phi, transport, turbulenceModelName, modelName)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -143,10 +143,12 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
SpalartAllmaras(U, phi, transport, typeName),
|
SpalartAllmaras(U, phi, transport, turbulenceModelName, modelName),
|
||||||
|
|
||||||
fwStar_
|
fwStar_
|
||||||
(
|
(
|
||||||
|
|
|
@ -104,7 +104,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,12 @@ dynMixedSmagorinsky::dynMixedSmagorinsky
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
scaleSimilarity(U, phi, transport),
|
scaleSimilarity(U, phi, transport),
|
||||||
dynSmagorinsky(U, phi, transport)
|
dynSmagorinsky(U, phi, transport)
|
||||||
{
|
{
|
||||||
|
|
|
@ -99,7 +99,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,10 +104,12 @@ dynOneEqEddy::dynOneEqEddy
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenEddyVisc(U, phi, transport),
|
GenEddyVisc(U, phi, transport),
|
||||||
|
|
||||||
k_
|
k_
|
||||||
|
|
|
@ -110,7 +110,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,10 +95,12 @@ dynSmagorinsky::dynSmagorinsky
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenEddyVisc(U, phi, transport),
|
GenEddyVisc(U, phi, transport),
|
||||||
|
|
||||||
k_
|
k_
|
||||||
|
|
|
@ -119,7 +119,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -121,6 +121,7 @@ kOmegaSSTSAS::kOmegaSSTSAS
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport,
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
const word& modelName
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
|
|
|
@ -184,6 +184,7 @@ public:
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport,
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
const word& modelName = typeName
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -47,10 +47,12 @@ laminar::laminar
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport)
|
LESModel(modelName, U, phi, transport, turbulenceModelName)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,10 +95,12 @@ locDynOneEqEddy::locDynOneEqEddy
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenEddyVisc(U, phi, transport),
|
GenEddyVisc(U, phi, transport),
|
||||||
|
|
||||||
k_
|
k_
|
||||||
|
|
|
@ -132,7 +132,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,12 @@ mixedSmagorinsky::mixedSmagorinsky
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
scaleSimilarity(U, phi, transport),
|
scaleSimilarity(U, phi, transport),
|
||||||
Smagorinsky(U, phi, transport)
|
Smagorinsky(U, phi, transport)
|
||||||
{
|
{
|
||||||
|
|
|
@ -99,7 +99,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,10 +56,12 @@ oneEqEddy::oneEqEddy
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenEddyVisc(U, phi, transport),
|
GenEddyVisc(U, phi, transport),
|
||||||
|
|
||||||
k_
|
k_
|
||||||
|
|
|
@ -102,7 +102,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -65,10 +65,12 @@ spectEddyVisc::spectEddyVisc
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
LESModel(typeName, U, phi, transport),
|
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
GenEddyVisc(U, phi, transport),
|
GenEddyVisc(U, phi, transport),
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,10 +48,12 @@ LRR::LRR
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -109,7 +109,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,10 +48,12 @@ LamBremhorstKE::LamBremhorstKE
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -86,7 +86,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,10 +48,12 @@ LaunderGibsonRSTM::LaunderGibsonRSTM
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -120,7 +120,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -64,10 +64,12 @@ LaunderSharmaKE::LaunderSharmaKE
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -102,7 +102,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,10 +48,12 @@ LienCubicKE::LienCubicKE
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
C1_
|
C1_
|
||||||
(
|
(
|
||||||
|
|
|
@ -119,7 +119,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ LienCubicKELowRe::LienCubicKELowRe
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
C1_
|
C1_
|
||||||
(
|
(
|
||||||
|
|
|
@ -125,7 +125,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ LienLeschzinerLowRe::LienLeschzinerLowRe
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
C1_
|
C1_
|
||||||
(
|
(
|
||||||
|
|
|
@ -95,7 +95,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,10 +47,12 @@ NonlinearKEShih::NonlinearKEShih
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
C1_
|
C1_
|
||||||
(
|
(
|
||||||
|
|
|
@ -101,7 +101,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,10 +57,11 @@ RASModel::RASModel
|
||||||
const word& type,
|
const word& type,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
turbulenceModel(U, phi, lamTransportModel),
|
turbulenceModel(U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
IOdictionary
|
IOdictionary
|
||||||
(
|
(
|
||||||
|
@ -69,7 +70,7 @@ RASModel::RASModel
|
||||||
"RASProperties",
|
"RASProperties",
|
||||||
U.time().constant(),
|
U.time().constant(),
|
||||||
U.db(),
|
U.db(),
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ_IF_MODIFIED,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
@ -83,9 +84,7 @@ RASModel::RASModel
|
||||||
epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL),
|
epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL),
|
||||||
omega0_("omega0", dimless/dimTime, SMALL),
|
omega0_("omega0", dimless/dimTime, SMALL),
|
||||||
omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL),
|
omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL),
|
||||||
nuRatio_(lookupOrDefault<scalar>("nuRatio", 1e6)),
|
nuRatio_(lookupOrDefault<scalar>("nuRatio", 1e6))
|
||||||
|
|
||||||
y_(mesh_)
|
|
||||||
{
|
{
|
||||||
// Force the construction of the mesh deltaCoeffs which may be needed
|
// Force the construction of the mesh deltaCoeffs which may be needed
|
||||||
// for the construction of the derived models and BCs
|
// for the construction of the derived models and BCs
|
||||||
|
@ -99,7 +98,8 @@ autoPtr<RASModel> RASModel::New
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
word modelName;
|
word modelName;
|
||||||
|
@ -141,7 +141,10 @@ autoPtr<RASModel> RASModel::New
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
return autoPtr<RASModel>(cstrIter()(U, phi, transport));
|
return autoPtr<RASModel>
|
||||||
|
(
|
||||||
|
cstrIter()(U, phi, transport, turbulenceModelName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -208,17 +211,27 @@ tmp<scalarField> RASModel::yPlus(const label patchNo, const scalar Cmu) const
|
||||||
void RASModel::correct()
|
void RASModel::correct()
|
||||||
{
|
{
|
||||||
turbulenceModel::correct();
|
turbulenceModel::correct();
|
||||||
|
|
||||||
if (turbulence_ && mesh_.changing())
|
|
||||||
{
|
|
||||||
y_.correct();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool RASModel::read()
|
bool RASModel::read()
|
||||||
{
|
{
|
||||||
if (regIOobject::read())
|
//if (regIOobject::read())
|
||||||
|
|
||||||
|
// Bit of trickery : we are both IOdictionary ('RASProperties') and
|
||||||
|
// an regIOobject from the turbulenceModel level. Problem is to distinguish
|
||||||
|
// between the two - we only want to reread the IOdictionary.
|
||||||
|
|
||||||
|
bool ok = IOdictionary::readData
|
||||||
|
(
|
||||||
|
IOdictionary::readStream
|
||||||
|
(
|
||||||
|
IOdictionary::type()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
IOdictionary::close();
|
||||||
|
|
||||||
|
if (ok)
|
||||||
{
|
{
|
||||||
lookup("turbulence") >> turbulence_;
|
lookup("turbulence") >> turbulence_;
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,6 @@ SourceFiles
|
||||||
#include "incompressible/turbulenceModel/turbulenceModel.H"
|
#include "incompressible/turbulenceModel/turbulenceModel.H"
|
||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
#include "surfaceFields.H"
|
#include "surfaceFields.H"
|
||||||
#include "nearWallDist.H"
|
|
||||||
#include "fvm.H"
|
#include "fvm.H"
|
||||||
#include "fvc.H"
|
#include "fvc.H"
|
||||||
#include "fvMatrices.H"
|
#include "fvMatrices.H"
|
||||||
|
@ -103,9 +102,6 @@ protected:
|
||||||
//- Laminar to turbulent viscosity ratio
|
//- Laminar to turbulent viscosity ratio
|
||||||
scalar nuRatio_;
|
scalar nuRatio_;
|
||||||
|
|
||||||
//- Near wall distance boundary field
|
|
||||||
nearWallDist y_;
|
|
||||||
|
|
||||||
|
|
||||||
// Protected member functions
|
// Protected member functions
|
||||||
|
|
||||||
|
@ -140,9 +136,10 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName
|
||||||
),
|
),
|
||||||
(U, phi, lamTransportModel)
|
(U, phi, transport, turbulenceModelName)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,18 +151,20 @@ public:
|
||||||
const word& type,
|
const word& type,
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
// Selectors
|
||||||
|
|
||||||
//- Return a reference to the selected RAS model
|
//- Return a reference to the selected RAS model
|
||||||
static autoPtr<incompressible::RASModel> New
|
static autoPtr<RASModel> New
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,10 +48,12 @@ RNGkEpsilon::RNGkEpsilon
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -100,7 +100,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -109,10 +109,12 @@ SpalartAllmaras::SpalartAllmaras
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
sigmaNut_
|
sigmaNut_
|
||||||
(
|
(
|
||||||
|
|
|
@ -144,7 +144,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,12 @@ coupledKEpsilon::coupledKEpsilon
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
Cmu_
|
Cmu_
|
||||||
(
|
(
|
||||||
|
|
|
@ -102,7 +102,9 @@ public:
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& transport
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||||
|
const word& modelName = typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -117,10 +117,12 @@ coupledKOmegaSST::coupledKOmegaSST
|
||||||
(
|
(
|
||||||
const volVectorField& U,
|
const volVectorField& U,
|
||||||
const surfaceScalarField& phi,
|
const surfaceScalarField& phi,
|
||||||
transportModel& lamTransportModel
|
transportModel& transport,
|
||||||
|
const word& turbulenceModelName,
|
||||||
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
RASModel(typeName, U, phi, lamTransportModel),
|
RASModel(modelName, U, phi, transport, turbulenceModelName),
|
||||||
|
|
||||||
alphaK1_
|
alphaK1_
|
||||||
(
|
(
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue