35 #ifndef multiphaseSystem_H 36 #define multiphaseSystem_H 46 class virtualMassModel;
52 class multiphaseSystem
60 typedef HashTable<scalar, phasePairKey, phasePairKey::hash>
69 static const scalar convertToRad;
78 tmp<surfaceVectorField> nHatfv
84 tmp<surfaceScalarField> nHatf
90 void correctContactAngle
94 surfaceVectorField::Boundary& nHatb
105 virtual tmp<volScalarField> Kd(
const phasePairKey& key)
const = 0;
108 virtual tmp<surfaceScalarField> Kdf(
const phasePairKey& key)
const = 0;
111 virtual tmp<volScalarField> Vm(
const phasePairKey& key)
const = 0;
114 virtual tmp<surfaceScalarField> Vmf(
const phasePairKey& key)
const = 0;
118 virtual tmp<volScalarField> D(
const phasePairKey& key)
const = 0;
121 virtual tmp<volScalarField> dmdt(
const phasePairKey& key)
const = 0;
155 static autoPtr<multiphaseSystem>
New 167 virtual tmp<volScalarField> Kd(
const phaseModel& phase)
const = 0;
170 virtual autoPtr<PtrList<Foam::volVectorField>>
Fs()
const = 0;
173 virtual autoPtr<PtrList<Foam::surfaceScalarField>>
phiDs 175 const PtrList<volScalarField>&
rAUs 179 virtual bool transfersMass(
const phaseModel& phase)
const = 0;
182 virtual tmp<volScalarField> dmdt(
const phaseModel& phase)
const = 0;
188 virtual autoPtr<heatTransferTable>
heatTransfer()
const = 0;
191 virtual autoPtr<massTransferTable>
massTransfer()
const = 0;
193 tmp<surfaceScalarField>
surfaceTension(
const phaseModel& phase)
const;
200 virtual void solve();
virtual autoPtr< PtrList< Foam::surfaceScalarField > > phiDs(const PtrList< volScalarField > &rAUs) const =0
Return the turbulent dispersion force on faces for phase pair.
tmp< surfaceScalarField > surfaceTension(const phaseModel &phase) const
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > KdTable
static autoPtr< multiphaseSystem > New(const fvMesh &mesh)
virtual autoPtr< PtrList< Foam::volVectorField > > Fs() const =0
Return the combined force (lift + wall-lubrication) for phase pair.
virtual autoPtr< heatTransferTable > heatTransfer() const =0
Return the heat transfer matrices.
virtual autoPtr< massTransferTable > massTransfer() const =0
Return the mass transfer matrices.
virtual autoPtr< momentumTransferTable > momentumTransfer() const =0
Return the momentum transfer matrices.
CGAL::Exact_predicates_exact_constructions_kernel K
declareRunTimeSelectionTable(autoPtr, multiphaseSystem, dictionary,(const fvMesh &mesh),(mesh))
dictionary()
Construct top-level dictionary null.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual const phaseSystem::KdTable & Kds() const =0
Return the drag coefficient for all phase-pairs.
const fvMesh & mesh() const
Constant access the mesh.
PtrList< volScalarField > rAUs(fluid.phases().size())
void solve()
Solve for the mixture phase-fractions.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual bool transfersMass(const phaseModel &phase) const =0
Return true if there is mass transfer for phase.
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
TypeName("multiphaseSystem")
Runtime type information.
multiphaseSystem(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
virtual ~multiphaseSystem()
Destructor.