Evolves a passive scalar transport equation within one phase of a multiphase simulation. The scalar is considered to be a phase-intensive property; i.e., its value represents an amount per-unit of the phase. In addition to the scalar, the function also writes out the product of the volume fraction and the scalar, as this provides a phase-extensive field which is often more convenient to post-process. More...
Public Member Functions | |
TypeName ("phaseScalarTransport") | |
Runtime type information. More... | |
phaseScalarTransport (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
virtual | ~phaseScalarTransport () |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read the settings from the given dictionary. More... | |
virtual wordList | fields () const |
Return the list of fields required. More... | |
virtual bool | execute () |
Solve for the evolution of the field. More... | |
virtual bool | write () |
Do nothing. The field is registered and written automatically. More... | |
Public Member Functions inherited from fvMeshFunctionObject | |
TypeName ("fvMeshFunctionObject") | |
Runtime type information. More... | |
fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~fvMeshFunctionObject () |
Destructor. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from regionFunctionObject | |
TypeName ("regionFunctionObject") | |
Runtime type information. More... | |
regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
regionFunctionObject (const regionFunctionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~regionFunctionObject () |
Destructor. More... | |
void | operator= (const regionFunctionObject &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from functionObject | |
ClassName ("functionObject") | |
virtual const word & | type () const =0 |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
functionObject (const word &name) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
functionObject (const functionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~functionObject () |
Destructor. More... | |
const word & | name () const |
Return the name of this functionObject. More... | |
virtual bool | executeAtStart () const |
Return true if the functionObject should be executed at the start. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual scalar | timeToNextWrite () |
Called by Time::adjustTimeStep(). Allows the functionObject to. More... | |
virtual void | movePoints (const polyMesh &mesh) |
Update topology using the given map. More... | |
virtual void | topoChange (const polyTopoChangeMap &map) |
Update topology using the given map. More... | |
virtual void | mapMesh (const polyMeshMap &) |
Update from another mesh using the given map. More... | |
void | operator= (const functionObject &)=delete |
Disallow default bitwise assignment. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from functionObject | |
static autoPtr< functionObject > | New (const word &name, const Time &, const dictionary &) |
Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
Switch | log |
Switch write log to Info. More... | |
Switch | executeAtStart_ |
Switch write log to Info. More... | |
Static Public Attributes inherited from functionObject | |
static bool | postProcess |
Global post-processing mode switch. More... | |
Protected Member Functions inherited from regionFunctionObject | |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
Find field in the objectRegistry. More... | |
template<class ObjectType > | |
void | cannotFindObject (const word &fieldName) |
Prints a warning message that fieldName cannot be found. More... | |
void | cannotFindObject (const word &fieldName) |
Prints a warning message that fieldName cannot be found. More... | |
template<class ObjectType > | |
const ObjectType & | lookupObject (const word &fieldName) const |
Lookup object from the objectRegistry. More... | |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) |
Lookup non-const object reference from the objectRegistry. More... | |
template<class ObjectType > | |
bool | store (const tmp< ObjectType > &tfield) |
Store the given field in the objectRegistry. More... | |
template<class ObjectType > | |
bool | store (const word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
Store the given field in the objectRegistry under the given name. More... | |
bool | writeObject (const word &fieldName) |
Write field if present in objectRegistry. More... | |
bool | clearObject (const word &fieldName) |
Clear field from the objectRegistry if present. More... | |
Protected Attributes inherited from fvMeshFunctionObject | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
const Time & | time_ |
Reference to the Time. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
Evolves a passive scalar transport equation within one phase of a multiphase simulation. The scalar is considered to be a phase-intensive property; i.e., its value represents an amount per-unit of the phase. In addition to the scalar, the function also writes out the product of the volume fraction and the scalar, as this provides a phase-extensive field which is often more convenient to post-process.
Most entries are the same as for the scalarTransport
function. Refer to its documentation for details. Entries specific to this function are detailed below. Note that the phase-name will be determined by stripping the extension from the supplied field name.
If alphaPhi
is specified and found in the database then it will be used to transport the field. This is the likely mode of operation if this function is used with Euler-Euler solvers, in which alphaPhi
-like fluxes are available. If alphaPhi
is not found, then a pressure-like equation will be solved in order to construct it so that it exactly matches the time-derivative of the phase volume or mass. This is likely to be necessary in volume-of-fluid solvers where alphaPhi
is not part of the solution procedure. The pressure field name will be required in this case.
Property | Description | Req'd? | Default |
---|---|---|---|
alpha | Name of the volume-fraction field | no | alpha.<phase-name> |
alphaPhi | Name of the phase-flux field | no | alphaPhi.<phase-name> |
p | Name of the pressure field | no | p |
residualAlpha | Small volume fraction used to stabilise the solution | no | rootSmall |
writeAlphaField | Also write out alpha multiplied by the field | no | true |
Example specification for interFoam:
phaseScalarTransport1 { type phaseScalarTransport; libs ("libsolverFunctionObjects.so"); field s.water; p p_rgh; }
Example specification for multiphaseEulerFoam:
phaseScalarTransport1 { type phaseScalarTransport; libs ("libsolverFunctionObjects.so"); field s.water; alphaPhi alphaRhoPhi.water; rho thermo:rho.water; }
Definition at line 139 of file phaseScalarTransport.H.
phaseScalarTransport | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 282 of file phaseScalarTransport.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, word::null, and Foam::read().
|
virtual |
Destructor.
Definition at line 323 of file phaseScalarTransport.C.
TypeName | ( | "phaseScalarTransport" | ) |
Runtime type information.
|
virtual |
Read the settings from the given dictionary.
Reimplemented from regionFunctionObject.
Definition at line 329 of file phaseScalarTransport.C.
References IOobject::groupName(), dictionary::lookupOrDefault(), regionFunctionObject::read(), and dictionary::readIfPresent().
|
virtual |
Return the list of fields required.
Implements functionObject.
Definition at line 367 of file phaseScalarTransport.C.
|
virtual |
Solve for the evolution of the field.
Implements functionObject.
Definition at line 373 of file phaseScalarTransport.C.
References alpha(), alphaPhi(), IOobject::AUTO_WRITE, List< T >::clear(), fvConstraints::constrain(), Foam::fvc::ddt(), Foam::fvm::ddt(), DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimMass, Foam::dimTime, Foam::dimVolume, Foam::fvm::div(), Foam::endl(), fvConstraints, fvModels, Foam::Info, Foam::fvc::interpolate(), Foam::fvm::laplacian(), IOobject::name(), dictionary::New(), IOobject::NO_READ, PhiDimensionErrorInFunction, fvMatrix< Type >::relax(), rho, Foam::type(), and Foam::Zero.
|
virtual |
Do nothing. The field is registered and written automatically.
Implements functionObject.
Definition at line 507 of file phaseScalarTransport.C.