MomentumTransferPhaseSystem< BasePhaseSystem > Class Template Reference

Class which models interfacial momentum transfer between a number of phases. Drag, virtual mass, lift, wall lubrication and turbulent dispersion are all modelled. The explicit contribution from the drag is omitted from the transfer matrices, as this forms part of the solution of the pressure equation. More...

Inheritance diagram for MomentumTransferPhaseSystem< BasePhaseSystem >:
Collaboration diagram for MomentumTransferPhaseSystem< BasePhaseSystem >:

Public Member Functions

 MomentumTransferPhaseSystem (const fvMesh &)
 Construct from fvMesh. More...
 
virtual ~MomentumTransferPhaseSystem ()
 Destructor. More...
 
virtual autoPtr< phaseSystem::momentumTransferTablemomentumTransfer ()
 Return the momentum transfer matrices for the cell-based algorithm. More...
 
virtual autoPtr< phaseSystem::momentumTransferTablemomentumTransferf ()
 As momentumTransfer, but for the face-based algorithm. More...
 
virtual PtrList< surfaceScalarFieldKdVmfs () const
 Return implicit force coefficients on the faces, for the face-based. More...
 
virtual PtrList< surfaceScalarFieldFs () const
 Return the explicit force fluxes for the cell-based algorithm, that. More...
 
virtual PtrList< surfaceScalarFieldFfs () const
 As Fs, but for the face-based algorithm. More...
 
virtual PtrList< surfaceScalarFieldKdPhis () const
 Return the explicit drag force fluxes for the cell-based algorithm. More...
 
virtual PtrList< surfaceScalarFieldKdPhifs () const
 As KdPhis, but for the face-based algorithm. More...
 
virtual PtrList< volScalarFieldKds () const
 Return the implicit part of the drag force. More...
 
virtual PtrList< volVectorFieldKdUs () const
 Return the explicit part of the drag force for the cell-based. More...
 
virtual bool implicitPhasePressure (const phaseModel &phase) const
 Returns true if the phase pressure is treated implicitly. More...
 
virtual bool implicitPhasePressure () const
 Returns true if the phase pressure is treated implicitly. More...
 
virtual tmp< surfaceScalarFieldalphaDByAf (const PtrList< volScalarField > &rAUs, const PtrList< surfaceScalarField > &rAUfs) const
 Return the phase diffusivity. More...
 
virtual PtrList< surfaceScalarFieldddtCorrs () const
 Return the flux corrections for the cell-based algorithm. These. More...
 
virtual void dragCorrs (PtrList< volVectorField > &dragCorrs, PtrList< surfaceScalarField > &dragCorrf) const
 Set the cell and faces drag correction fields. More...
 
virtual void partialElimination (const PtrList< volScalarField > &rAUs, const PtrList< volVectorField > &KdUs, const PtrList< surfaceScalarField > &alphafs, const PtrList< surfaceScalarField > &rAUfs, const PtrList< surfaceScalarField > &KdPhis)
 Solve the drag system for the velocities and fluxes. More...
 
virtual void partialEliminationf (const PtrList< surfaceScalarField > &rAUfs, const PtrList< surfaceScalarField > &alphafs, const PtrList< surfaceScalarField > &KdPhifs)
 As partialElimination, but for the face-based algorithm. Only solves. More...
 
virtual bool read ()
 Read base phaseProperties dictionary. More...
 

Protected Member Functions

void addDmdtUfs (const phaseSystem::dmdtfTable &dmdtfs, phaseSystem::momentumTransferTable &eqns)
 Add momentum transfer terms which result from bulk mass transfers. More...
 
void addTmpField (tmp< surfaceScalarField > &result, const tmp< surfaceScalarField > &field) const
 

Detailed Description

template<class BasePhaseSystem>
class Foam::MomentumTransferPhaseSystem< BasePhaseSystem >

Class which models interfacial momentum transfer between a number of phases. Drag, virtual mass, lift, wall lubrication and turbulent dispersion are all modelled. The explicit contribution from the drag is omitted from the transfer matrices, as this forms part of the solution of the pressure equation.

Source files

Definition at line 61 of file MomentumTransferPhaseSystem.H.

Constructor & Destructor Documentation

◆ MomentumTransferPhaseSystem()

Construct from fvMesh.

Definition at line 110 of file MomentumTransferPhaseSystem.C.

◆ ~MomentumTransferPhaseSystem()

Destructor.

Definition at line 129 of file MomentumTransferPhaseSystem.C.

Member Function Documentation

◆ addDmdtUfs()

void addDmdtUfs ( const phaseSystem::dmdtfTable dmdtfs,
phaseSystem::momentumTransferTable eqns 
)
protected

Add momentum transfer terms which result from bulk mass transfers.

Definition at line 50 of file MomentumTransferPhaseSystem.C.

References forAllConstIter, phaseModel::name(), Foam::negPart(), phaseInterface::phase1(), phaseInterface::phase2(), Foam::posPart(), Foam::fvc::Sp(), phaseModel::stationary(), phaseModel::U(), and phaseModel::URef().

Here is the call graph for this function:

◆ addTmpField()

void addTmpField ( tmp< surfaceScalarField > &  result,
const tmp< surfaceScalarField > &  field 
) const
protected

Definition at line 83 of file MomentumTransferPhaseSystem.C.

References tmp< T >::isTmp(), tmp< T >::ref(), and tmp< T >::valid().

Here is the call graph for this function:

