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...
Public Member Functions | |
MomentumTransferPhaseSystem (const fvMesh &) | |
Construct from fvMesh. More... | |
virtual | ~MomentumTransferPhaseSystem () |
Destructor. More... | |
virtual autoPtr< phaseSystem::momentumTransferTable > | momentumTransfer () |
Return the momentum transfer matrices for the cell-based algorithm. More... | |
virtual autoPtr< phaseSystem::momentumTransferTable > | momentumTransferf () |
As momentumTransfer, but for the face-based algorithm. More... | |
virtual PtrList< surfaceScalarField > | KdVmfs () const |
Return implicit force coefficients on the faces, for the face-based. More... | |
virtual PtrList< surfaceScalarField > | Fs () const |
Return the explicit force fluxes for the cell-based algorithm, that. More... | |
virtual PtrList< surfaceScalarField > | Ffs () const |
As Fs, but for the face-based algorithm. More... | |
virtual PtrList< surfaceScalarField > | KdPhis () const |
Return the explicit drag force fluxes for the cell-based algorithm. More... | |
virtual PtrList< surfaceScalarField > | KdPhifs () const |
As KdPhis, but for the face-based algorithm. More... | |
virtual PtrList< volScalarField > | Kds () const |
Return the implicit part of the drag force. More... | |
virtual PtrList< volVectorField > | KdUs () 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< surfaceScalarField > | alphaDByAf (const PtrList< volScalarField > &rAUs, const PtrList< surfaceScalarField > &rAUfs) const |
Return the phase diffusivity. More... | |
virtual PtrList< surfaceScalarField > | ddtCorrs () 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 |
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.
Definition at line 61 of file MomentumTransferPhaseSystem.H.
MomentumTransferPhaseSystem | ( | const fvMesh & | mesh | ) |
Construct from fvMesh.
Definition at line 110 of file MomentumTransferPhaseSystem.C.
|
virtual |
Destructor.
Definition at line 129 of file MomentumTransferPhaseSystem.C.
|
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().
|
protected |
Definition at line 83 of file MomentumTransferPhaseSystem.C.
References tmp< T >::isTmp(), tmp< T >::ref(), and tmp< T >::valid().
|
virtual |
Return the momentum transfer matrices for the cell-based algorithm.
This includes implicit and explicit forces that add into the cell UEqn in the normal way.
Definition at line 138 of file MomentumTransferPhaseSystem.C.
References Foam::fvc::absolute(), Foam::fvm::ddt(), dragModel::dimK, virtualMassModel::dimK, Foam::dimMass, Foam::dimTime, Foam::dimVelocity, Foam::fvc::div(), Foam::fvm::div(), phaseModel::DUDt(), forAll, forAllConstIter, IOobject::groupName(), HashTable< T, Key, Hash >::insert(), K, Foam::max(), phaseModel::name(), patchi, phaseModel::phiRef(), fvMatrix< Type >::psi(), phaseModel::residualAlpha(), Foam::fvm::Sp(), phaseModel::stationary(), U, and phaseModel::U().
|
virtual |
As momentumTransfer, but for the face-based algorithm.
Definition at line 312 of file MomentumTransferPhaseSystem.C.
References Foam::fvc::absolute(), Foam::fvc::DDt(), dragModel::dimK, virtualMassModel::dimK, Foam::dimMass, Foam::dimTime, Foam::dimVelocity, Foam::fvc::div(), Foam::fvm::div(), forAll, forAllConstIter, IOobject::groupName(), phaseModel::index(), HashTable< T, Key, Hash >::insert(), Foam::max(), MRF(), phaseModel::name(), phaseModel::phiRef(), phaseModel::residualAlpha(), PtrList< T >::set(), Foam::fvm::Sp(), phaseModel::stationary(), U, phaseModel::U(), and phaseModel::URef().
|
virtual |
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().
|
virtual |
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().
|
virtual |
As Fs, but for the face-based algorithm.
Definition at line 664 of file MomentumTransferPhaseSystem.C.
References Foam::fvc::absolute(), Foam::addField(), Foam::byDt(), D, Foam::dimAcceleration, Foam::dimArea, Foam::dimDensity, phaseModel::DUDtf(), forAll, forAllConstIter, Foam::fvc::interpolate(), Foam::max(), MRF(), phaseModel::pPrime(), phaseModel::residualAlpha(), Foam::fvc::snGrad(), and U.
|
virtual |
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().
|
virtual |
As KdPhis, but for the face-based algorithm.
Definition at line 877 of file MomentumTransferPhaseSystem.C.
References Foam::fvc::absolute(), Foam::addField(), Foam::dimAcceleration, Foam::dimArea, Foam::dimDensity, forAllConstIter, Foam::fvc::interpolate(), Foam::max(), phaseModel::phi(), phaseModel::residualAlpha(), and phaseModel::U().
|
virtual |
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().
|
virtual |
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().
|
virtual |
Returns true if the phase pressure is treated implicitly.
in the phase fraction equation
Definition at line 1001 of file MomentumTransferPhaseSystem.C.
|
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.
|
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().
|
virtual |
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().
|
virtual |
Set the cell and faces drag correction fields.
Definition at line 1229 of file MomentumTransferPhaseSystem.C.
References Foam::addField(), forAll, forAllConstIter, phaseModel::index(), Foam::fvc::interpolate(), K, K1, K2, Foam::max(), phaseInterface::phase1(), phaseInterface::phase2(), phaseModel::phi(), Foam::fvc::reconstruct(), phaseModel::residualAlpha(), PtrList< T >::set(), and phaseModel::stationary().
|
virtual |
Solve the drag system for the velocities and fluxes.
Definition at line 1334 of file MomentumTransferPhaseSystem.C.
References Foam::addField(), Foam::dimless, Foam::endl(), forAll, forAllConstIter, Foam::gMin(), phaseModel::index(), Foam::Info, Foam::fvc::interpolate(), K, k, K1, K2, Foam::max(), phaseInterface::phase1(), phaseInterface::phase2(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), phaseModel::residualAlpha(), PtrList< T >::set(), and U.
|
virtual |
As partialElimination, but for the face-based algorithm. Only solves.
for the fluxes.
Definition at line 1518 of file MomentumTransferPhaseSystem.C.
References Foam::addField(), Foam::dimless, Foam::endl(), forAll, forAllConstIter, Foam::gMin(), phaseModel::index(), Foam::Info, Foam::fvc::interpolate(), k, Foam::max(), phaseInterface::phase1(), phaseInterface::phase2(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), phaseModel::residualAlpha(), and PtrList< T >::set().
|
virtual |
Read base phaseProperties dictionary.
Definition at line 1651 of file MomentumTransferPhaseSystem.C.
References Foam::blockMeshTools::read().