Computes the transport equation for a passive scalar in single-phase or two-phase flow, considering both incompressible and compressible cases: More...
#include <scalarTransport.H>


Public Member Functions | |
| TypeName ("scalarTransport") | |
| Runtime type information. | |
| scalarTransport (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from name, Time and dictionary. | |
| virtual | ~scalarTransport ()=default |
| Destructor. | |
| virtual bool | read (const dictionary &) |
| Read the function-object dictionary. | |
| virtual bool | execute () |
| Execute the function-object operations. | |
| virtual bool | write () |
| Write the function object output. | |
| Public Member Functions inherited from fvMeshFunctionObject | |
| TypeName ("fvMeshFunctionObject") | |
| Runtime type information. | |
| fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. | |
| virtual | ~fvMeshFunctionObject ()=default |
| Destructor. | |
| Public Member Functions inherited from regionFunctionObject | |
| TypeName ("regionFunctionObject") | |
| Runtime type information. | |
| regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. | |
| virtual | ~regionFunctionObject ()=default |
| Destructor. | |
| template<class ObjectType> | |
| const ObjectType * | lookupObjectPtr (const word &fieldName) const |
| Deprecated(2018-10). | |
| template<class ObjectType> | |
| ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
| Deprecated(2018-10). | |
| Public Member Functions inherited from stateFunctionObject | |
| stateFunctionObject (const word &name, const Time &runTime) | |
| Construct from components. | |
| virtual | ~stateFunctionObject ()=default |
| Destructor. | |
| dictionary & | propertyDict () |
| Return access to the property dictionary. | |
| bool | foundProperty (const word &entryName) const |
| Return true if the property exists. | |
| void | clearTrigger () |
| Remove the trigger index from the properties. | |
| label | getTrigger () const |
| Get the current trigger index. | |
| bool | setTrigger (const label triggeri) |
| Set new trigger index. | |
| bool | getDict (const word &entryName, dictionary &dict) const |
| Set dictionary, return true if set. | |
| bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
| Set dictionary from named object, return true if set. | |
| template<class Type> | |
| Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property. | |
| template<class Type> | |
| bool | getProperty (const word &entryName, Type &value) const |
| Set generic property, return true if set. | |
| template<class Type> | |
| void | setProperty (const word &entryName, const Type &value) |
| Add generic property. | |
| template<class Type> | |
| Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from named object. | |
| template<class Type> | |
| bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
| Set generic property from named object, return true if set. | |
| template<class Type> | |
| void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
| Add generic property from named object. | |
| bool | getObjectResultDict (const word &objectName, dictionary &dict) const |
| template<class Type> | |
| void | setResult (const word &entryName, const Type &value) |
| Add result. | |
| template<class Type> | |
| void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
| Add result from named object. | |
| template<class Type> | |
| Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result. | |
| template<class Type> | |
| Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result from named object. | |
| template<class Type> | |
| bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
| Set result from named object, return true if set. | |
| word | resultType (const word &entryName) const |
| Retrieve the result type. | |
| word | objectResultType (const word &objectName, const word &entryName) const |
| Return the type of result. | |
| wordList | objectResultEntries () const |
| Retrieve the result entries. | |
| wordList | objectResultEntries (const word &objectName) const |
| Return result entries for named object. | |
| void | writeResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| void | writeResultEntries (const word &objectName, Ostream &os) const |
| Write the results entries for named object to stream. | |
| void | writeAllResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| Public Member Functions inherited from timeFunctionObject | |
| timeFunctionObject (const word &name, const Time &runTime) | |
| Construct from Time. | |
| virtual | ~timeFunctionObject ()=default |
| Destructor. | |
| const Time & | time () const |
| Return time database. | |
| objectRegistry & | storedObjects () |
| Write access to the output objects ("functionObjectObjects") registered on Time. | |
| const objectRegistry & | storedObjects () const |
| Const access to the output objects ("functionObjectObjects") registered on Time. | |
| Public Member Functions inherited from functionObject | |
| declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
| functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
| Construct from components. | |
| autoPtr< functionObject > | clone () const |
| Return clone. | |
| virtual | ~functionObject ()=default |
| Destructor. | |
| virtual const word & | type () const =0 |
| Runtime type information. | |
| const word & | name () const noexcept |
| Return the name of this functionObject. | |
| bool | useNamePrefix () const noexcept |
| Return the flag for adding a scoping name prefix. | |
| bool | useNamePrefix (bool on) noexcept |
| Modify the flag for adding a scoping name prefix. | |
| virtual bool | execute (const label subIndex) |
| Execute using the specified subIndex. | |
| virtual bool | end () |
| Called when Time::run() determines that the time-loop exits. | |
| virtual bool | adjustTimeStep () |
| Called at the end of Time::adjustDeltaT() if adjustTime is true. | |
| virtual bool | filesModified () const |
| Did any file get changed during execution? | |
| virtual void | updateMesh (const mapPolyMesh &mpm) |
| Update for changes of mesh. | |
| virtual void | movePoints (const polyMesh &mesh) |
| Update for changes of mesh. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from functionObject | |
| static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
| Select from dictionary, based on its "type" entry. | |
| Public Attributes inherited from functionObject | |
| bool | log |
| Flag to write log into Info. | |
| Static Public Attributes inherited from functionObject | |
| static int | debug |
| Flag to execute debug content. | |
| static bool | postProcess |
| Global post-processing mode switch. | |
| static bool | defaultUseNamePrefix |
| Global default for useNamePrefix. | |
| static word | outputPrefix |
| Directory prefix. | |
| Protected Member Functions inherited from fvMeshFunctionObject | |
| fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const fvMeshFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from regionFunctionObject | |
| virtual const objectRegistry & | obr () const |
| The region or sub-region registry being used. | |
| template<class ObjectType> | |
| bool | foundObject (const word &fieldName) const |
| Find object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| const ObjectType * | cfindObject (const word &fieldName) const |
| Return const pointer to the object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| const ObjectType * | findObject (const word &fieldName) const |
| Return const pointer to the object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType * | findObject (const word &fieldName) |
| Return non-const pointer to the object of the given Type, (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType * | getObjectPtr (const word &fieldName) const |
| Return non-const pointer to the object of the given Type, using a const-cast to have it behave like a mutable. | |
| template<class ObjectType> | |
| const ObjectType & | lookupObject (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType & | lookupObjectRef (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. | |
| template<class ObjectType> | |
| bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
| Store the field in the (sub) objectRegistry under the given name. | |
| template<class ObjectType> | |
| bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
| Store the field in an optional objectRegistry under the given name. | |
| bool | writeObject (const word &fieldName) |
| Write field if present in the (sub) objectRegistry. | |
| bool | clearObject (const word &fieldName) |
| Clear field from the (sub) objectRegistry if present. | |
| void | clearObjects (const wordList &objNames) |
| Clear fields from the (sub) objectRegistry if present. | |
| regionFunctionObject (const regionFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const regionFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from stateFunctionObject | |
| const functionObjects::properties & | stateDict () const |
| Return a const reference to the state dictionary. | |
| functionObjects::properties & | stateDict () |
| Return non-const access to the state dictionary. | |
| stateFunctionObject (const stateFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const stateFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from timeFunctionObject | |
| void | clearOutputObjects (const wordList &objNames) |
| Remove specified items from "functionObjectObjects". | |
| timeFunctionObject (const timeFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const timeFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from functionObject | |
| word | scopedName (const word &name) const |
| Return a scoped (prefixed) name. | |
| Protected Attributes inherited from fvMeshFunctionObject | |
| const fvMesh & | mesh_ |
| Reference to the fvMesh. | |
| Protected Attributes inherited from regionFunctionObject | |
| word | subRegistryName_ |
| Name for alternative object registry. | |
| const objectRegistry & | obr_ |
| Reference to the region objectRegistry. | |
| const objectRegistry * | obrPtr_ |
| Pointer to alternative (eg, sub-region) objectRegistry. | |
| Protected Attributes inherited from timeFunctionObject | |
| const Time & | time_ |
| Reference to the time database. | |
Computes the transport equation for a passive scalar in single-phase or two-phase flow, considering both incompressible and compressible cases:
![\[ \frac{\partial \rho \, T}{\partial t}
+ \nabla \cdot \left( \phi_\alpha \, T \right)
- \nabla \cdot (D_T \, \nabla T)
= \alpha \, S_T
\]](form_420.png)
where:
![]() | = | Passive scalar field |
![]() | = | (Generic) Fluid density which is unity when not specified |
![]() | = | (Generic) Flux field |
![]() | = | Phase fraction which is unity for single-phase flows |
![]() | = | Diffusivity representing the diffusive transport of T |
![]() | = | Passive-scalar field source term |
system/controlDict.functions: scalarTransportFO
{
// Mandatory entries
type scalarTransport;
libs (solverFunctionObjects);
// Optional entries
field <word>;
phi <word>;
rho <word>;
nut <word>;
phase <word>;
phasePhiCompressed <word>;
schemesField <word>;
bounded01 <bool>;
D <scalar>;
alphaD <scalar>;
alphaDt <scalar>;
tolerance <scalar>;
nCorr <int>;
resetOnStartUp <bool>;
fvOptions <dict>;
// Inherited entries
...
}
where:
<table class="OFTable">
<tr>
<th align="center"><b> Property </b></th>
<th align="center"><b> Description </b></th>
<th align="center"><b> Type </b></th>
<th align="center"><b> Reqd </b></th>
<th align="center"><b> Deflt</b></th>
</tr>
<tr>
<td>\c type </td>
<td> Type name: scalarTransport </td>
<td> word </td>
<td> yes </td>
<td> -</td>
</tr>
<tr>
<td>\c libs </td>
<td> Library name: solverFunctionObjects </td>
<td> word </td>
<td> yes </td>
<td> -</td>
</tr>
<tr>
<td>\c field </td>
<td> Name of the passive-scalar field </td>
<td> word </td>
<td> no </td>
<td> s</td>
</tr>
<tr>
<td>\c phi </td>
<td> Name of flux field </td>
<td> word </td>
<td> no </td>
<td> phi</td>
</tr>
<tr>
<td>\c rho </td>
<td> Name of density field </td>
<td> word </td>
<td> no </td>
<td> rho</td>
</tr>
<tr>
<td>\c nut </td>
<td> Name of the turbulence viscosity </td>
<td> word </td>
<td> no </td>
<td> none</td>
</tr>
<tr>
<td>\c phase </td>
<td> Name of the phase </td>
<td> word </td>
<td> no </td>
<td> none</td>
</tr>
<tr>
<td>\c phasePhiCompressed </td>
<td> Name of compressed VOF flux </td>
<td> word </td>
<td> no </td>
<td> alphaPhiUn</td>
</tr>
<tr>
<td>\c schemesField </td>
<td> Name of field to specify schemes </td>
<td> word </td>
<td> no </td>
<td> field</td>
</tr>
<tr>
<td>\c bounded01 </td>
<td> Bounds scalar between 0-1 for multiphase </td>
<td> bool </td>
<td> no </td>
<td> true</td>
</tr>
<tr>
<td>\c D </td>
<td> Diffusion coefficient </td>
<td> scalar </td>
<td> no </td>
<td> -</td>
</tr>
<tr>
<td>\c alphaD </td>
<td> Laminar diffusivity coefficient </td>
<td> scalar </td>
<td> no </td>
<td> 1</td>
</tr>
<tr>
<td>\c alphaDt </td>
<td> Turbulent diffusivity coefficient </td>
<td> scalar </td>
<td> no </td>
<td> 1</td>
</tr>
<tr>
<td>\c tolerance </td>
<td> Outer-loop initial-residual tolerance </td>
<td> scalar </td>
<td> no </td>
<td> 1</td>
</tr>
<tr>
<td>\c nCorr </td>
<td> Number of outer-loop correctors </td>
<td> int </td>
<td> no </td>
<td> 0</td>
</tr>
<tr>
<td>\c resetOnStartUp </td>
<td> Flag to reset field to zero on start-up </td>
<td> bool </td>
<td> no </td>
<td> no</td>
</tr>
<tr>
<td>\c fvOptions </td>
<td> List of finite-volume options </td>
<td> dict </td>
<td> no </td>
<td> -</td>
</tr>
</table>
The inherited entries are elaborated in:
- \link functionObject.H \endlink
- \link fvOption.H \endlink
An example of function object specification to solve a residence time
in a two-phase flow:
\verbatim
scalarTransport1
{
// Mandatory entries
type scalarTransport;
libs (solverFunctionObjects);
// Optional entries
field s;
bounded01 false;
phase alpha.water;
tolerance 1e-5;
resetOnStartUp false;
fvOptions
{
unitySource
{
type scalarSemiImplicitSource;
enabled true;
selectionMode all;
volumeMode specific;
sources
{
s (1 0);
}
}
}
// Inherited entries
enabled true;
writeControl writeTime;
writeInterval 1;
}
schemesField entry.D entry, obtained from the turbulence model or specified as `nut`.alphaD and alphaDt (which default to 1):
![\[ D = \alpha_D \, \nu + \alpha_{Dt} \, \nu_t
\]](form_424.png)
Definition at line 313 of file scalarTransport.H.
| scalarTransport | ( | const word & | name, |
| const Time & | runTime, | ||
| const dictionary & | dict ) |
Construct from name, Time and dictionary.
Definition at line 155 of file scalarTransport.C.
References dict, fvMeshFunctionObject::fvMeshFunctionObject(), fvMeshFunctionObject::mesh_, Foam::name(), read(), runTime, s(), and Foam::Zero.

|
virtualdefault |
Destructor.
| TypeName | ( | "scalarTransport" | ) |
Runtime type information.
References dict, Foam::name(), and runTime.

|
virtual |
Read the function-object dictionary.
Reimplemented from regionFunctionObject.
Definition at line 198 of file scalarTransport.C.
References dict, and functionObject::read().
Referenced by scalarTransport().


|
virtual |
Execute the function-object operations.
Implements functionObject.
Definition at line 230 of file scalarTransport.C.
References alpha, D, Foam::fvm::ddt(), Foam::dimLength, Foam::dimMass, Foam::dimTime, Foam::dimVolume, Foam::fvm::div(), Foam::endl(), Foam::exit(), Foam::MULES::explicitSolve(), Foam::FatalError, FatalErrorInFunction, fvMatrix< Type >::flux(), Foam::fvm::laplacian(), Log, regionFunctionObject::lookupObject(), fvMeshFunctionObject::mesh_, name, Foam::nl, phi, Foam::pos(), tmp< T >::ref(), fvMatrix< Type >::relax(), rho, s(), fvMatrix< Type >::solve(), Foam::tab, and Foam::type().

|
virtual |
Write the function object output.
The volScalarField is registered and written automatically
Implements functionObject.
Definition at line 372 of file scalarTransport.C.
References Foam::endl(), Log, name, Foam::nl, s(), Foam::tab, and Foam::type().
