41 #ifndef MomentumTransferPhaseSystem_H 42 #define MomentumTransferPhaseSystem_H 52 template<
class modelType>
53 class BlendedInterfacialModel;
57 class virtualMassModel;
59 class wallLubricationModel;
60 class turbulentDispersionModel;
66 template<
class BasePhaseSystem>
69 public BasePhaseSystem
188 void addMassTransferMomentumTransfer
276 const bool includeVirtualMass =
false Class which models interfacial momenum transfer between a number of phases. Drag, virtual mass...
virtual void partialElimination(const PtrList< volScalarField > &rAUs)
Solve the drag system for the velocities and fluxes.
virtual PtrList< surfaceScalarField > phiKdPhis(const PtrList< volScalarField > &rAUs) const
Return the explicit drag force fluxes for the cell-based algorithm.
virtual void partialEliminationf(const PtrList< surfaceScalarField > &rAUfs)
As partialElimination, but for the face-based algorithm. Only solves.
HashTable< autoPtr< BlendedInterfacialModel< dragModel > >, phasePairKey, phasePairKey::hash > dragModelTable
virtual autoPtr< phaseSystem::momentumTransferTable > momentumTransfer()
Return the momentum transfer matrices for the cell-based algorithm.
virtual PtrList< surfaceScalarField > phiKdPhifs(const PtrList< surfaceScalarField > &rAUfs) const
As phiKdPhis, but for the face-based algorithm.
virtual const HashPtrTable< surfaceScalarField > & DByAfs() const
Return the phase diffusivities divided by the momentum coefficients.
virtual PtrList< surfaceScalarField > phiFfs(const PtrList< surfaceScalarField > &rAUfs)
As phiFs, but for the face-based algorithm.
virtual PtrList< surfaceScalarField > phiFs(const PtrList< volScalarField > &rAUs)
Return the explicit force fluxes for the cell-based algorithm, that.
MomentumTransferPhaseSystem(const fvMesh &)
Construct from fvMesh.
HashPtrTable< surfaceScalarField, phasePairKey, phasePairKey::hash > KdfTable
A HashTable of pointers to objects of type <T>, with deallocation management of the pointers...
HashTable< autoPtr< BlendedInterfacialModel< liftModel > >, phasePairKey, phasePairKey::hash > liftModelTable
HashPtrTable< surfaceScalarField, phasePairKey, phasePairKey::hash > VmfTable
Hashing functor for phasePairKey.
virtual PtrList< volVectorField > KdUByAs(const PtrList< volScalarField > &rAUs) const
Return the explicit part of the drag force for the cell-based.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual bool read()
Read base phaseProperties dictionary.
virtual autoPtr< phaseSystem::momentumTransferTable > momentumTransferf()
As momentumTransfer, but for the face-based algorithm.
virtual PtrList< surfaceScalarField > ddtCorrByAs(const PtrList< volScalarField > &rAUs, const bool includeVirtualMass=false) const
Return the flux corrections for the cell-based algorithm. These.
PtrList< surfaceScalarField > rAUfs
virtual PtrList< surfaceScalarField > AFfs() const
Return implicit force coefficients on the faces, for the face-based.
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > KdTable
HashTable< autoPtr< BlendedInterfacialModel< virtualMassModel > >, phasePairKey, phasePairKey::hash > virtualMassModelTable
A HashTable similar to std::unordered_map.
An ordered or unorder pair of phase names. Typically specified as follows.
PtrList< volScalarField > rAUs
auto key(const Type &t) -> typename std::enable_if< std::is_enum< Type >::value, typename std::underlying_type< Type >::type >::type
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Mesh data needed to do the Finite Volume discretisation.
virtual ~MomentumTransferPhaseSystem()
Destructor.
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > VmTable
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
HashTable< autoPtr< BlendedInterfacialModel< turbulentDispersionModel > >, phasePairKey, phasePairKey::hash > turbulentDispersionModelTable
HashTable< autoPtr< BlendedInterfacialModel< wallLubricationModel > >, phasePairKey, phasePairKey::hash > wallLubricationModelTable