phaseScalarTransport Class Reference

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...

Inheritance diagram for phaseScalarTransport:
Collaboration diagram for phaseScalarTransport:

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 executeAtStart () const
 Do not execute at the start of the run. 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)
 Construct from the region objectRegistry. More...
 
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMeshFunctionObject ()
 Destructor. More...
 
const fvMeshmesh () const
 Return a reference to the mesh. 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)
 Construct from the region objectRegistry. 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 objectRegistryFunctionObject
 TypeName ("objectRegistryFunctionObject")
 Runtime type information. More...
 
 objectRegistryFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from an objectRegistry and dictionary. More...
 
 objectRegistryFunctionObject (const word &name, const objectRegistry &obr)
 Construct from an objectRegistry. More...
 
 objectRegistryFunctionObject (const objectRegistryFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~objectRegistryFunctionObject ()
 Destructor. More...
 
void operator= (const objectRegistryFunctionObject &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from functionObject
 ClassName ("functionObject")
 
virtual const wordtype () 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, const Time &runTime)
 Construct from components. More...
 
 functionObject (const word &name, const Time &runTime, const dictionary &dict)
 Construct from dictionary. More...
 
autoPtr< functionObjectclone () const
 Return clone. More...
 
 functionObject (const functionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~functionObject ()
 Destructor. More...
 
const wordname () const
 Return the name of this functionObject. More...
 
virtual bool end ()
 Called when Time::run() determines that the time-loop exits. More...
 
virtual scalar timeToNextAction ()
 Called by Time::adjustTimeStep(). Allows the functionObject to. More...
 
virtual scalar maxDeltaT () const
 Return the maximum time-step for stable operation. 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...
 
virtual void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
void operator= (const functionObject &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from functionObject
static autoPtr< functionObjectNew (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 execute at start time. More...
 
- Static Public Attributes inherited from functionObject
static bool postProcess
 Global post-processing mode switch. More...
 
- Protected Member Functions inherited from objectRegistryFunctionObject
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...
 
void cannotFindObjects (const wordList &fieldNames)
 Prints a warning message that fieldNames 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 >
ObjectType & store (const tmp< ObjectType > &tfield)
 Store the given field in the objectRegistry. More...
 
template<class ObjectType >
ObjectType & 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 fvMeshmesh_
 Reference to the fvMesh. More...
 
- Protected Attributes inherited from objectRegistryFunctionObject
const objectRegistryobr_
 Reference to the objectRegistry. More...
 
- Protected Attributes inherited from functionObject
const Timetime_
 Reference to time. More...
 

Detailed Description

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 the solver does not provide an alphaPhi flux, or that flux is for some reason unreliable, then the solveAlphaPhi switch can be used to make this function solve a pressure-like equation from which alphaPhi is recovered.

Usage
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>
solveAlphaPhi Solve for the alphaPhi flux, rather than looking it up no false
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 incompressibleVoF:

    phaseScalarTransport1
    {
        type            phaseScalarTransport;
        libs            ("libsolverFunctionObjects.so");

        field           s.water;
    }

Example specification for multiphaseEuler:

    phaseScalarTransport1
    {
        type            phaseScalarTransport;
        libs            ("libsolverFunctionObjects.so");

        field           s.water;
        alphaPhi        alphaRhoPhi.water;
        rho             rho.water;
    }
See also
Foam::functionObjects::fvMeshFunctionObject Foam::functionObjects::scalarTransport
Source files

Definition at line 139 of file phaseScalarTransport.H.

Constructor & Destructor Documentation

◆ phaseScalarTransport()

phaseScalarTransport ( const word name,
const Time runTime,
const dictionary dict 
)

Construct from Time and dictionary.

Definition at line 274 of file phaseScalarTransport.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, word::null, and phaseScalarTransport::read().

Here is the call graph for this function:

◆ ~phaseScalarTransport()

~phaseScalarTransport ( )
virtual

Destructor.

Definition at line 313 of file phaseScalarTransport.C.

Member Function Documentation

◆ TypeName()

TypeName ( "phaseScalarTransport"  )

Runtime type information.

◆ read()

bool read ( const dictionary dict)
virtual

Read the settings from the given dictionary.

Reimplemented from objectRegistryFunctionObject.

Definition at line 319 of file phaseScalarTransport.C.

References scalarTransport::constant, dict, scalarTransport::diffusivityTypeNames_, IOobject::groupName(), scalarTransport::none, objectRegistryFunctionObject::read(), NamedEnum< Enum, nEnum >::read(), Foam::typedName(), and scalarTransport::viscosity.

Referenced by phaseScalarTransport::phaseScalarTransport().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fields()

Foam::wordList fields ( ) const
virtual

Return the list of fields required.

Implements functionObject.

Definition at line 379 of file phaseScalarTransport.C.

◆ executeAtStart()

virtual bool executeAtStart ( ) const
inlinevirtual

Do not execute at the start of the run.

Reimplemented from functionObject.

Definition at line 247 of file phaseScalarTransport.H.

◆ execute()

◆ write()

bool write ( )
virtual

Do nothing. The field is registered and written automatically.

Implements functionObject.

Definition at line 497 of file phaseScalarTransport.C.

References alpha().

Here is the call graph for this function:

The documentation for this class was generated from the following files: