28 #include "aspectRatioModel.H" 29 #include "surfaceInterpolate.H" 46 const phaseModelList& phaseModels
49 tmp<surfaceScalarField> tmpPhi
70 const dictTable& modelDicts
75 const phasePairKey& key = iter.key();
78 if (phasePairs_.found(key))
84 else if (key.ordered())
93 phaseModels_[key.first()],
94 phaseModels_[key.second()]
110 phaseModels_[key.first()],
111 phaseModels_[key.second()]
132 mesh.time().constant(),
134 IOobject::MUST_READ_IF_MODIFIED,
141 phaseModels_(
lookup(
"phases"), phaseModel::iNew(*this)),
143 phi_(calcPhi(phaseModels_)),
164 blendingMethods_.insert
176 generatePairsAndSubModels(
"surfaceTension", surfaceTensionModels_);
177 generatePairsAndSubModels(
"aspectRatio", aspectRatioModels_);
193 tmp<volScalarField> tmpRho
195 phaseModels_[0]*phaseModels_[0].
rho()
200 tmpRho.ref() += phaseModels_[
phasei]*phaseModels_[
phasei].rho();
209 tmp<volVectorField> tmpU
211 phaseModels_[0]*phaseModels_[0].
U()
216 tmpU.ref() += phaseModels_[
phasei]*phaseModels_[
phasei].U();
226 if (aspectRatioModels_.found(key))
228 return aspectRatioModels_[key]->E();
232 return tmp<volScalarField>
238 aspectRatioModel::typeName +
":E",
239 this->mesh_.time().timeName(),
256 if (surfaceTensionModels_.found(key))
258 return surfaceTensionModels_[key]->sigma();
262 return tmp<volScalarField>
268 surfaceTensionModel::typeName +
":sigma",
269 this->mesh_.time().timeName(),
291 phaseModels_[
phasei].correct();
298 bool updateDpdt =
false;
302 phaseModels_[
phasei].correctKinematics();
304 updateDpdt = updateDpdt || phaseModels_[
phasei].thermo().dpdt();
319 phaseModels_[
phasei].correctThermo();
328 phaseModels_[
phasei].correctTurbulence();
337 phaseModels_[
phasei].correctEnergyTransport();
350 readOK &= phaseModels_[
phasei].read();
static const word propertiesName
Default name of the phase properties dictionary.
void generatePairs(const dictTable &modelDicts)
Generate pairs.
#define forAll(list, i)
Loop across all elements in list.
virtual void correctTurbulence()
Correct the turbulence.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual bool read()
Read object.
tmp< volVectorField > U() const
Return the mixture velocity.
virtual void solve()
Solve for the phase fractions.
tmp< volScalarField > E(const phasePairKey &key) const
Return the aspect-ratio.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Calculate the first temporal derivative.
psiReactionThermo & thermo
virtual void correctKinematics()
Correct the kinematics.
stressControl lookup("compactNormalStress") >> compactNormalStress
phaseSystem(const fvMesh &mesh)
Construct from fvMesh.
static const dimensionSet dimSigma
Coefficient dimensions.
A class for handling words, derived from string.
virtual void correctThermo()
Correct the thermodynamics.
const dimensionSet dimPressure
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
static autoPtr< blendingMethod > New(const dictionary &dict, const wordList &phaseNames)
virtual void correct()
Correct the fluid properties other than the thermo and turbulence.
tmp< volScalarField > rho() const
Return the mixture density.
defineTypeNameAndDebug(combustionModel, 0)
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
virtual void correctEnergyTransport()
Correct the energy transport e.g. alphat.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
virtual ~phaseSystem()
Destructor.
word dictName("noiseDict")
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual bool read()
Read base phaseProperties dictionary.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
phasePairKey()
Construct null.
A class for managing temporary objects.
tmp< surfaceScalarField > calcPhi(const phaseModelList &phaseModels) const
Calculate and return the mixture flux.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
tmp< volScalarField > sigma(const phasePairKey &key) const
Return the surface tension coefficient.