Go to the documentation of this file.
28 #include "aspectRatioModel.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()]
134 IOobject::MUST_READ_IF_MODIFIED,
141 phaseModels_(
lookup(
"phases"), phaseModel::iNew(*this)),
143 phi_(calcPhi(phaseModels_)),
165 blendingMethods_.insert
177 generatePairsAndSubModels(
"surfaceTension", surfaceTensionModels_);
178 generatePairsAndSubModels(
"aspectRatio", aspectRatioModels_);
194 tmp<volScalarField> tmpRho
196 phaseModels_[0]*phaseModels_[0].
rho()
201 tmpRho() += phaseModels_[
phasei]*phaseModels_[
phasei].rho();
210 tmp<volVectorField> tmpU
212 phaseModels_[0]*phaseModels_[0].
U()
217 tmpU() += phaseModels_[
phasei]*phaseModels_[
phasei].U();
227 if (aspectRatioModels_.found(key))
229 return aspectRatioModels_[key]->E();
233 return tmp<volScalarField>
239 aspectRatioModel::typeName +
":E",
240 this->mesh_.time().timeName(),
257 if (surfaceTensionModels_.found(key))
259 return surfaceTensionModels_[key]->sigma();
263 return tmp<volScalarField>
269 surfaceTensionModel::typeName +
":sigma",
270 this->mesh_.time().timeName(),
292 phaseModels_[
phasei].correct();
299 bool updateDpdt =
false;
303 phaseModels_[
phasei].correctKinematics();
305 updateDpdt = updateDpdt || phaseModels_[
phasei].thermo().dpdt();
311 dpdt_ =
fvc::ddt(phaseModels_.begin()().thermo().p());
320 phaseModels_[
phasei].correctThermo();
329 phaseModels_[
phasei].correctTurbulence();
338 phaseModels_[
phasei].correctEnergyTransport();
351 readOK &= phaseModels_[
phasei].read();
const dimensionSet dimPressure
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
A class for handling words, derived from string.
static const dimensionSet dimSigma
Coefficient dimensions.
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
virtual void correctKinematics()
Correct the kinematics.
static autoPtr< blendingMethod > New(const dictionary &dict, const wordList &phaseNames)
tmp< surfaceScalarField > calcPhi(const phaseModelList &phaseModels) const
Calculate and return the mixture flux.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
phaseSystem(const fvMesh &mesh)
Construct from fvMesh.
virtual bool read()
Read object.
virtual bool read()
Read base phaseProperties dictionary.
static const word propertiesName
Default name of the phase properties dictionary.
tmp< volScalarField > rho() const
Return the mixture density.
Constant dispersed-phase particle diameter model.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
virtual void correct()
Correct the fluid properties other than the thermo and turbulence.
const word dictName("particleTrackDict")
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual void solve()
Solve for the phase fractions.
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 void correctEnergyTransport()
Correct the energy transport e.g. alphat.
virtual ~phaseSystem()
Destructor.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual void correctTurbulence()
Correct the turbulence.
tmp< volScalarField > E(const phasePairKey &key) const
Return the aspect-ratio.
tmp< volScalarField > sigma(const phasePairKey &key) const
Return the surface tension coefficient.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
tmp< volVectorField > U() const
Return the mixture velocity.
virtual void correctThermo()
Correct the thermodynamics.
Calculate the first temporal derivative.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
defineTypeNameAndDebug(combustionModel, 0)
void generatePairs(const dictTable &modelDicts)
Generate pairs.
stressControl lookup("compactNormalStress") >> compactNormalStress
const surfaceScalarField & phi() const
Constant access the mixture flux.