50 void Foam::solvers::isothermalFluid::correctCoNum()
52 fluidSolver::correctCoNum(
rho,
phi);
56 void Foam::solvers::isothermalFluid::continuityErrors()
98 thermoPtr_(thermoPtr),
99 thermo_(thermoPtr_()),
137 thermo_.incompressible()
245 extrapolatedCalculatedFvPatchScalarField::typeName
268 if ((mesh.dynamic() ||
MRF.size()) && !rhoUf.valid())
270 Info<<
"Constructing face momentum rhoUf" <<
endl;
273 U_.correctBoundaryConditions();
313 if (mesh.topoChanging())
317 for (
label i = 1; i <= rhoUf().nOldTimes(
false); ++ i)
319 rhoU().oldTimeRef(i) ==
rho.oldTime(i)*
U.oldTime(i);
340 correctBuoyantPressure();
354 if (
pimple.correctTransport())
356 momentumTransport->correct();
365 if (!mesh.schemes().steady())
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.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const word & name() const
Return const reference to name.
Base-class for fluid thermodynamic properties.
Mesh data needed to do the Finite Volume discretisation.
const fvSchemes & schemes() const
Return the fvSchemes.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
virtual void preUpdateMesh()
Prepare for mesh update.
void setFluxRequired(const word &name) const
static word rDeltaTName
Name of the reciprocal local time-step field.
Abstract base class for turbulence models (RAS, LES and laminar).
Provides controls for the pressure reference in closed-volume simulations.
virtual const dictionary & dict() const
Return the solution dictionary.
Abstract base class for run-time selectable region solvers.
bool LTS
Switch for local time step transient operation.
pimpleNoLoopControl pimple
PIMPLE inner-loop controls.
const Time & runTime
Time.
const fvMesh & mesh
Region mesh.
Buoyancy related data for the Foam::solvers::isothermalFluid solver module when solving buoyant cases...
volScalarField gh
(g & h) - ghRef
uniformDimensionedScalarField pRef
Reference pressure.
surfaceScalarField ghf
(g & hf) - ghRef
Base solver module for fluid solvers.
void continuityErrors(const surfaceScalarField &phi)
Calculate and print the continuity errors.
Solver module for steady or transient turbulent flow of compressible isothermal fluids with optional ...
virtual void thermophysicalPredictor()
Construct and solve the energy equation,.
volScalarField rho_
The continuity density field.
volScalarField & p_rgh
Reference to the buoyant pressure for buoyant cases.
const surfaceScalarField & phi
Mass-flux field.
virtual void postSolve()
Called after the PIMPLE loop at the end of the time-step.
tmp< volVectorField > netForce
Momentum equation net force source term.
tmp< volScalarField > trDeltaT
Optional LTS reciprocal time-step field.
fluidThermo & thermo_
Reference to the fluid thermophysical properties.
virtual ~isothermalFluid()
Destructor.
const volVectorField & U
Velocity field.
virtual void pressureCorrector()
Construct and solve the pressure equation in the PISO loop.
virtual void postCorrector()
Correct the momentum and thermophysical transport modelling.
tmp< volScalarField::Internal > pressureWork(const tmp< volScalarField::Internal > &) const
Adds the mesh-motion work to the pressure work term provided.
volScalarField & p_
Reference to the pressure field.
isothermalFluid(fvMesh &mesh, autoPtr< fluidThermo >)
Construct from region mesh and thermophysical properties.
const volScalarField & rho
Reference to the continuity density field.
virtual void preSolve()
Called at the start of the time-step, before the PIMPLE loop.
const volScalarField & p
Reference to the pressure field.
autoPtr< compressible::momentumTransportModel > momentumTransport
Pointer to the momentum transport model.
A class for managing temporary objects.
tmp< fvVectorMatrix > tUEqn(fvm::div(phi, U)+MRF.DDt(rho, U)+turbulence->divDevTau(U)==fvModels.source(rho, U))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
pimpleControl pimple(mesh)
Calculate the divergence of the given field.
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
Reconstruct volField from a face flux field.
Calculate the snGrad of the given volField.
Volume integrate volField creating a volField.
dimensionedScalar initialMass
bool valid(const PtrList< ModelType > &l)
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
void correctRhoUf(autoPtr< surfaceVectorField > &rhoUf, const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const MRFType &MRF)
tmp< surfaceScalarField > meshPhi(const volVectorField &U)
tmp< VolField< typename outerProduct< vector, Type >::type > > reconstruct(const SurfaceField< Type > &ssf)
dimensioned< Type > domainIntegrate(const VolField< Type > &vf)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
tmp< SurfaceField< Type > > snGrad(const VolField< Type > &vf, const word &name)
addToRunTimeSelectionTable(solver, compressibleMultiphaseVoF, fvMesh)
defineTypeNameAndDebug(compressibleMultiphaseVoF, 0)
VolField< vector > volVectorField
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const HashTable< dimensionSet > & dimensions()
Get the table of dimension sets.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimless
void hydrostaticInitialisation(volScalarField &p_rgh, volScalarField &p, volScalarField &rho, const volVectorField &U, const volScalarField &gh, const surfaceScalarField &ghf, const uniformDimensionedScalarField &pRef, fluidThermo &thermo, const dictionary &dict)
tmp< SurfaceField< Type > > linearInterpolate(const VolField< Type > &vf)
const dimensionSet dimTime
VolField< scalar > volScalarField
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
SurfaceField< vector > surfaceVectorField
dimensioned< scalar > magSqr(const dimensioned< Type > &)
fluidMulticomponentThermo & thermo