70 void Foam::solvers::multiphaseEuler::correctCoNum()
77 forAll(movingPhases, movingPhasei)
87 CoNum_ = 0.5*
gMax(sumPhi/
mesh.
V().primitiveField())*runTime.deltaTValue();
92 *runTime.deltaTValue();
122 pimple.
dict().lookupOrDefault<int>(
"nEnergyCorrectors", 1)
132 fv::localEulerDdt::rDeltaTName,
140 extrapolatedCalculatedFvPatchScalarField::
typeName
149 phases_(fluid_.phases()),
151 movingPhases_(fluid_.movingPhases()),
155 momentumTransferSystem_(fluid_),
157 heatTransferSystem_(fluid_),
159 populationBalanceSystem_(fluid_),
170 fluid_.incompressible()
177 movingPhases(movingPhases_),
178 momentumTransfer(momentumTransferSystem_),
179 heatTransfer(heatTransferSystem_),
239 alphaControls.correct(
CoNum);
241 fluid_.solve(alphaControls, rAs, momentumTransferSystem_);
242 populationBalanceSystem_.solve();
245 populationBalanceSystem_.correct();
247 fluid_.correctContinuityError(populationBalanceSystem_.dmdts());
254 fluid_.predictMomentumTransport();
267 fluid_.correctMomentumTransport();
273 fluid_.correctThermophysicalTransport();
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const word & name() const
Return name.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
T lookupOrDefault(const word &, const T &) const
Find and return a T, if not found return the given default.
Base-class for fluid thermodynamic properties.
Mesh data needed to do the Finite Volume discretisation.
const DimensionedField< scalar, fvMesh > & V() const
Return cell volumes.
const fvSchemes & schemes() const
Return the fvSchemes.
const fvSolution & solution() const
Return the fvSolution.
bool topoChanging() const
Does the mesh topology change?
virtual void preUpdateMesh()
Prepare for mesh update.
void setFluxRequired(const word &name) const
static const dictionary & dict(const fvMesh &mesh, const word &algorithmName="PIMPLE")
Return the solution dictionary.
Provides controls for the pressure reference in closed-volume simulations.
const dictionary & solverDict(const word &name) const
Return the solver controls dictionary for the given field.
Abstract base class for run-time selectable region solvers.
pimpleNoLoopControl pimple
PIMPLE inner-loop controls.
const fvMesh & mesh
Region mesh.
Base solver module for fluid solvers.
virtual bool read()
Read controls.
Buoyancy related data for the Foam::solvers::isothermalFluid solver module when solving buoyant cases...
Solver module for steady or transient turbulent flow of compressible fluids with heat-transfer for HV...
Solver module for a system of any number of compressible fluid phases with a common pressure,...
virtual void momentumTransportCorrector()
Correct the momentum transport.
virtual void prePredictor()
Called at the start of the PIMPLE loop.
const volScalarField & p_rgh
Reference to the buoyant pressure for buoyant cases.
virtual void postSolve()
Called after the PIMPLE loop at the end of the time-step.
virtual void momentumTransportPredictor()
Predict the momentum transport.
int nEnergyCorrectors
Number of energy correctors.
Switch predictMomentum
Momentum equation predictor switch.
virtual void thermophysicalTransportCorrector()
Correct the thermophysical transport.
Switch faceMomentum
Cell/face momentum equation switch.
Switch dragCorrection
Cell/face drag correction for cell momentum corrector.
virtual void preSolve()
Called at the start of the time-step, before the PIMPLE loop.
phaseSystem::alphaControl alphaControls
virtual ~multiphaseEuler()
Destructor.
virtual void thermophysicalTransportPredictor()
Predict thermophysical transport.
multiphaseEuler(fvMesh &mesh)
Construct from region mesh.
virtual bool read()
Read controls.
Template function which returns the un-mangled name of a given type. Useful for types which do not ha...
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
const Foam::MRFZones & MRF(Foam::MRFZones::New(mesh))
pimpleControl pimple(mesh)
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Calculate the divergence of the given field.
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< VolInternalField< Type > > surfaceSum(const SurfaceField< Type > &ssf)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
addToRunTimeSelectionTable(solver, compressibleMultiphaseVoF, fvMesh)
defineTypeNameAndDebug(basicFluidSolver, 0)
const dimensionSet & dimless
Ostream & endl(Ostream &os)
Add newline and flush stream.
Type gSum(const UList< Type > &f, const label comm)
const dimensionSet & dimTime
VolField< scalar > volScalarField
Type gMax(const UList< Type > &f, const label comm)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void read(const dictionary &dict)
Read the alpha and MULES controls from dict.