Solver module for steady or transient turbulent flow of compressible multicomponent fluids with optional mesh motion and change. More...
Public Member Functions | |
TypeName ("multicomponentFluid") | |
Runtime type information. More... | |
multicomponentFluid (fvMesh &mesh) | |
Construct from region mesh. More... | |
multicomponentFluid (const multicomponentFluid &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~multicomponentFluid () |
Destructor. More... | |
virtual void | prePredictor () |
Called at the start of the PIMPLE loop. More... | |
virtual void | thermophysicalPredictor () |
Construct and solve the energy equation,. More... | |
virtual void | postCorrector () |
Correct the momentum and thermophysical transport modelling. More... | |
void | operator= (const multicomponentFluid &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from isothermalFluid | |
TypeName ("isothermalFluid") | |
Runtime type information. More... | |
isothermalFluid (fvMesh &mesh, autoPtr< fluidThermo >) | |
Construct from region mesh and thermophysical properties. More... | |
isothermalFluid (fvMesh &mesh) | |
Construct from region mesh. More... | |
isothermalFluid (const isothermalFluid &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~isothermalFluid () |
Destructor. More... | |
virtual void | preSolve () |
Called at the start of the time-step, before the PIMPLE loop. More... | |
virtual void | moveMesh () |
Called at the start of the PIMPLE loop to move the mesh. More... | |
virtual void | motionCorrector () |
Corrections that follow mesh motion. More... | |
virtual void | momentumPredictor () |
Construct and optionally solve the momentum equation. More... | |
virtual void | pressureCorrector () |
Construct and solve the pressure equation in the PISO loop. More... | |
virtual void | postSolve () |
Called after the PIMPLE loop at the end of the time-step. More... | |
void | operator= (const isothermalFluid &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from fluidSolver | |
TypeName ("fluidSolver") | |
Runtime type information. More... | |
fluidSolver (fvMesh &mesh) | |
Construct from region mesh. More... | |
fluidSolver (const fluidSolver &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~fluidSolver () |
Destructor. More... | |
virtual scalar | maxDeltaT () const |
Return the current maximum time-step for stable solution. More... | |
void | operator= (const fluidSolver &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from solver | |
TypeName ("solver") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, solver, fvMesh,(fvMesh &mesh),(mesh)) | |
solver (fvMesh &mesh) | |
Construct from region mesh. More... | |
solver (const solver &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~solver () |
Destructor. More... | |
bool | transient () const |
Foam::fvModels & | fvModels () const |
Return the fvModels that are created on demand. More... | |
Foam::fvConstraints & | fvConstraints () const |
Return the fvConstraints that are created on demand. More... | |
void | operator= (const solver &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from regIOobject | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &, const bool isTime=false) | |
Construct from IOobject. Optional flag for if IOobject is the. More... | |
regIOobject (const regIOobject &) | |
Copy constructor. More... | |
regIOobject (const regIOobject &&) | |
Move constructor. More... | |
regIOobject (const regIOobject &, bool registerCopy) | |
Copy constructor, transferring registry registration to copy. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy constructor with new name, transferring registry registration. More... | |
regIOobject (const IOobject &, const regIOobject &) | |
Copy constructor with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
virtual bool | global () const |
Return true if object is global, i.e. same for all processors. More... | |
virtual bool | globalFile () const |
Return true if object is global, i.e. same for all processors. More... | |
const fileName & | caseName () const |
fileName | path () const |
Return complete path. More... | |
fileName | objectPath () const |
Return complete path + object name. More... | |
fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | checkIn () |
Add object to registry. More... | |
bool | checkOut () |
Remove object from registry. More... | |
void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | registered () const |
Is this object registered with the registry? More... | |
bool | ownedByRegistry () const |
Is this object owned by the registry? More... | |
void | store () |
Transfer ownership of this object to its registry. More... | |
void | release () |
Release ownership of this object from its registry. More... | |
label | eventNo () const |
Event number at last update. More... | |
label & | eventNo () |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set up to date (obviously) More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
bool | headerOk () |
Read and check header info. More... | |
Istream & | readStream (const word &, const bool read=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
const labelList & | watchIndices () const |
Return file-monitoring handles. More... | |
labelList & | watchIndices () |
Return file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const |
Write using given format, version and compression. More... | |
virtual bool | write (const bool write=true) const |
Write using setting from DB. More... | |
void | operator= (const IOobject &) |
Assign to IOobject. More... | |
void | operator= (const regIOobject &)=delete |
Disallow default assignment. More... | |
const fileName & | caseName (const bool global) const |
fileName | path (const bool global) const |
Return complete path including the processor sub-directory. More... | |
fileName | objectPath (const bool global) const |
Return complete path + object name including the processor. More... | |
fileName | filePath (const word &typeName, const bool global) const |
Return complete path + object name if the file exists. More... | |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Runtime type information. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Construct from copy resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Construct from copy resetting name. More... | |
IOobject (const IOobject &io)=default | |
Copy constructor. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
virtual | ~IOobject () |
Destructor. More... | |
const Time & | time () const |
Return time. More... | |
const objectRegistry & | db () const |
Return the local objectRegistry. More... | |
const word & | name () const |
Return name. More... | |
const word & | headerClassName () const |
Return name of the class name read from header. More... | |
word & | headerClassName () |
Return name of the class name read from header. More... | |
string & | note () |
Return non-constant access to the optional note. More... | |
const string & | note () const |
Return the optional note. More... | |
bool & | registerObject () |
Register object created from this IOobject with registry if true. More... | |
bool | registerObject () const |
Register object created from this IOobject with registry if true. More... | |
readOption | readOpt () const |
readOption & | readOpt () |
writeOption | writeOpt () const |
writeOption & | writeOpt () |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const |
const fileName & | caseName (const bool global) const |
fileName & | instance () const |
Return the instance directory, constant, system, <time> etc. More... | |
void | updateInstance () const |
If the instance is a time directory update to the current time. More... | |
const fileName & | local () const |
fileName | path (const bool global) const |
Return complete path including the processor sub-directory. More... | |
fileName | objectPath (const bool global) const |
Return complete path + object name including the processor. More... | |
fileName | relativePath () const |
Return the path relative to the case directory. More... | |
fileName | relativeObjectPath () const |
Return complete relativePath + object name. More... | |
fileName | filePath (const word &typeName, const bool global) const |
Return complete path + object name if the file exists. More... | |
bool | readHeader (Istream &) |
Read header. More... | |
bool | headerOk () |
Read header of local object without type-checking. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &) const |
Write header. More... | |
bool | writeHeader (Ostream &, const word &objectType) const |
Write header. Allow override of type. More... | |
bool | good () const |
bool | bad () const |
InfoProxy< IOobject > | info () const |
Return info proxy. More... | |
void | operator= (const IOobject &) |
template<class Name > | |
Foam::word | groupName (Name name, const word &group) |
Public Attributes | |
const fluidMulticomponentThermo & | thermo |
Reference to the fluid thermophysical properties. More... | |
const PtrList< volScalarField > & | Y |
Reference to the composition. More... | |
Public Attributes inherited from isothermalFluid | |
const fluidThermo & | thermo |
Reference to the fluid thermophysical properties. More... | |
const volScalarField & | p |
Reference to the pressure field. More... | |
const volScalarField & | rho |
Reference to the continuity density field. More... | |
const volVectorField & | U |
Velocity field. More... | |
const surfaceScalarField & | phi |
Mass-flux field. More... | |
Public Attributes inherited from fluidSolver | |
const scalar & | CoNum |
Current maximum Courant number for time-step control. More... | |
Public Attributes inherited from solver | |
const fvMesh & | mesh |
Region mesh. More... | |
const Time & | runTime |
Time. More... | |
pimpleNoLoopControl | pimple |
PIMPLE inner-loop controls. More... | |
Protected Attributes | |
fluidMulticomponentThermo & | thermo_ |
PtrList< volScalarField > & | Y_ |
autoPtr< combustionModel > | reaction |
multivariateSurfaceInterpolationScheme< scalar >::fieldTable | fields |
autoPtr< fluidMulticomponentThermophysicalTransportModel > | thermophysicalTransport |
Protected Attributes inherited from isothermalFluid | |
autoPtr< fluidThermo > | thermoPtr_ |
Pointer to the fluid thermophysical properties. More... | |
fluidThermo & | thermo_ |
Reference to the fluid thermophysical properties. More... | |
volScalarField & | p_ |
Reference to the pressure field. More... | |
volScalarField | rho_ |
The continuity density field. More... | |
volScalarField::Internal | dpdt |
Rate of change of the pressure. More... | |
autoPtr< solvers::buoyancy > | buoyancy |
Pointer to the optional buoyancy force. More... | |
volScalarField & | p_rgh |
Reference to the buoyant pressure for buoyant cases. More... | |
Foam::pressureReference | pressureReference |
Pressure reference. More... | |
volVectorField | U_ |
Velocity field. More... | |
surfaceScalarField | phi_ |
Mass-flux field. More... | |
volScalarField | K |
Kinetic energy field. More... | |
autoPtr< compressible::momentumTransportModel > | momentumTransport |
Pointer to the momentum transport model. More... | |
dimensionedScalar | initialMass |
Initial mass in the region. More... | |
IOMRFZoneList | MRF |
MRF zone list. More... | |
tmp< volVectorField > | netForce |
Momentum equation net force source term. More... | |
autoPtr< volVectorField > | rhoU |
Pointer to the vol momentum field. More... | |
autoPtr< surfaceVectorField > | rhoUf |
Pointer to the surface momentum field. More... | |
autoPtr< volScalarField > | divrhoU |
Pointer to the vol momentum divergence field. More... | |
tmp< volScalarField > | trDeltaT |
Optional LTS reciprocal time-step field. More... | |
tmp< fvVectorMatrix > | tUEqn |
Cached momentum matrix. More... | |
Protected Attributes inherited from fluidSolver | |
bool | correctPhi |
Switch to correct the flux after mesh change. More... | |
scalar | CoNum_ |
Current maximum Courant number for time-step control. More... | |
Protected Attributes inherited from solver | |
fvMesh & | mesh_ |
Region mesh. More... | |
bool | steady |
Switch for steady-state. More... | |
bool | LTS |
Switch for local time step transient operation. More... | |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | objectState { GOOD , BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | readOption { MUST_READ , MUST_READ_IF_MODIFIED , READ_IF_PRESENT , NO_READ } |
Enumeration defining the read options. More... | |
enum | writeOption { AUTO_WRITE = 0 , NO_WRITE = 1 } |
Enumeration defining the write options. More... | |
enum | fileCheckTypes { timeStamp , timeStampMaster , inotify , inotifyMaster } |
Enumeration defining the file checking options. More... | |
Static Public Member Functions inherited from solver | |
static autoPtr< solver > | New (const word &solverName, fvMesh &mesh) |
Select, construct and return the solver. More... | |
static void | load (const word &solverName) |
Load the specified solver library. More... | |
Static Public Member Functions inherited from regIOobject | |
template<class Type > | |
static Type & | store (Type *) |
Transfer ownership of the given object pointer to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &) |
Transfer ownership of the given object pointer to its registry. More... | |
Static Public Member Functions inherited from IOobject | |
static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
Split path into instance, local, name components. More... | |
template<class Name > | |
static word | groupName (Name name, const word &group) |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
template<class Stream > | |
static Stream & | writeBanner (Stream &os, bool noHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
template<class Stream > | |
static Stream & | writeDivider (Stream &os) |
Write the standard file section divider. More... | |
template<class Stream > | |
static Stream & | writeEndDivider (Stream &os) |
Write the standard end file divider. More... | |
Static Public Attributes inherited from solver | |
static scalar | deltaTFactor = 1.2 |
deltaT increase factor More... | |
Static Public Attributes inherited from regIOobject | |
static float | fileModificationSkew |
Static Public Attributes inherited from IOobject | |
static constexpr const char * | foamFile = "FoamFile" |
Keyword for the FoamFile header sub-dictionary. More... | |
static const NamedEnum< fileCheckTypes, 4 > | fileCheckTypesNames |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
Protected Member Functions inherited from isothermalFluid | |
tmp< volScalarField::Internal > | pressureWork (const tmp< volScalarField::Internal > &) const |
Adds the mesh-motion work to the pressure work term provided. More... | |
Protected Member Functions inherited from fluidSolver | |
virtual bool | dependenciesModified () const |
Return true if the solver's dependencies have been modified. More... | |
virtual bool | read () |
Read controls. More... | |
void | meshCourantNo () const |
Check mesh Courant numbers for moving mesh cases. More... | |
void | correctCoNum (const surfaceScalarField &phi) |
Correct the cached Courant numbers. More... | |
void | correctCoNum (const volScalarField &rho, const surfaceScalarField &phi) |
Correct the cached Courant numbers. More... | |
void | continuityErrors (const surfaceScalarField &phi) |
Calculate and print the continuity errors. More... | |
void | continuityErrors (const volScalarField &rho, const volScalarField &thermoRho, const surfaceScalarField &phi) |
Calculate and print the continuity errors. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstream::streamFormat defaultFormat, const word &typeName) |
Read header, check readOpt flags and read data if necessary. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &) |
Set the object state to bad. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType) |
Read header using typeGlobalFile to find file. More... | |
Solver module for steady or transient turbulent flow of compressible multicomponent fluids with optional mesh motion and change.
Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and pseudo-transient and steady simulations.
Optional fvModels and fvConstraints are provided to enhance the simulation in many ways including adding various sources, chemical reactions, combustion, Lagrangian particles, radiation, surface film etc. and constraining or limiting the solution.
Reference:
Greenshields, C. J., & Weller, H. G. (2022). Notes on Computational Fluid Dynamics: General Principles. CFD Direct Ltd.: Reading, UK.
Definition at line 74 of file multicomponentFluid.H.
multicomponentFluid | ( | fvMesh & | mesh | ) |
Construct from region mesh.
Definition at line 44 of file multicomponentFluid.C.
References multicomponentFluid::fields, forAll, basicThermo::he(), multicomponentFluid::thermo, Foam::type(), basicThermo::validate(), and multicomponentFluid::Y.
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 82 of file multicomponentFluid.C.
TypeName | ( | "multicomponentFluid" | ) |
Runtime type information.
|
virtual |
Called at the start of the PIMPLE loop.
Reimplemented from isothermalFluid.
Definition at line 88 of file multicomponentFluid.C.
References pimple(), isothermalFluid::prePredictor(), and thermophysicalTransport().
|
virtual |
Construct and solve the energy equation,.
convert to temperature and update thermophysical and transport properties
Reimplemented from isothermalFluid.
Definition at line 31 of file thermophysicalPredictor.C.
References fvConstraints::constrain(), basicThermo::correct(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), Foam::fvc::ddt(), Foam::fvm::ddt(), Foam::fvc::div(), fvSchemes::div(), isothermalFluid::dpdt, EEqn(), multicomponentFluid::fields, forAll, solver::fvConstraints(), buoyancy::g, he(), basicThermo::he(), isothermalFluid::K, solver::mesh, mvConvection(), multicomponentThermo::normaliseY(), isothermalFluid::p, isothermalFluid::phi, isothermalFluid::pressureWork(), fvMatrix< Type >::relax(), isothermalFluid::rho, fvMesh::schemes(), fvMatrix< Type >::solve(), multicomponentThermo::solveSpecie(), multicomponentFluid::thermo_, multicomponentFluid::thermophysicalTransport, isothermalFluid::U, multicomponentFluid::Y, and multicomponentFluid::Y_.
|
virtual |
Correct the momentum and thermophysical transport modelling.
Reimplemented from isothermalFluid.
Definition at line 99 of file multicomponentFluid.C.
References pimple(), isothermalFluid::postCorrector(), and thermophysicalTransport().
|
delete |
Disallow default bitwise assignment.
|
protected |
Definition at line 83 of file multicomponentFluid.H.
Referenced by multicomponentFluid::thermophysicalPredictor().
|
protected |
Definition at line 88 of file multicomponentFluid.H.
Referenced by multicomponentFluid::thermophysicalPredictor().
|
protected |
Definition at line 93 of file multicomponentFluid.H.
|
protected |
Definition at line 94 of file multicomponentFluid.H.
Referenced by multicomponentFluid::multicomponentFluid(), and multicomponentFluid::thermophysicalPredictor().
|
protected |
Definition at line 100 of file multicomponentFluid.H.
Referenced by multicomponentFluid::thermophysicalPredictor().
const fluidMulticomponentThermo& thermo |
Reference to the fluid thermophysical properties.
Definition at line 116 of file multicomponentFluid.H.
Referenced by multicomponentFluid::multicomponentFluid().
const PtrList<volScalarField>& Y |
Reference to the composition.
Definition at line 119 of file multicomponentFluid.H.
Referenced by multicomponentFluid::multicomponentFluid(), and multicomponentFluid::thermophysicalPredictor().