Abstract base class for run-time selectable region solvers. More...
Public Member Functions | |
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... | |
virtual scalar | maxDeltaT () const =0 |
Return the current maximum time-step for stable solution. More... | |
virtual void | preSolve ()=0 |
Called at the start of the time-step, before the PIMPLE loop. More... | |
virtual void | moveMesh ()=0 |
Called at the start of the PIMPLE loop to move the mesh. More... | |
virtual void | motionCorrector ()=0 |
Corrections that follow mesh motion. More... | |
virtual void | prePredictor ()=0 |
Called at the start of the PIMPLE loop. More... | |
virtual void | momentumPredictor ()=0 |
Construct and optionally solve the momentum equation. More... | |
virtual void | thermophysicalPredictor ()=0 |
Construct and solve the thermophysical property equations,. More... | |
virtual void | pressureCorrector ()=0 |
Construct and solve the pressure equation in the PISO loop. More... | |
virtual void | postCorrector ()=0 |
Correct the momentum and thermophysical transport modelling. More... | |
virtual void | postSolve ()=0 |
Called after the PIMPLE loop at the end of the time-step. 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 | dependenciesModified () const |
Return true if the object's dependencies have been modified. 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) |
Static Public Member Functions | |
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... | |
Public Attributes | |
const fvMesh & | mesh |
Region mesh. More... | |
const Time & | runTime |
Time. More... | |
pimpleNoLoopControl | pimple |
PIMPLE inner-loop controls. More... | |
Static Public Attributes | |
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 | |
virtual bool | read () |
Read controls. 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... | |
Protected Attributes | |
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... | |
Abstract base class for run-time selectable region solvers.
Construct from region mesh.
Definition at line 60 of file solver.C.
References Time::controlDict(), solver::deltaTFactor, dictionary::lookupOrDefault(), solver::mesh, and fvMesh::time().
|
protectedvirtual |
Read controls.
Reimplemented from regIOobject.
Reimplemented in solidDisplacement, solid, multiphaseEuler, isothermalFilm, and fluidSolver.
Definition at line 52 of file solver.C.
Referenced by fluidSolver::read(), isothermalFilm::read(), and solid::read().
TypeName | ( | "solver" | ) |
Runtime type information.
|
static |
Select, construct and return the solver.
Definition at line 36 of file solverNew.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::Info, and Foam::nl.
Referenced by functions::functions().
|
static |
Load the specified solver library.
Definition at line 30 of file solverNew.C.
References Foam::libs, and dlLibraryTable::open().
|
inline |
Definition at line 157 of file solver.H.
References solver::LTS, and solver::steady.
Foam::fvModels & fvModels | ( | ) | const |
Return the fvModels that are created on demand.
Definition at line 96 of file solver.C.
References dictionary::New().
Referenced by compressibleVoF::alphaSuSp(), incompressibleVoF::alphaSuSp(), filmVoFTransfer::correct(), incompressibleDenseParticleFluid::correctPressure(), incompressibleFluid::correctPressure(), compressibleVoF::divergent(), twoPhaseSolver::incompressiblePressureCorrector(), incompressibleDenseParticleFluid::momentumPredictor(), incompressibleFluid::momentumPredictor(), isothermalFluid::momentumPredictor(), shockFluid::momentumPredictor(), VoFSolver::momentumPredictor(), compressibleMultiphaseVoF::pressureCorrector(), compressibleVoF::pressureCorrector(), incompressibleMultiphaseVoF::pressureCorrector(), compressibleMultiphaseVoF::thermophysicalPredictor(), compressibleVoF::thermophysicalPredictor(), and shockFluid::thermophysicalPredictor().
Foam::fvConstraints & fvConstraints | ( | ) | const |
Return the fvConstraints that are created on demand.
Definition at line 107 of file solver.C.
References dictionary::New().
Referenced by incompressibleDenseParticleFluid::correctPressure(), incompressibleFluid::correctPressure(), XiFluid::ftSolve(), twoPhaseSolver::incompressiblePressureCorrector(), incompressibleDenseParticleFluid::momentumPredictor(), incompressibleFluid::momentumPredictor(), isothermalFluid::momentumPredictor(), shockFluid::momentumPredictor(), VoFSolver::momentumPredictor(), compressibleMultiphaseVoF::pressureCorrector(), compressibleVoF::pressureCorrector(), incompressibleMultiphaseVoF::pressureCorrector(), compressibleMultiphaseVoF::thermophysicalPredictor(), compressibleVoF::thermophysicalPredictor(), film::thermophysicalPredictor(), fluid::thermophysicalPredictor(), multicomponentFluid::thermophysicalPredictor(), and shockFluid::thermophysicalPredictor().
|
pure virtual |
Return the current maximum time-step for stable solution.
Implemented in VoFSolver, solid, movingMesh, isothermalFilm, incompressibleDriftFlux, functions, and fluidSolver.
|
pure virtual |
Called at the start of the time-step, before the PIMPLE loop.
Implemented in VoFSolver, twoPhaseSolver, solid, shockFluid, multiphaseVoFSolver, multiphaseEuler, movingMesh, isothermalFluid, isothermalFilm, incompressibleFluid, and incompressibleDenseParticleFluid.
|
pure virtual |
Called at the start of the PIMPLE loop to move the mesh.
Implemented in VoFSolver, solid, shockFluid, multiphaseEuler, movingMesh, isothermalFluid, isothermalFilm, incompressibleFluid, and incompressibleDenseParticleFluid.
|
pure virtual |
Corrections that follow mesh motion.
Implemented in VoFSolver, solid, shockFluid, multiphaseEuler, movingMesh, isothermalFluid, isothermalFilm, incompressibleFluid, and incompressibleDenseParticleFluid.
|
pure virtual |
Called at the start of the PIMPLE loop.
Implemented in VoFSolver, XiFluid, twoPhaseSolver, solidDisplacement, solid, shockFluid, multiphaseVoFSolver, multiphaseEuler, multicomponentFluid, movingMesh, isothermalFluid, isothermalFilm, incompressibleVoF, incompressibleMultiphaseVoF, incompressibleFluid, incompressibleDriftFlux, incompressibleDenseParticleFluid, functions, fluid, compressibleVoF, and compressibleMultiphaseVoF.
|
pure virtual |
Construct and optionally solve the momentum equation.
Implemented in VoFSolver, solid, shockFluid, multiphaseEuler, movingMesh, isothermalFluid, isothermalFilm, incompressibleFluid, incompressibleDenseParticleFluid, functions, compressibleVoF, and compressibleMultiphaseVoF.
|
pure virtual |
Construct and solve the thermophysical property equations,.
convert to temperature and update thermophysical and transport properties
Implemented in VoFSolver, XiFluid, solidDisplacement, solid, shockFluid, multiphaseEuler, multicomponentFluid, movingMesh, isothermalFluid, isothermalFilm, incompressibleVoF, incompressibleMultiphaseVoF, incompressibleFluid, incompressibleDriftFlux, incompressibleDenseParticleFluid, functions, fluid, film, compressibleVoF, and compressibleMultiphaseVoF.
|
pure virtual |
Construct and solve the pressure equation in the PISO loop.
Implemented in VoFSolver, solidDisplacement, solid, shockFluid, multiphaseEuler, movingMesh, isothermalFluid, isothermalFilm, incompressibleVoF, incompressibleMultiphaseVoF, incompressibleFluid, incompressibleDriftFlux, incompressibleDenseParticleFluid, functions, compressibleVoF, and compressibleMultiphaseVoF.
|
pure virtual |
Correct the momentum and thermophysical transport modelling.
Implemented in XiFluid, solidDisplacement, solid, shockFluid, multiphaseEuler, multicomponentFluid, movingMesh, isothermalFluid, isothermalFilm, incompressibleVoF, incompressibleMultiphaseVoF, incompressibleFluid, incompressibleDriftFlux, incompressibleDenseParticleFluid, functions, fluid, film, compressibleVoF, and compressibleMultiphaseVoF.
|
pure virtual |
Called after the PIMPLE loop at the end of the time-step.
Implemented in VoFSolver, solidDisplacement, solid, shockFluid, multiphaseEuler, movingMesh, isothermalFluid, isothermalFilm, incompressibleFluid, incompressibleDenseParticleFluid, and functions.
|
delete |
Disallow default bitwise assignment.
|
protected |
Region mesh.
Definition at line 62 of file solver.H.
Referenced by incompressibleDenseParticleFluid::moveMesh(), incompressibleFluid::moveMesh(), isothermalFluid::moveMesh(), multiphaseEuler::moveMesh(), shockFluid::moveMesh(), and VoFSolver::moveMesh().
|
protected |
Switch for steady-state.
Set automatically from the selected ddt scheme
Definition at line 66 of file solver.H.
Referenced by solver::transient().
|
protected |
Switch for local time step transient operation.
Set automatically from the selected ddt scheme
Definition at line 70 of file solver.H.
Referenced by incompressibleFluid::incompressibleFluid(), isothermalFluid::isothermalFluid(), shockFluid::shockFluid(), solid::solid(), solver::transient(), and VoFSolver::VoFSolver().
const fvMesh& mesh |
Region mesh.
Definition at line 101 of file solver.H.
Referenced by twoPhaseSolver::alphaPhi(), compressibleVoF::alphaSuSp(), incompressibleVoF::alphaSuSp(), compressibleMultiphaseVoF::compressibleMultiphaseVoF(), compressibleVoF::compressibleVoF(), filmVoFTransfer::correct(), incompressibleDenseParticleFluid::correctPressure(), incompressibleFluid::correctPressure(), fluidSolver::dependenciesModified(), solidDisplacement::dependenciesModified(), functions::functions(), incompressibleDenseParticleFluid::incompressibleDenseParticleFluid(), incompressibleDriftFlux::incompressibleDriftFlux(), incompressibleFluid::incompressibleFluid(), incompressibleMultiphaseVoF::incompressibleMultiphaseVoF(), twoPhaseSolver::incompressiblePressureCorrector(), incompressibleVoF::incompressibleVoF(), isothermalFilm::isothermalFilm(), isothermalFluid::isothermalFluid(), incompressibleDenseParticleFluid::momentumPredictor(), shockFluid::momentumPredictor(), VoFSolver::momentumPredictor(), multiphaseEuler::moveMesh(), VoFSolver::moveMesh(), multiphaseEuler::multiphaseEuler(), isothermalFluid::prePredictor(), compressibleMultiphaseVoF::pressureCorrector(), compressibleVoF::pressureCorrector(), incompressibleMultiphaseVoF::pressureCorrector(), Foam::regionName(), multiphaseVoFSolver::setInterfaceRDeltaT(), twoPhaseVoFSolver::setInterfaceRDeltaT(), incompressibleFluid::setRDeltaT(), shockFluid::shockFluid(), solidDisplacement::solidDisplacement(), solver::solver(), multicomponentFluid::thermophysicalPredictor(), shockFluid::thermophysicalPredictor(), twoPhaseSolver::twoPhaseSolver(), and VoFSolver::VoFSolver().
const Time& runTime |
Time.
Definition at line 104 of file solver.H.
Referenced by compressibleMultiphaseVoF::compressibleMultiphaseVoF(), compressibleVoF::compressibleVoF(), fluidSolver::dependenciesModified(), functions::functions(), incompressibleDriftFlux::incompressibleDriftFlux(), incompressibleFluid::incompressibleFluid(), incompressibleMultiphaseVoF::incompressibleMultiphaseVoF(), incompressibleVoF::incompressibleVoF(), isothermalFluid::isothermalFluid(), incompressibleFluid::setRDeltaT(), shockFluid::shockFluid(), and VoFSolver::VoFSolver().
pimpleNoLoopControl pimple |
PIMPLE inner-loop controls.
Definition at line 107 of file solver.H.
Referenced by incompressibleDenseParticleFluid::correctPressure(), incompressibleFluid::correctPressure(), incompressibleDriftFlux::incompressibleDriftFlux(), incompressibleMultiphaseVoF::incompressibleMultiphaseVoF(), twoPhaseSolver::incompressiblePressureCorrector(), incompressibleVoF::incompressibleVoF(), isothermalFluid::isothermalFluid(), incompressibleDenseParticleFluid::momentumPredictor(), incompressibleFluid::momentumPredictor(), isothermalFluid::momentumPredictor(), VoFSolver::momentumPredictor(), incompressibleDenseParticleFluid::moveMesh(), incompressibleFluid::moveMesh(), isothermalFluid::moveMesh(), multiphaseEuler::moveMesh(), shockFluid::moveMesh(), VoFSolver::moveMesh(), isothermalFilm::prePredictor(), isothermalFluid::prePredictor(), shockFluid::prePredictor(), compressibleMultiphaseVoF::pressureCorrector(), compressibleVoF::pressureCorrector(), incompressibleMultiphaseVoF::pressureCorrector(), multiphaseEuler::pressureCorrector(), multiphaseEuler::read(), multiphaseVoFSolver::setInterfaceRDeltaT(), twoPhaseVoFSolver::setInterfaceRDeltaT(), and incompressibleFluid::setRDeltaT().
|
static |