MomentumTransportModels: Library builds of multiphase models
The MomentumTransportModels library now builds of a standard set of phase-incompressible and phase-compressible models. This replaces most solver-specific builds of these models. This has been made possible by the addition of a new "dynamicTransportModel" interface, from which all transport classes used by the momentum transport models now derive. For the purpose of disambiguation, the old "transportModel" has also been renamed "kinematicTransportModel". This change has been made in order to create a consistent definition of phase-incompressible and phase-compressible MomentumTransportModels, which can then be looked up by functionObjects, fvModels, and similar. Some solvers still build specific momentum transport models, but these are now in addition to the standard set. The solver does not build all the models it uses. There are also corresponding centralised builds of phase dependent ThermophysicalTransportModels.
This commit is contained in:
@ -5,6 +5,7 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/fileFormats/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/lnInclude \
|
||||
@ -17,10 +18,10 @@ LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lfluidThermophysicalModels \
|
||||
-lsolidThermo \
|
||||
-lincompressibleTransportModels \
|
||||
-ltransportModels \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lfluidThermoMomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-lthermophysicalTransportModels \
|
||||
-lmeshTools \
|
||||
-lsurfMesh \
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -27,7 +27,7 @@ License
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "kinematicMomentumTransportModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -25,7 +25,8 @@ License
|
||||
|
||||
#include "wallHeatTransferCoeff.H"
|
||||
#include "kinematicMomentumTransportModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "basicThermo.H"
|
||||
#include "wallPolyPatch.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
@ -99,13 +100,7 @@ bool Foam::functionObjects::wallHeatTransferCoeff::read(const dictionary& dict)
|
||||
fvMeshFunctionObject::read(dict);
|
||||
writeLocalObjects::read(dict);
|
||||
|
||||
const momentumTransportModel& mmtm =
|
||||
lookupObject<momentumTransportModel>
|
||||
(
|
||||
momentumTransportModel::typeName
|
||||
);
|
||||
|
||||
if (isA<incompressible::momentumTransportModel>(mmtm))
|
||||
if (!foundObject<basicThermo>(basicThermo::dictName))
|
||||
{
|
||||
rho_.read(dict);
|
||||
Cp_.read(dict);
|
||||
@ -169,25 +164,25 @@ bool Foam::functionObjects::wallHeatTransferCoeff::read(const dictionary& dict)
|
||||
|
||||
bool Foam::functionObjects::wallHeatTransferCoeff::execute()
|
||||
{
|
||||
tmp<volScalarField> thtc;
|
||||
const momentumTransportModel& mmtm =
|
||||
lookupObject<momentumTransportModel>
|
||||
(
|
||||
momentumTransportModel::typeName
|
||||
);
|
||||
|
||||
tmp<volScalarField> thtc;
|
||||
thtc = coeffModel_->htcByRhoCp(mmtm, patchSet_);
|
||||
|
||||
if (isA<incompressible::momentumTransportModel>(mmtm))
|
||||
if (!foundObject<basicThermo>(basicThermo::dictName))
|
||||
{
|
||||
thtc.ref() *= rho_*Cp_;
|
||||
}
|
||||
else if (isA<compressible::momentumTransportModel>(mmtm))
|
||||
else
|
||||
{
|
||||
const compressible::momentumTransportModel& mtm =
|
||||
refCast<const compressible::momentumTransportModel>(mmtm);
|
||||
const basicThermo& thermo =
|
||||
lookupObject<basicThermo>(basicThermo::dictName);
|
||||
|
||||
thtc.ref() *= mtm.rho()*mtm.thermo().Cp();
|
||||
thtc.ref() *= thermo.rho()*thermo.Cp();
|
||||
}
|
||||
|
||||
store("wallHeatTransferCoeff", thtc);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ License
|
||||
|
||||
#include "ReynoldsAnalogy.H"
|
||||
#include "kinematicMomentumTransportModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -24,7 +24,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "wallHeatTransferCoeffModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -27,7 +27,7 @@ License
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "kinematicMomentumTransportModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "wallPolyPatch.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/fileFormats/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
@ -10,10 +10,10 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfluidThermophysicalModels \
|
||||
-lincompressibleTransportModels \
|
||||
-ltransportModels \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lfluidThermoMomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-lspecie \
|
||||
-lfileFormats \
|
||||
-lfiniteVolume \
|
||||
|
||||
@ -27,7 +27,8 @@ License
|
||||
#include "fvcGrad.H"
|
||||
#include "porosityModel.H"
|
||||
#include "kinematicMomentumTransportModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "fluidThermo.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
@ -280,11 +281,11 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::forces::mu() const
|
||||
}
|
||||
else if
|
||||
(
|
||||
obr_.foundObject<transportModel>("transportProperties")
|
||||
obr_.foundObject<kinematicTransportModel>("transportProperties")
|
||||
)
|
||||
{
|
||||
const transportModel& laminarT =
|
||||
obr_.lookupObject<transportModel>("transportProperties");
|
||||
const kinematicTransportModel& laminarT =
|
||||
obr_.lookupObject<kinematicTransportModel>("transportProperties");
|
||||
|
||||
return rho()*laminarT.nu();
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lincompressibleTransportModels \
|
||||
-ltransportModels \
|
||||
-lmeshTools \
|
||||
-llagrangian \
|
||||
-llagrangianParcel \
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/transportModels/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfluidThermophysicalModels \
|
||||
-lincompressibleTransportModels \
|
||||
-ltransportModels \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lfluidThermoMomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-lspecie \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
|
||||
@ -32,7 +32,7 @@ License
|
||||
#include "fvModels.H"
|
||||
#include "fvConstraints.H"
|
||||
#include "kinematicMomentumTransportModel.H"
|
||||
#include "fluidThermoMomentumTransportModel.H"
|
||||
#include "dynamicMomentumTransportModel.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
Reference in New Issue
Block a user