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 const dragModel&
drag(
const phaseModel& phase)
const;
189 const virtualMassModel&
virtualMass(
const phaseModel& phase)
const;
195 inline const fvMesh&
mesh()
const;
198 inline const phaseModel&
phase1()
const;
201 inline phaseModel&
phase1();
204 inline const phaseModel&
phase2()
const;
207 inline phaseModel&
phase2();
210 inline const phaseModel&
otherPhase(
const phaseModel& phase)
const;
225 inline tmp<surfaceScalarField>&
pPrimeByA();
phaseModel & phase1_
Phase model 1.
const fvMesh & mesh() const
Return the mesh.
tmp< volScalarField > Vm() const
Return the virtual mass coefficient.
const virtualMassModel & virtualMass(const phaseModel &phase) const
Return the virtual mass model for the given phase.
tmp< surfaceScalarField > Ff() const
Return the combined face-force (lift + wall-lubrication)
tmp< volVectorField > F() const
Return the combined force (lift + wall-lubrication)
void correct()
Correct two-phase properties other than turbulence.
tmp< surfaceScalarField > & pPrimeByA()
Return non-const access to the dispersion diffusivity.
tmp< volScalarField > rho() const
Return the mixture density.
tmp< volScalarField > D() const
Return the turbulent diffusivity.
tmp< surfaceScalarField > Vmf() const
Return the face virtual mass coefficient.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
tmp< surfaceScalarField > Kdf() const
Return the face drag coefficient.
tmp< volScalarField > sigma() const
Return the surface tension coefficient.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
phaseModel & phase2_
Phase model 2.
twoPhaseSystem(const fvMesh &)
Construct from fvMesh.
const phaseModel & otherPhase(const phaseModel &phase) const
Constant access the phase not given as an argument.
bool read()
Read base phaseProperties dictionary.
tmp< volVectorField > U() const
Return the mixture velocity.
const surfaceScalarField & phi() const
Return the mixture flux.
const dimensionedVector & g
const volScalarField & dgdt() const
Return the dilatation term.
void correctTurbulence()
Correct two-phase turbulence.
virtual void solve()
Solve for the phase fractions.
tmp< volScalarField > Kd() const
Return the drag coefficient.
const phaseModel & phase2() const
Constant access phase model 2.
virtual ~twoPhaseSystem()
Destructor.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
tmp< volScalarField > Kh() const
Return the heat transfer coefficient.
const dragModel & drag(const phaseModel &phase) const
Return the drag model for the given phase.
const phaseModel & phase1() const
Constant access phase model 1.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField