Solver module base-class for 2 immiscible fluids using a VOF (volume of fluid) phase-fraction based interface capturing approach, with optional mesh motion and mesh topology changes including adaptive re-meshing. More...
Public Member Functions | |
TypeName ("twoPhaseVoFSolver") | |
Runtime type information. More... | |
twoPhaseVoFSolver (fvMesh &mesh, autoPtr< twoPhaseVoFMixture >) | |
Construct from region mesh. More... | |
twoPhaseVoFSolver (const twoPhaseVoFSolver &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~twoPhaseVoFSolver () |
Destructor. More... | |
void | operator= (const twoPhaseVoFSolver &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from twoPhaseSolver | |
TypeName ("twoPhaseSolver") | |
Runtime type information. More... | |
twoPhaseSolver (fvMesh &mesh, autoPtr< twoPhaseVoFMixture >) | |
Construct from region mesh. More... | |
twoPhaseSolver (const twoPhaseSolver &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~twoPhaseSolver () |
Destructor. More... | |
virtual void | preSolve () |
Called at the start of the time-step, before the PIMPLE loop. More... | |
virtual void | prePredictor () |
Called at the start of the PIMPLE loop. More... | |
void | operator= (const twoPhaseSolver &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from VoFSolver | |
TypeName ("VoFSolver") | |
Runtime type information. More... | |
VoFSolver (fvMesh &mesh, autoPtr< VoFMixture >) | |
Construct from region mesh. More... | |
VoFSolver (const VoFSolver &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~VoFSolver () |
Destructor. More... | |
virtual scalar | maxDeltaT () const |
Return the current maximum time-step for stable solution. 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 | thermophysicalPredictor ()=0 |
Construct and solve the energy equation,. More... | |
virtual void | pressureCorrector ()=0 |
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 VoFSolver &)=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... | |
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... | |
virtual void | postCorrector ()=0 |
Correct the momentum and thermophysical transport modelling. 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) |
Protected Member Functions | |
virtual void | setInterfaceRDeltaT (volScalarField &rDeltaT) |
Adjust the rDeltaT in the vicinity of the interface. More... | |
virtual void | correctInterface () |
Correct the interface properties following mesh-change. More... | |
virtual tmp< surfaceScalarField > | surfaceTensionForce () const |
Return the interface surface tension force for the momentum equation. More... | |
Protected Member Functions inherited from twoPhaseSolver | |
virtual tmp< surfaceScalarField > | alphaPhi (const surfaceScalarField &phi, const volScalarField &alpha, const dictionary &alphaControls) |
void | alphaPredictor () |
Solve for the phase-fractions. More... | |
virtual void | alphaSuSp (tmp< volScalarField::Internal > &Su, tmp< volScalarField::Internal > &Sp, const dictionary &alphaControls)=0 |
Calculate the alpha equation sources. More... | |
void | incompressiblePressureCorrector (volScalarField &p) |
Construct and solve the incompressible pressure equation. More... | |
Protected Member Functions inherited from VoFSolver | |
void | setrAU (const fvVectorMatrix &UEqn) |
Set or update the cached rAU. More... | |
void | clearrAU () |
Clear the cached rAU is no longer needed. More... | |
void | continuityErrors () |
Calculate and print the continuity errors. More... | |
virtual const Foam::pressureReference & | pressureReference () const =0 |
Return the pressure reference. More... | |
virtual bool | incompressible () const =0 |
Is the flow incompressible? More... | |
virtual bool | divergent () const =0 |
Is the flow divergent? More... | |
virtual tmp< volScalarField > | psiByRho () const =0 |
Return the mixture compressibility/density. More... | |
virtual tmp< fvVectorMatrix > | divDevTau (volVectorField &U)=0 |
Return the momentum equation stress term. 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... | |
Protected Attributes | |
interfaceProperties | interface |
Protected Attributes inherited from twoPhaseSolver | |
twoPhaseVoFMixture & | mixture |
Reference to the twoPhaseVoFMixture. More... | |
volScalarField & | alpha1 |
Reference to the phase1-fraction. More... | |
volScalarField & | alpha2 |
Reference to the phase2-fraction. More... | |
bool | alphaRestart |
Switch indicating if this is a restart. More... | |
surfaceScalarField | alphaPhi1 |
surfaceScalarField | alphaPhi2 |
tmp< surfaceScalarField > | talphaPhi1Corr0 |
MULES Correction. More... | |
Protected Attributes inherited from VoFSolver | |
autoPtr< VoFMixture > | mixturePtr_ |
The compressible two-phase mixture. More... | |
VoFMixture & | mixture_ |
const word | divAlphaName |
Name of the alpha convection scheme. More... | |
scalar | alphaCoNum |
Phase-fraction flux Courant number. More... | |
volVectorField | U_ |
Velocity field. More... | |
surfaceScalarField | phi_ |
Volumetric flux field. More... | |
solvers::buoyancy | buoyancy |
Buoyancy force. More... | |
volScalarField & | p_rgh |
Reference to the buoyant pressure for buoyant cases. More... | |
const volScalarField & | rho |
Reference to the mixture continuity density field. More... | |
surfaceScalarField | rhoPhi |
Mass flux field. More... | |
IOMRFZoneList | MRF |
MRF zone list. More... | |
autoPtr< volScalarField > | rAU |
Inverse momentum equation diagonal. More... | |
autoPtr< surfaceVectorField > | Uf |
Pointer to the surface momentum field. More... | |
autoPtr< volScalarField > | divU |
Pointer to the 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... | |
Public Attributes inherited from VoFSolver | |
const VoFMixture & | mixture |
Reference to the VoF mixture. More... | |
const volVectorField & | U |
Reference to the velocity field. More... | |
const surfaceScalarField & | phi |
Reference to the 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... | |
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... | |
Solver module base-class for 2 immiscible fluids using a VOF (volume of fluid) phase-fraction based interface capturing approach, with optional mesh motion and mesh topology changes including adaptive re-meshing.
The momentum and other fluid properties are of the "mixture" and a single momentum equation is solved.
Either mixture or two-phase transport modelling may be selected. In the mixture approach a single laminar, RAS or LES model is selected to model the momentum stress. In the Euler-Euler two-phase approach separate laminar, RAS or LES selected models are selected for each of the phases.
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, Lagrangian particles, surface film etc. and constraining or limiting the solution.
Definition at line 71 of file twoPhaseVoFSolver.H.
twoPhaseVoFSolver | ( | fvMesh & | mesh, |
autoPtr< twoPhaseVoFMixture > | mixturePtr | ||
) |
Construct from region mesh.
Definition at line 82 of file twoPhaseVoFSolver.C.
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 101 of file twoPhaseVoFSolver.C.
|
protectedvirtual |
Adjust the rDeltaT in the vicinity of the interface.
Implements VoFSolver.
Definition at line 33 of file setInterfaceRDeltaT.C.
References twoPhaseSolver::alpha1, Foam::fvc::average(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), singleRegionSolutionControl::dict(), Foam::endl(), Foam::gMax(), Foam::gMin(), Foam::Info, GeometricField< Type, PatchField, GeoMesh >::internalFieldRef(), dictionary::lookupOrDefault(), Foam::mag(), Foam::max(), maxCo, solver::mesh, VoFSolver::phi, solver::pimple, Foam::pos0(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), Foam::fvc::smooth(), Foam::fvc::spread(), Foam::fvc::surfaceSum(), Foam::fvc::sweep(), and fvMesh::V().
|
protectedvirtual |
Correct the interface properties following mesh-change.
and phase-fraction update
Implements twoPhaseSolver.
Definition at line 67 of file twoPhaseVoFSolver.C.
|
protectedvirtual |
Return the interface surface tension force for the momentum equation.
Implements twoPhaseSolver.
Definition at line 74 of file twoPhaseVoFSolver.C.
Referenced by compressibleVoF::pressureCorrector().
TypeName | ( | "twoPhaseVoFSolver" | ) |
Runtime type information.
|
delete |
Disallow default bitwise assignment.
|
protected |
Definition at line 80 of file twoPhaseVoFSolver.H.