Go to the documentation of this file.
31 alphaPorosity_(const_cast<volScalarField&>(
32 mesh_.thisDb().lookupObject<volScalarField>(
"alphaPorosity"))),
33 fvSource_(const_cast<volVectorField&>(
34 mesh_.thisDb().lookupObject<volVectorField>(
"fvSource"))),
35 fvOptions_(fv::options::New(
mesh)),
36 alphat_(const_cast<volScalarField&>(
37 mesh_.thisDb().lookupObject<volScalarField>(
"alphat"))),
40 simple_(const_cast<fvMesh&>(
mesh)),
46 if (
allOptions.subDict(
"fvSource").toc().size() != 0)
52 IOdictionary transportProperties(
54 "transportProperties",
55 mesh.time().constant(),
60 Pr_ = readScalar(transportProperties.lookup(
"Pr"));
61 Prt_ = readScalar(transportProperties.lookup(
"Prt"));
110 word divUScheme =
"div(phi,U)";
112 label isPC = options.getLabel(
"isPC");
116 divUScheme =
"div(pc)";
126 tmp<fvVectorMatrix>
tUEqn(
127 fvm::div(
phi_,
U_, divUScheme)
148 volScalarField
rAU(1.0 /
UEqn.A());
155 volVectorField
HbyA(
"HbyA",
U_);
158 surfaceScalarField
phiHbyA(
"phiHbyA", fvc::flux(
HbyA));
179 fvm::laplacian(
rAtU(),
p_)
213 alphat_.correctBoundaryConditions();
227 U_.correctBoundaryConditions();
228 T_.correctBoundaryConditions();
229 p_.correctBoundaryConditions();
tmp< volVectorField > DDt(const volVectorField &U) const
tmp< fvVectorMatrix > tUEqn(fvm::ddt(U)+fvm::div(phi, U)+MRF.DDt(U)+turbulence->divDevReff(U)==fvOptions(U))
const dictionary & allOptions
virtual void updateIntermediateVariables()
update any intermediate variables that are dependent on state variables and are used in calcResiduals
volScalarField & alphaPorosity_
alpha porosity term
fvScalarMatrix TEqn(fvm::div(phi, T) - fvm::laplacian(alphaEff, T))
const fvMesh & mesh_
fvMesh
tmp< fvVectorMatrix > divDevReff(volVectorField &U)
divDev terms
virtual void clear()
clear the members
simpleControl simple_
simpleControl object which will be initialized in this class
virtual void correctBoundaryConditions()
update the boundary condition for all the states in the selected solver
virtual void calcResiduals(const dictionary &options)
compute residual
DAOption daOption(mesh, pyOptions_)
constrainPressure(p, U, phiHbyA, rAtU(), MRF)
virtual void calcFvSource(volVectorField &fvSource)
compute the FvSource term
DATurbulenceModel & daTurb_
DATurbulenceModel object.
#define normalizeResiduals(resName)
DAResidualSimpleTFoam(const word modelType, const fvMesh &mesh, const DAOption &daOption, const DAModel &daModel, const DAIndex &daIndex)
surfaceScalarField & phi_
#define setResidualClassMemberPhi(stateName)
tmp< volScalarField > getNut()
get the nut field
IOMRFZoneListDF & MRF_
Multiple Reference Frame.
#define setResidualClassMemberVector(stateName, stateUnit)
label hasFvSource_
whether to have fvSource term
volScalarField alphaEff("alphaEff", turbulencePtr_->nu()/Pr+alphat)
tmp< volScalarField > rAtU(rAU)
volVectorField & fvSource_
fvSource term
void makeRelative(volVectorField &U) const
tmp< volScalarField > nu() const
get the nu field
defineTypeNameAndDebug(DAFvSource, 0)
addToRunTimeSelectionTable(DAFvSource, DAFvSourceActuatorDisk, dictionary)
surfaceScalarField phiRes_
volScalarField rAU(1.0/UEqn.A())
void correctBoundaryVelocity(volVectorField &U) const
DAModel daModel(mesh, daOption)
DAIndex daIndex(mesh, daOption, daModel)
#define setResidualClassMemberScalar(stateName, stateUnit)
#define normalizePhiResiduals(resName)
fv::options & fvOptions_
fvOptions term