31 void Foam::solvers::multiphaseEuler::cellMomentumPredictor()
33 Info<<
"Constructing momentum equations" <<
endl;
35 autoPtr<HashPtrTable<fvVectorMatrix>> popBalMomentumTransferPtr =
37 HashPtrTable<fvVectorMatrix>& popBalMomentumTransfer =
38 popBalMomentumTransferPtr();
55 *popBalMomentumTransfer[phase.name()]
60 UEqns[phase.index()].relax();
62 U.correctBoundaryConditions();
68 void Foam::solvers::multiphaseEuler::faceMomentumPredictor()
70 Info<<
"Constructing face momentum equations" <<
endl;
72 autoPtr<HashPtrTable<fvVectorMatrix>> popBalMomentumTransferPtr =
73 populationBalanceSystem_.momentumTransferf();
74 HashPtrTable<fvVectorMatrix>& popBalMomentumTransfer =
75 popBalMomentumTransferPtr();
77 forAll(movingPhases, movingPhasei)
79 phaseModel& phase = movingPhases_[movingPhasei];
92 *popBalMomentumTransfer[phase.name()]
97 UEqns[phase.index()].relax();
99 U.correctBoundaryConditions();
109 UEqns.setSize(phases.size());
113 faceMomentumPredictor();
117 cellMomentumPredictor();
#define forAll(list, i)
Loop across all elements in list.
bool constrain(fvMatrix< Type > &eqn) const
Apply constraints to an equation.
autoPtr< HashPtrTable< fvVectorMatrix > > momentumTransfer()
Return the momentum transfer matrices for the cell-based algorithm.
Foam::fvModels & fvModels() const
Return the fvModels that are created on demand.
Foam::fvConstraints & fvConstraints() const
Return the fvConstraints that are created on demand.
PtrList< fvVectorMatrix > UEqns
Temporary phase momentum matrices.
const phaseSystem::phaseModelPartialList & movingPhases
Reference to the moving phases.
virtual void momentumPredictor()
Construct and optionally solve the momentum equation.
phaseSystem::phaseModelPartialList & movingPhases_
populationBalanceSystem populationBalanceSystem_
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
Calculate the matrix for implicit and explicit sources.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
VolField< vector > volVectorField
Ostream & endl(Ostream &os)
Add newline and flush stream.
VolField< scalar > volScalarField
fvMatrix< vector > fvVectorMatrix