26 #include "phaseModel.H" 27 #include "twoPhaseSystem.H" 28 #include "diameterModel.H" 31 #include "dragModel.H" 32 #include "heatTransferModel.H" 38 #include "surfaceInterpolate.H" 45 const twoPhaseSystem& fluid,
46 const dictionary& phaseProperties,
54 IOobject::groupName(
"alpha", phaseName),
57 IOobject::READ_IF_PRESENT,
67 phaseProperties.subDict(name_)
73 fluid.subDict(phaseName).
lookup(
"residualAlpha")
75 alphaMax_(phaseDict_.lookupOrDefault(
"alphaMax", 1.0)),
76 thermo_(rhoThermo::
New(fluid.
mesh(), name_)),
81 IOobject::groupName(
"U", name_),
93 IOobject::groupName(
"alphaPhi", name_),
104 IOobject::groupName(
"alphaRhoPhi", name_),
112 thermo_->validate(
"phaseModel " + name_,
"h",
"e");
119 fluid_.mesh().time().timeName(),
126 Info<<
"Reading face flux field " << phiName <<
endl;
135 fluid_.mesh().time().timeName(),
146 Info<<
"Calculating face flux field " << phiName <<
endl;
151 calculatedFvPatchScalarField::typeName
163 phiTypes[i] = fixedValueFvsPatchScalarField::typeName;
174 fluid_.mesh().time().timeName(),
227 return turbulence_();
234 return turbulence_();
240 return dPtr_->correct();
246 phaseDict_ = phaseProperties.subDict(name_);
247 return dPtr_->read(phaseDict_);
253 surfaceScalarField::Boundary& alphaPhiBf = alphaPhi.boundaryFieldRef();
254 const volScalarField::Boundary& alphaBf = boundaryField();
261 if (!alphaPhip.coupled())
fvsPatchField< scalar > fvsPatchScalarField
void correctInflowOutflow(surfaceScalarField &alphaPhi) const
Ensure that the flux at inflow/outflow BCs is preserved.
#define forAll(list, i)
Loop across all elements in list.
const PhaseCompressibleTurbulenceModel< phaseModel > & turbulence() const
Return the turbulence model.
const surfaceScalarField & phi() const
Return the volumetric flux.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
IOobject(const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
Construct from name, instance, registry, io options.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< volScalarField > d() const
phaseModel(const word &phaseName, const volScalarField &p, const volScalarField &T)
Construct from components.
static autoPtr< diameterModel > New(const dictionary &dict, const phaseModel &phase)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
dictionary()
Construct top-level dictionary null.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual ~phaseModel()
Destructor.
stressControl lookup("compactNormalStress") >> compactNormalStress
virtual bool read()
Read phase properties dictionary.
Calculate the face-flux of the given field.
static word groupName(Name name, const word &group)
const phaseModel & otherPhase() const
Return the other phase in this two-phase system.
void correct()
Correct the laminar viscosity.
static autoPtr< PhaseCompressibleTurbulenceModel > New(const alphaField &alpha, const volScalarField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &trasportModel, const word &propertiesName=turbulenceModel::propertiesName)
Return a reference to the selected turbulence model.
List< word > wordList
A List of words.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
A class for managing temporary objects.
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...