◆ momentumTransfer()

◆ momentumTransferf()

◆ KdVmfs()

Return implicit force coefficients on the faces, for the face-based.

algorithm.

Definition at line 477 of file MomentumTransferPhaseSystem.C.

References Foam::addField(), Foam::byDt(), Foam::dimDensity, Foam::dimTime, forAllConstIter, Foam::fvc::interpolate(), Foam::max(), and phaseModel::residualAlpha().

Here is the call graph for this function:

◆ Fs()

Return the explicit force fluxes for the cell-based algorithm, that.

do not depend on phase mass/volume fluxes, and can therefore be evaluated outside the corrector loop. This includes things like lift, turbulent dispersion, and wall lubrication.

Definition at line 537 of file MomentumTransferPhaseSystem.C.

References Foam::addField(), D, Foam::dimAcceleration, Foam::dimArea, Foam::dimDensity, Foam::constant::physicoChemical::F, Foam::fvc::flux(), forAll, forAllConstIter, Foam::fvc::interpolate(), Foam::max(), Foam::name(), phaseModel::pPrime(), and Foam::fvc::snGrad().

Here is the call graph for this function:

◆ Ffs()

◆ KdPhis()

Return the explicit drag force fluxes for the cell-based algorithm.

These depend on phase mass/volume fluxes, and must therefore be evaluated inside the corrector loop.

Definition at line 827 of file MomentumTransferPhaseSystem.C.

References Foam::fvc::absolute(), Foam::addField(), Foam::dimAcceleration, Foam::dimArea, Foam::dimDensity, forAllConstIter, Foam::fvc::interpolate(), K, Foam::max(), phaseModel::phi(), phaseModel::residualAlpha(), and phaseModel::U().

Here is the call graph for this function:

◆ KdPhifs()

◆ Kds()

Return the implicit part of the drag force.

Definition at line 929 of file MomentumTransferPhaseSystem.C.

References Foam::addField(), Foam::dimDensity, Foam::dimTime, forAllConstIter, K, Foam::max(), and phaseModel::residualAlpha().

Here is the call graph for this function:

◆ KdUs()

Return the explicit part of the drag force for the cell-based.

algorithm. This is the cell-equivalent of KdPhis. These depend on phase velocities, and must therefore be evaluated inside the corrector loop.

Definition at line 965 of file MomentumTransferPhaseSystem.C.

References Foam::addField(), Foam::dimAcceleration, Foam::dimDensity, forAllConstIter, K, Foam::max(), phaseModel::residualAlpha(), and phaseModel::U().

Here is the call graph for this function:

◆ implicitPhasePressure() [1/2]

bool implicitPhasePressure ( const phaseModel phase) const
virtual

Returns true if the phase pressure is treated implicitly.

in the phase fraction equation

Definition at line 1001 of file MomentumTransferPhaseSystem.C.

◆ implicitPhasePressure() [2/2]

bool implicitPhasePressure
virtual

Returns true if the phase pressure is treated implicitly.

in the phase fraction equation for any phase

Definition at line 1015 of file MomentumTransferPhaseSystem.C.

References forAll.

◆ alphaDByAf()

Foam::tmp< Foam::surfaceScalarField > alphaDByAf ( const PtrList< volScalarField > &  rAUs,
const PtrList< surfaceScalarField > &  rAUfs 
) const
virtual

Return the phase diffusivity.

divided by the momentum central coefficient

Definition at line 1033 of file MomentumTransferPhaseSystem.C.

References D, forAll, forAllConstIter, Foam::fvc::interpolate(), Foam::max(), Foam::name(), phaseModel::pPrime(), and UPtrList< T >::size().

Here is the call graph for this function:

◆ ddtCorrs()

Return the flux corrections for the cell-based algorithm. These.

depend on phase mass/volume fluxes, and must therefore be evaluated inside the corrector loop.

Definition at line 1121 of file MomentumTransferPhaseSystem.C.

References Foam::addField(), Foam::fvm::ddt(), Foam::fvc::ddtCorr(), singleRegionSolutionControl::dict(), Foam::fvc::flux(), forAll, forAllConstIter, phaseModel::index(), Foam::fvc::interpolate(), dictionary::lookupOrDefault(), Foam::max(), phaseModel::phi(), pimple(), phaseModel::residualAlpha(), phaseModel::rho(), PtrList< T >::set(), phaseModel::U(), and phaseModel::Uf().

Here is the call graph for this function:

◆ dragCorrs()

void dragCorrs ( PtrList< volVectorField > &  dragCorrs,
PtrList< surfaceScalarField > &  dragCorrf 
) const
virtual

◆ partialElimination()

void partialElimination ( const PtrList< volScalarField > &  rAUs,
const PtrList< volVectorField > &  KdUs,
const PtrList< surfaceScalarField > &  alphafs,
const PtrList< surfaceScalarField > &  rAUfs,
const PtrList< surfaceScalarField > &  KdPhis 
)
virtual

◆ partialEliminationf()

void partialEliminationf ( const PtrList< surfaceScalarField > &  rAUfs,
const PtrList< surfaceScalarField > &  alphafs,
const PtrList< surfaceScalarField > &  KdPhifs 
)
virtual

◆ read()

bool read
virtual

Read base phaseProperties dictionary.

Definition at line 1651 of file MomentumTransferPhaseSystem.C.

References Foam::blockMeshTools::read().

Here is the call graph for this function:

The documentation for this class was generated from the following files: