34 #ifndef twoPhaseSystem_H 35 #define twoPhaseSystem_H 38 #include "phaseModel.H" 39 #include "phasePair.H" 40 #include "orderedPhasePair.H" 43 #include "dragModel.H" 50 class virtualMassModel;
51 class heatTransferModel;
53 class wallLubricationModel;
54 class turbulentDispersionModel;
57 template<
class modelType>
class BlendedInterfacialModel;
85 tmp<surfaceScalarField> pPrimeByA_;
88 autoPtr<phasePair> pair_;
91 autoPtr<orderedPhasePair> pair1In2_;
94 autoPtr<orderedPhasePair> pair2In1_;
97 HashTable<autoPtr<blendingMethod>, word, word::hash> blendingMethods_;
100 autoPtr<BlendedInterfacialModel<dragModel>> drag_;
103 autoPtr<BlendedInterfacialModel<virtualMassModel>> virtualMass_;
106 autoPtr<BlendedInterfacialModel<heatTransferModel>> heatTransfer_;
109 autoPtr<BlendedInterfacialModel<liftModel>> lift_;
112 autoPtr<BlendedInterfacialModel<wallLubricationModel>>
116 autoPtr<BlendedInterfacialModel<turbulentDispersionModel>>
117 turbulentDispersion_;
123 tmp<surfaceScalarField> calcPhi()
const;
141 tmp<volScalarField>
rho()
const;
144 tmp<volVectorField>
U()
const;
147 tmp<volScalarField>
Kd()
const;
150 tmp<surfaceScalarField>
Kdf()
const;
153 tmp<volScalarField>
Vm()
const;
156 tmp<surfaceScalarField>
Vmf()
const;
159 tmp<volScalarField>
Kh()
const;
162 tmp<volVectorField>
F()
const;
165 tmp<surfaceScalarField>
Ff()
const;
169 tmp<volScalarField>
D()
const;
186 template<
class modelType>
190 template<
class modelType>
193 const phaseModel& dispersed,
194 const phaseModel& continuous
201 inline const fvMesh&
mesh()
const;
204 inline const phaseModel&
phase1()
const;
207 inline phaseModel&
phase1();
210 inline const phaseModel&
phase2()
const;
213 inline phaseModel&
phase2();
216 inline const phaseModel&
otherPhase(
const phaseModel& phase)
const;
231 inline tmp<surfaceScalarField>&
pPrimeByA();
phaseModel & phase1_
Phase model 1.
tmp< volVectorField > F() const
Return the combined force (lift + wall-lubrication)
const phaseModel & phase1() const
Return phase model 1.
const modelType & lookupSubModel(const phasePair &key) const
Access a sub model between a phase pair.
tmp< volScalarField > Kh() const
Return the heat transfer coefficient.
void correct()
Correct two-phase properties other than turbulence.
tmp< surfaceScalarField > & pPrimeByA()
Return non-const access to the dispersion diffusivity.
tmp< volScalarField > sigma() const
Return the surface tension coefficient.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
const fvMesh & mesh() const
Return the mesh.
tmp< volScalarField > Kd() const
Return the drag coefficient.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const phaseModel & phase2() const
Return phase model 2.
phaseModel & phase2_
Phase model 2.
const volScalarField & dgdt() const
Return the dilatation term.
twoPhaseSystem(const fvMesh &)
Construct from fvMesh.
tmp< surfaceScalarField > Kdf() const
Return the face drag coefficient.
tmp< volScalarField > D() const
Return the turbulent diffusivity.
bool read()
Read base phaseProperties dictionary.
const phaseModel & otherPhase(const phaseModel &phase) const
Return the phase not given as an argument.
tmp< volVectorField > U() const
Return the mixture velocity.
void correctTurbulence()
Correct two-phase turbulence.
virtual void solve()
Solve for the phase fractions.
virtual ~twoPhaseSystem()
Destructor.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
tmp< surfaceScalarField > Vmf() const
Return the face virtual mass coefficient.
tmp< surfaceScalarField > Ff() const
Return the combined face-force (lift + wall-lubrication)
const surfaceScalarField & phi() const
Return the mixture flux.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
const dimensionedVector & g
tmp< volScalarField > rho() const
Return the mixture density.
tmp< volScalarField > Vm() const
Return the virtual mass coefficient.