50 void Foam::solvers::isothermalFluid::correctCoNum()
52 basicFluidSolver::correctCoNum(
rho,
phi);
56 void Foam::solvers::isothermalFluid::continuityErrors()
98 thermoPtr_(thermoPtr),
99 thermo_(thermoPtr_()),
137 thermo_.incompressible()
271 Info<<
"Constructing face momentum rhoUf" <<
endl;
274 U_.correctBoundaryConditions();
318 for (
label i = 1; i <= rhoUf().nOldTimes(
false); ++ i)
320 rhoU().oldTimeRef(i) ==
rho.oldTime(i)*
U.oldTime(i);
345 momentumTransport->predict();
365 correctBuoyantPressure();
379 momentumTransport->correct();
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.
MRF zones DemandDrivenMeshObject read from MRFProperties dictionary.
label size() const
Return the number of elements in the UPtrList.
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.
bool dynamic() const
Is this mesh dynamic?
bool topoChanging() const
Does the mesh topology change?
virtual void preUpdateMesh()
Prepare for mesh update.
void setFluxRequired(const word &name) const
bool steady() const
Return true if the default ddtScheme is steadyState.
static word rDeltaTName
Name of the reciprocal local time-step field.
Abstract base class for momentum transport models (RAS, LES and laminar).
static const dictionary & dict(const fvMesh &mesh, const word &algorithmName="PIMPLE")
Return the solution dictionary.
bool moving() const
Is the mesh moving?
Provides controls for the pressure reference in closed-volume simulations.
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.
Base solver module for fluid solvers.
void continuityErrors(const surfaceScalarField &phi)
Calculate and print the continuity errors.
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
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.
const surfaceScalarField & phi
Mass-flux field.
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.
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.
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.
virtual void thermophysicalTransportCorrector()
Correct the thermophysical transport.
isothermalFluid(fvMesh &mesh, autoPtr< fluidThermo >)
Construct from region mesh and thermophysical properties.
const volScalarField & rho
Reference to the continuity density field.
volScalarField & p_rgh_
Reference to the buoyant pressure for buoyant cases.
virtual void preSolve()
Called at the start of the time-step, before the PIMPLE loop.
const volScalarField & p
Reference to the pressure field.
virtual void thermophysicalTransportPredictor()
Predict thermophysical transport.
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))
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.
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(basicFluidSolver, 0)
const dimensionSet & dimless
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.
Ostream & endl(Ostream &os)
Add newline and flush stream.
String typeName(const std::type_info &info)
Return the un-mangled name given the standard type info.
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
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
SurfaceField< vector > surfaceVectorField
tmp< DimensionedField< scalar, GeoMesh, Field > > magSqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
fluidMulticomponentThermo & thermo