updated to reflect changes in turbulence models

This commit is contained in:
andy
2008-06-20 15:13:10 +01:00
parent b0f29324b2
commit 6e07a1511f
6 changed files with 247 additions and 281 deletions

View File

@ -11,9 +11,9 @@ EXE_LIBS = \
$(FOAM_LIBBIN)/postCalc.o \ $(FOAM_LIBBIN)/postCalc.o \
-lfiniteVolume \ -lfiniteVolume \
-lincompressibleTransportModels \ -lincompressibleTransportModels \
-lincompressibleRASmodels \ -lincompressibleRASModels \
-lincompressibleLESmodels \ -lincompressibleLESModels \
-lbasicThermophysicalModels \ -lbasicThermophysicalModels \
-lspecie \ -lspecie \
-lcompressibleRASmodels \ -lcompressibleRASModels \
-lcompressibleLESmodels -lcompressibleLESModels

View File

@ -39,12 +39,12 @@ Description
#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H" #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
#include "incompressible/RASmodel/RASmodel.H" #include "incompressible/RASModel/RASModel.H"
#include "incompressible/LESmodel/LESmodel.H" #include "incompressible/LESModel/LESModel.H"
#include "basicThermo.H" #include "basicThermo.H"
#include "compressible/RASmodel/RASmodel.H" #include "compressible/RASModel/RASModel.H"
#include "compressible/LESmodel/LESmodel.H" #include "compressible/LESModel/LESModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -127,9 +127,9 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0)) if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
{ {
IOobject turbulencePropertiesHeader IOobject RASPropertiesHeader
( (
"turbulenceProperties", "RASProperties",
runTime.constant(), runTime.constant(),
mesh, mesh,
IOobject::MUST_READ, IOobject::MUST_READ,
@ -137,47 +137,45 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
false false
); );
if (turbulencePropertiesHeader.headerOk()) IOobject LESPropertiesHeader
{
IOdictionary turbulenceProperties
( (
turbulencePropertiesHeader "RASProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
); );
singlePhaseTransportModel laminarTransport(U, phi); singlePhaseTransportModel laminarTransport(U, phi);
if (turbulenceProperties.found("RASmodel")) if (RASPropertiesHeader.headerOk())
{ {
autoPtr<incompressible::RASmodel> RASmodel IOdictionary RASProperties(RASPropertiesHeader);
autoPtr<incompressible::RASModel> RASModel
( (
incompressible::RASmodel::New incompressible::RASModel::New
( (
U, U,
phi, phi,
laminarTransport laminarTransport
) )
); );
execFlowFunctionObjects(args, runTime); execFlowFunctionObjects(args, runTime);
} }
else if (turbulenceProperties.found("LESmodel")) else if (LESPropertiesHeader.headerOk())
{ {
autoPtr<incompressible::LESmodel> sgsModel IOdictionary LESProperties(LESPropertiesHeader);
autoPtr<incompressible::LESModel> sgsModel
( (
incompressible::LESmodel::New(U, phi, laminarTransport) incompressible::LESModel::New(U, phi, laminarTransport)
); );
execFlowFunctionObjects(args, runTime); execFlowFunctionObjects(args, runTime);
} }
else else
{
FatalErrorIn(args.executable())
<< "Cannot find turbulence model type in "
<< "RASmodel dictionary"
<< nl << exit(FatalError);
}
}
else
{ {
IOdictionary transportProperties IOdictionary transportProperties
( (
@ -191,20 +189,14 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
) )
); );
dimensionedScalar nu dimensionedScalar nu(transportProperties.lookup("nu"));
(
transportProperties.lookup("nu")
);
execFlowFunctionObjects(args, runTime); execFlowFunctionObjects(args, runTime);
} }
} }
else if (phi.dimensions() == dimensionSet(1, 0, -1, 0, 0)) else if (phi.dimensions() == dimensionSet(1, 0, -1, 0, 0))
{ {
autoPtr<basicThermo> thermo autoPtr<basicThermo> thermo(basicThermo::New(mesh));
(
basicThermo::New(mesh)
);
volScalarField rho volScalarField rho
( (
@ -217,9 +209,9 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
thermo->rho() thermo->rho()
); );
IOobject turbulencePropertiesHeader IOobject RASPropertiesHeader
( (
"turbulenceProperties", "RASProperties",
runTime.constant(), runTime.constant(),
mesh, mesh,
IOobject::MUST_READ, IOobject::MUST_READ,
@ -227,18 +219,23 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
false false
); );
if (turbulencePropertiesHeader.headerOk()) IOobject LESPropertiesHeader
{
IOdictionary turbulenceProperties
( (
turbulencePropertiesHeader "LESProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
); );
if (turbulenceProperties.found("RASmodel")) if (RASPropertiesHeader.headerOk())
{ {
autoPtr<compressible::RASmodel> RASmodel IOdictionary RASProperties(RASPropertiesHeader);
autoPtr<compressible::RASModel> RASModel
( (
compressible::RASmodel::New compressible::RASModel::New
( (
rho, rho,
U, U,
@ -249,24 +246,18 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
execFlowFunctionObjects(args, runTime); execFlowFunctionObjects(args, runTime);
} }
else if (turbulenceProperties.found("LESmodel")) else if (LESPropertiesHeader.headerOk())
{ {
autoPtr<compressible::LESmodel> sgsModel IOdictionary LESProperties(LESPropertiesHeader);
autoPtr<compressible::LESModel> sgsModel
( (
compressible::LESmodel::New(rho, U, phi, thermo()) compressible::LESModel::New(rho, U, phi, thermo())
); );
execFlowFunctionObjects(args, runTime); execFlowFunctionObjects(args, runTime);
} }
else else
{
FatalErrorIn(args.executable())
<< "Cannot find turbulence model type in "
<< "RASmodel dictionary"
<< nl << exit(FatalError);
}
}
else
{ {
IOdictionary transportProperties IOdictionary transportProperties
( (
@ -280,10 +271,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
) )
); );
dimensionedScalar mu dimensionedScalar mu(transportProperties.lookup("mu"));
(
transportProperties.lookup("mu")
);
execFlowFunctionObjects(args, runTime); execFlowFunctionObjects(args, runTime);
} }

View File

@ -14,9 +14,9 @@ EXE_LIBS = \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-lincompressibleTransportModels \ -lincompressibleTransportModels \
-lincompressibleRASmodels \ -lincompressibleRASModels \
-lincompressibleLESmodels \ -lincompressibleLESModels \
-lbasicThermophysicalModels \ -lbasicThermophysicalModels \
-lspecie \ -lspecie \
-lcompressibleRASmodels \ -lcompressibleRASModels \
-lcompressibleLESmodels -lcompressibleLESModels

View File

@ -37,11 +37,11 @@ Description
#include "fvc.H" #include "fvc.H"
#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H" #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
#include "incompressible/RASmodel/RASmodel.H" #include "incompressible/RASModel/RASModel.H"
#include "incompressible/LESmodel/LESmodel.H" #include "incompressible/LESModel/LESModel.H"
#include "basicThermo.H" #include "basicThermo.H"
#include "compressible/RASmodel/RASmodel.H" #include "compressible/RASModel/RASModel.H"
#include "compressible/LESmodel/LESmodel.H" #include "compressible/LESModel/LESModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -76,33 +76,37 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
mesh mesh
); );
Info<< " Calculating Pe" << endl; IOobject RASPropertiesHeader
if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
{
IOobject turbulencePropertiesHeader
( (
"turbulenceProperties", "RASProperties",
runTime.constant(), runTime.constant(),
mesh, mesh,
IOobject::MUST_READ, IOobject::MUST_READ,
IOobject::NO_WRITE IOobject::NO_WRITE
); );
if (turbulencePropertiesHeader.headerOk()) IOobject LESPropertiesHeader
{
IOdictionary turbulenceProperties
( (
turbulencePropertiesHeader "LESProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
); );
Info<< " Calculating Pe" << endl;
if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
{
if (RASPropertiesHeader.headerOk())
{
IOdictionary RASProperties(RASPropertiesHeader);
singlePhaseTransportModel laminarTransport(U, phi); singlePhaseTransportModel laminarTransport(U, phi);
if (turbulenceProperties.found("RASmodel")) autoPtr<incompressible::RASModel> RASModel
{
autoPtr<incompressible::RASmodel> RASmodel
( (
incompressible::RASmodel::New incompressible::RASModel::New
( (
U, U,
phi, phi,
@ -121,20 +125,24 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
mesh, mesh,
IOobject::NO_READ IOobject::NO_READ
), ),
mag(phi) / mag(phi)
( /(
mesh.magSf() mesh.magSf()
* mesh.surfaceInterpolation::deltaCoeffs() * mesh.surfaceInterpolation::deltaCoeffs()
* fvc::interpolate(RASmodel->nuEff()) * fvc::interpolate(RASModel->nuEff())
) )
) )
); );
} }
else if (turbulenceProperties.found("LESmodel")) else if (LESPropertiesHeader.headerOk())
{ {
autoPtr<incompressible::LESmodel> sgsModel IOdictionary LESProperties(LESPropertiesHeader);
singlePhaseTransportModel laminarTransport(U, phi);
autoPtr<incompressible::LESModel> sgsModel
( (
incompressible::LESmodel::New(U, phi, laminarTransport) incompressible::LESModel::New(U, phi, laminarTransport)
); );
PePtr.set PePtr.set
@ -148,8 +156,8 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
mesh, mesh,
IOobject::NO_READ IOobject::NO_READ
), ),
mag(phi) / mag(phi)
( /(
mesh.magSf() mesh.magSf()
* mesh.surfaceInterpolation::deltaCoeffs() * mesh.surfaceInterpolation::deltaCoeffs()
* fvc::interpolate(sgsModel->nuEff()) * fvc::interpolate(sgsModel->nuEff())
@ -158,14 +166,6 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
); );
} }
else else
{
FatalErrorIn(args.executable())
<< "Cannot find turbulence model type in "
"RASmodel dictionary"
<< exit(FatalError);
}
}
else
{ {
IOdictionary transportProperties IOdictionary transportProperties
( (
@ -179,10 +179,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
) )
); );
dimensionedScalar nu dimensionedScalar nu(transportProperties.lookup("nu"));
(
transportProperties.lookup("nu")
);
PePtr.set PePtr.set
( (
@ -203,26 +200,11 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
} }
else if (phi.dimensions() == dimensionSet(1, 0, -1, 0, 0)) else if (phi.dimensions() == dimensionSet(1, 0, -1, 0, 0))
{ {
IOobject turbulencePropertiesHeader if (RASPropertiesHeader.headerOk())
(
"turbulenceProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
);
if (turbulencePropertiesHeader.headerOk())
{ {
IOdictionary turbulenceProperties IOdictionary RASProperties(RASPropertiesHeader);
(
turbulencePropertiesHeader
);
autoPtr<basicThermo> thermo autoPtr<basicThermo> thermo(basicThermo::New(mesh));
(
basicThermo::New(mesh)
);
volScalarField rho volScalarField rho
( (
@ -235,11 +217,9 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
thermo->rho() thermo->rho()
); );
if (turbulenceProperties.found("RASmodel")) autoPtr<compressible::RASModel> RASModel
{
autoPtr<compressible::RASmodel> RASmodel
( (
compressible::RASmodel::New compressible::RASModel::New
( (
rho, rho,
U, U,
@ -259,20 +239,35 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
mesh, mesh,
IOobject::NO_READ IOobject::NO_READ
), ),
mag(phi) / mag(phi)
( /(
mesh.magSf() mesh.magSf()
* mesh.surfaceInterpolation::deltaCoeffs() * mesh.surfaceInterpolation::deltaCoeffs()
* fvc::interpolate(RASmodel->muEff()) * fvc::interpolate(RASModel->muEff())
) )
) )
); );
} }
else if (turbulenceProperties.found("LESmodel")) else if (LESPropertiesHeader.headerOk())
{ {
autoPtr<compressible::LESmodel> sgsModel IOdictionary LESProperties(LESPropertiesHeader);
autoPtr<basicThermo> thermo(basicThermo::New(mesh));
volScalarField rho
( (
compressible::LESmodel::New(rho, U, phi, thermo()) IOobject
(
"rho",
runTime.timeName(),
mesh
),
thermo->rho()
);
autoPtr<compressible::LESModel> sgsModel
(
compressible::LESModel::New(rho, U, phi, thermo())
); );
PePtr.set PePtr.set
@ -286,8 +281,8 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
mesh, mesh,
IOobject::NO_READ IOobject::NO_READ
), ),
mag(phi) / mag(phi)
( /(
mesh.magSf() mesh.magSf()
* mesh.surfaceInterpolation::deltaCoeffs() * mesh.surfaceInterpolation::deltaCoeffs()
* fvc::interpolate(sgsModel->muEff()) * fvc::interpolate(sgsModel->muEff())
@ -296,14 +291,6 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
); );
} }
else else
{
FatalErrorIn(args.executable())
<< "Cannot find turbulence model type in"
"RASmodel dictionary"
<< exit(FatalError);
}
}
else
{ {
IOdictionary transportProperties IOdictionary transportProperties
( (
@ -317,10 +304,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
) )
); );
dimensionedScalar mu dimensionedScalar mu(transportProperties.lookup("mu"));
(
transportProperties.lookup("mu")
);
PePtr.set PePtr.set
( (

View File

@ -12,9 +12,9 @@ LIB_LIBS = \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-lincompressibleTransportModels \ -lincompressibleTransportModels \
-lincompressibleRASmodels \ -lincompressibleRASModels \
-lincompressibleLESmodels \ -lincompressibleLESModels \
-lbasicThermophysicalModels \ -lbasicThermophysicalModels \
-lspecie \ -lspecie \
-lcompressibleRASmodels \ -lcompressibleRASModels \
-lcompressibleLESmodels -lcompressibleLESModels

View File

@ -30,11 +30,11 @@ License
#include "Time.H" #include "Time.H"
#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H" #include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
#include "incompressible/RASmodel/RASmodel.H" #include "incompressible/RASModel/RASModel.H"
#include "incompressible/LESmodel/LESmodel.H" #include "incompressible/LESModel/LESModel.H"
#include "basicThermo.H" #include "basicThermo.H"
#include "compressible/RASmodel/RASmodel.H" #include "compressible/RASModel/RASModel.H"
#include "compressible/LESmodel/LESmodel.H" #include "compressible/LESModel/LESModel.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -48,37 +48,31 @@ namespace Foam
Foam::tmp<Foam::volSymmTensorField> Foam::forces::devRhoReff() const Foam::tmp<Foam::volSymmTensorField> Foam::forces::devRhoReff() const
{ {
if if (obr_.foundObject<compressible::RASModel>("RASProperties"))
(
obr_.foundObject<compressible::RASmodel>("turbulenceProperties")
)
{ {
const compressible::RASmodel& ras const compressible::RASModel& ras
= obr_.lookupObject<compressible::RASmodel> = obr_.lookupObject<compressible::RASModel>("RASProperties");
("turbulenceProperties");
return ras.devRhoReff(); return ras.devRhoReff();
} }
else if (obr_.foundObject<incompressible::RASmodel>("turbulenceProperties")) else if (obr_.foundObject<incompressible::RASModel>("RASProperties"))
{ {
const incompressible::RASmodel& ras const incompressible::RASModel& ras
= obr_.lookupObject<incompressible::RASmodel> = obr_.lookupObject<incompressible::RASModel>("RASProperties");
("turbulenceProperties");
return rhoRef_*ras.devReff(); return rhoRef_*ras.devReff();
} }
else if (obr_.foundObject<compressible::LESmodel>("turbulenceProperties")) else if (obr_.foundObject<compressible::LESModel>("LESProperties"))
{ {
const compressible::LESmodel& les = const compressible::LESModel& les =
obr_.lookupObject<compressible::LESmodel> obr_.lookupObject<compressible::LESModel>("LESProperties");
("turbulenceProperties");
return les.devRhoBeff(); return les.devRhoBeff();
} }
else if (obr_.foundObject<incompressible::LESmodel>("turbulenceProperties")) else if (obr_.foundObject<incompressible::LESModel>("LESProperties"))
{ {
const incompressible::LESmodel& les const incompressible::LESModel& les
= obr_.lookupObject<incompressible::LESmodel>("turbulenceProperties"); = obr_.lookupObject<incompressible::LESModel>("LESProperties");
return rhoRef_*les.devBeff(); return rhoRef_*les.devBeff();
} }