sizeDistribution Class Reference

This function object calculates and outputs information about the size distribution of the dispersed phase, such as the number density function or its moments. It is designed to be used exclusively with the population balance modeling functionality of the reactingEulerFoam solvers. It can be applied to a specific cellZone or the entire domain. More...

Inheritance diagram for sizeDistribution:
[legend]
Collaboration diagram for sizeDistribution:
[legend]

Public Types

enum  selectionModeTypes { rtCellZone, rtAll }
 Selection mode type enumeration. More...
 
enum  functionTypes { ftNdf, ftVdf, ftNc, ftMom }
 Function type enumeration. More...
 
enum  abszissaTypes { atDiameter, atVolume }
 abszissa type enumeration More...
 

Public Member Functions

 TypeName ("sizeDistribution")
 Runtime type information. More...
 
 sizeDistribution (const word &name, const Time &runTime, const dictionary &dict)
 Construct from Time and dictionary. More...
 
virtual ~sizeDistribution ()
 Destructor. More...
 
const dictionarydict () const
 Return the reference to the construction dictionary. More...
 
const labelListcellId () const
 Return the local list of cell IDs. More...
 
const fvMeshmesh () const
 Helper function to return the reference to the mesh. More...
 
virtual bool read (const dictionary &dict)
 Read from dictionary. More...
 
virtual bool execute ()
 Execute. More...
 
virtual bool write ()
 Write. 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...
 
virtual ~fvMeshFunctionObject ()=default
 Destructor. 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...
 
virtual ~regionFunctionObject ()=default
 Destructor. More...
 
template<class ObjectType >
const ObjectType * lookupObjectPtr (const word &fieldName) const
 Deprecated(2018-10) More...
 
template<class ObjectType >
ObjectType * lookupObjectRefPtr (const word &fieldName) const
 Deprecated(2018-10) More...
 
- Public Member Functions inherited from stateFunctionObject
 stateFunctionObject (const word &name, const Time &runTime)
 Construct from components. More...
 
virtual ~stateFunctionObject ()=default
 Destructor. More...
 
dictionarypropertyDict ()
 Return access to the property dictionary. More...
 
bool foundProperty (const word &entryName) const
 Return true if the property exists. More...
 
void clearTrigger ()
 Remove the trigger index from the properties. More...
 
label getTrigger () const
 Get the current trigger index. More...
 
bool setTrigger (const label triggeri, bool increaseOnly=true)
 Set the trigger index. Normally only if greater than current. More...
 
bool getDict (const word &entryName, dictionary &dict) const
 Set dictionary, return true if set. More...
 
bool getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const
 Set dictionary from named object, return true if set. More...
 
template<class Type >
Type getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property. More...
 
template<class Type >
bool getProperty (const word &entryName, Type &value) const
 Set generic property, return true if set. More...
 
template<class Type >
void setProperty (const word &entryName, const Type &value)
 Add generic property. More...
 
template<class Type >
Type getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from named object. More...
 
template<class Type >
bool getObjectProperty (const word &objectName, const word &entryName, Type &value) const
 Set generic property from named object, return true if set. More...
 
template<class Type >
void setObjectProperty (const word &objectName, const word &entryName, const Type &value)
 Add generic property from named object. More...
 
template<class Type >
void setResult (const word &entryName, const Type &value)
 Add result. More...
 
template<class Type >
void setObjectResult (const word &objectName, const word &entryName, const Type &value)
 Add result from named object. More...
 
template<class Type >
Type getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve result. More...
 
template<class Type >
Type getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve result from named object. More...
 
template<class Type >
bool getObjectResult (const word &objectName, const word &entryName, Type &value) const
 Set result from named object, return true if set. More...
 
word resultType (const word &entryName) const
 Retrieve the result type. More...
 
word objectResultType (const word &objectName, const word &entryName) const
 Return the type of result. More...
 
wordList objectResultEntries () const
 Retrieve the result entries. More...
 
wordList objectResultEntries (const word &objectName) const
 Return result entries for named object. More...
 
void writeResultEntries (Ostream &os) const
 Write the results entries for all objects to stream. More...
 
void writeResultEntries (const word &objectName, Ostream &os) const
 Write the results entries for named object to stream. More...
 
void writeAllResultEntries (Ostream &os) const
 Write the results entries for all objects to stream. More...
 
- Public Member Functions inherited from timeFunctionObject
 timeFunctionObject (const word &name, const Time &runTime)
 Construct from Time. More...
 
virtual ~timeFunctionObject ()=default
 Destructor. More...
 
const Timetime () const
 Return time database. More...
 
objectRegistrystoredObjects ()
 
const objectRegistrystoredObjects () const
 
- 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. More...
 
autoPtr< functionObjectclone () const
 Return clone. More...
 
virtual ~functionObject ()=default
 Destructor. More...
 
virtual const wordtype () const =0
 Runtime type information. More...
 
const wordname () const noexcept
 Return the name of this functionObject. More...
 
bool useNamePrefix () const noexcept
 Return the flag for adding a scoping name prefix. More...
 
bool useNamePrefix (bool on) noexcept
 Modify the flag for adding a scoping name prefix. More...
 
virtual bool execute (const label subIndex)
 Execute using the specified subIndex. More...
 
virtual bool end ()
 Called when Time::run() determines that the time-loop exits. More...
 
virtual bool adjustTimeStep ()
 Called at the end of Time::adjustDeltaT() if adjustTime is true. More...
 
virtual bool filesModified () const
 Did any file get changed during execution? More...
 
virtual void updateMesh (const mapPolyMesh &mpm)
 Update for changes of mesh. More...
 
virtual void movePoints (const polyMesh &mesh)
 Update for changes of mesh. More...
 
- Public Member Functions inherited from writeFile
 writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true)
 Construct from objectRegistry, prefix, fileName. More...
 
 writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true)
 
 writeFile (const writeFile &wf)
 Construct copy. More...
 
virtual ~writeFile ()=default
 Destructor. More...
 
virtual OFstreamfile ()
 Return access to the file (if only 1) More...
 
virtual bool writeToFile () const
 Flag to allow writing to file. More...
 
virtual bool canWriteHeader () const
 Flag to allow writing the header. More...
 
virtual label charWidth () const
 Return width of character stream output. More...
 
virtual void writeCommented (Ostream &os, const string &str) const
 Write a commented string to stream. More...
 
virtual void writeTabbed (Ostream &os, const string &str) const
 Write a tabbed string to stream. More...
 
virtual void writeHeader (Ostream &os, const string &str) const
 Write a commented header to stream. More...
 
virtual void writeCurrentTime (Ostream &os) const
 Write the current time to stream. More...
 
virtual void writeBreak (Ostream &os) const
 Write a break marker to the stream. More...
 
template<class Type >
void writeHeaderValue (Ostream &os, const string &property, const Type &value) const
 Write a (commented) header property and value pair. More...
 

Static Public Attributes

static const Enum< selectionModeTypesselectionModeTypeNames_
 Selection mode type names. More...
 
static const Enum< functionTypesfunctionTypeNames_
 Function type names. More...
 
static const Enum< abszissaTypesabszissaTypeNames_
 Abszissa type names. More...
 
- Static Public Attributes inherited from functionObject
static int debug
 Flag to execute debug content. More...
 
static bool postProcess
 Global post-processing mode switch. More...
 
static bool defaultUseNamePrefix
 Global default for useNamePrefix. More...
 
static word outputPrefix
 Directory prefix. More...
 
- Static Public Attributes inherited from writeFile
static label addChars = 8
 Additional characters for writing. More...
 

Protected Member Functions

void initialise (const dictionary &dict)
 Initialise, e.g. cell addressing. More...
 
void setCellZoneCells ()
 Set cells to evaluate based on a cell zone. More...
 
scalar volume () const
 Calculate and return volume of the evaluated cell zone. More...
 
void combineFields (scalarField &field)
 Combine fields from all processor domains into single field. More...
 
tmp< scalarFieldfilterField (const scalarField &field) const
 Filter field according to cellIds. More...
 
void writeFileHeader (const label i=0)
 Output file header information. More...
 
- Protected Member Functions inherited from fvMeshFunctionObject
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 No copy construct. More...
 
void operator= (const fvMeshFunctionObject &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from regionFunctionObject
virtual const objectRegistryobr () const
 The region or sub-region registry being used. More...
 
template<class ObjectType >
bool foundObject (const word &fieldName) const
 Find object (eg, a field) in the (sub) objectRegistry. More...
 
template<class ObjectType >
const ObjectType * cfindObject (const word &fieldName) const
 
template<class ObjectType >
const ObjectType * findObject (const word &fieldName) const
 
template<class ObjectType >
ObjectType * findObject (const word &fieldName)
 
template<class ObjectType >
ObjectType * getObjectPtr (const word &fieldName) const
 
template<class ObjectType >
const ObjectType & lookupObject (const word &fieldName) const
 Lookup and return object (eg, a field) from the (sub) objectRegistry. More...
 
template<class ObjectType >
ObjectType & lookupObjectRef (const word &fieldName) const
 Lookup and return object (eg, a field) from the (sub) objectRegistry. More...
 
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. More...
 
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. More...
 
bool writeObject (const word &fieldName)
 Write field if present in the (sub) objectRegistry. More...
 
bool clearObject (const word &fieldName)
 Clear field from the (sub) objectRegistry if present. More...
 
void clearObjects (const wordList &objNames)
 Clear fields from the (sub) objectRegistry if present. More...
 
 regionFunctionObject (const regionFunctionObject &)=delete
 No copy construct. More...
 
void operator= (const regionFunctionObject &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from stateFunctionObject
const functionObjects::propertiesstateDict () const
 Return a const reference to the state dictionary. More...
 
functionObjects::propertiesstateDict ()
 Return non-const access to the state dictionary. More...
 
 stateFunctionObject (const stateFunctionObject &)=delete
 No copy construct. More...
 
void operator= (const stateFunctionObject &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from timeFunctionObject
void clearOutputObjects (const wordList &objNames)
 Remove specified items from "functionObjectObjects". More...
 
 timeFunctionObject (const timeFunctionObject &)=delete
 No copy construct. More...
 
void operator= (const timeFunctionObject &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from functionObject
word scopedName (const word &name) const
 Return a scoped (prefixed) name. More...
 
- Protected Member Functions inherited from writeFile
void initStream (Ostream &os) const
 Initialise the output stream for writing. More...
 
fileName baseFileDir () const
 Return the base directory for output. More...
 
fileName baseTimeDir () const
 Return the base directory for the current time value. More...
 
virtual autoPtr< OFstreamcreateFile (const word &name, scalar timeValue) const
 Return autoPtr to a new file for a given time. More...
 
virtual autoPtr< OFstreamcreateFile (const word &name) const
 Return autoPtr to a new file using the simulation start time. More...
 
virtual void resetFile (const word &name)
 Reset internal file pointer to new file with new name. More...
 
Omanip< int > valueWidth (const label offset=0) const
 Return the value width when writing to stream with optional offset. More...
 
void operator= (const writeFile &)=delete
 No copy assignment. More...
 

Protected Attributes

dictionary dict_
 Construction dictionary. More...
 
selectionModeTypes selectionModeType_
 Selection mode type. More...
 
word selectionModeTypeName_
 Name of selection. More...
 
functionTypes functionType_
 Function type. More...
 
abszissaTypes abszissaType_
 Abszissa type. More...
 
label nCells_
 Global number of cells. More...
 
labelList cellId_
 Local list of cell IDs. More...
 
scalar volume_
 Total volume of the evaluated selection. More...
 
bool writeVolume_
 Optionally write the volume of the sizeDistribution. More...
 
const Foam::diameterModels::populationBalanceModelpopBal_
 PopulationBalance. More...
 
List< scalar > N_
 Number concentrations. More...
 
label momentOrder_
 Write moments up to specified order with respect to abszissaType. More...
 
const Switch normalize_
 Normalization switch. More...
 
scalar sumN_
 Sum of number concentrations. More...
 
scalar sumV_
 Volumertic sum. More...
 
- Protected Attributes inherited from fvMeshFunctionObject
const fvMeshmesh_
 Reference to the fvMesh. More...
 
- Protected Attributes inherited from regionFunctionObject
word subRegistryName_
 Name for alternative object registry. More...
 
const objectRegistryobr_
 Reference to the region objectRegistry. More...
 
const objectRegistryobrPtr_
 Pointer to alternative (eg, sub-region) objectRegistry. More...
 
- Protected Attributes inherited from timeFunctionObject
const Timetime_
 Reference to the time database. More...
 
- Protected Attributes inherited from writeFile
const objectRegistryfileObr_
 Reference to the region objectRegistry. More...
 
const fileName prefix_
 Prefix. More...
 
word fileName_
 Name of file. More...
 
autoPtr< OFstreamfilePtr_
 File pointer. More...
 
label writePrecision_
 Write precision. More...
 
bool writeToFile_
 Flag to enable/disable writing to file. More...
 
bool updateHeader_
 
bool writtenHeader_
 Flag to identify whether the header has been written. More...
 
bool useUserTime_
 
scalar startTime_
 Start time value. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from functionObject
static autoPtr< functionObjectNew (const word &name, const Time &runTime, const dictionary &dict)
 Select from dictionary, based on its "type" entry. More...
 
- Public Attributes inherited from functionObject
bool log
 Flag to write log into Info. More...
 

Detailed Description

This function object calculates and outputs information about the size distribution of the dispersed phase, such as the number density function or its moments. It is designed to be used exclusively with the population balance modeling functionality of the reactingEulerFoam solvers. It can be applied to a specific cellZone or the entire domain.

Example of function object specification:

box.all.numberDensity.volume.bubbles
{
    type sizeDistribution;
    libs (reactingEulerFoamFunctionObjects);
    writeControl    outputTime;
    writeInterval   1;
    log             true;
    ...
    functionType        numberDensity;
    abszissaType        volume;
    selectionMode       all;
    populationBalanceModel   bubbles;
    normalize           true;
}
Usage
Property Description Required Default value
type type name: sizeDistribution yes
functionType numberDensity, volumeDensity, numberConcentration,
moments yes
abszissaType volume, diameter yes
momentOrder Write moment up to given order no 0
selectionMode Evaluate for cellZone or entire mesh yes
cellZone Required if selectionMode is cellZone
populationBalanceModel Respective populationBalanceModel yes
normalize Normalization no
See also
Foam::diameterModels::populationBalanceModel Foam::functionObject Foam::functionObjects::fvMeshFunctionObject Foam::functionObjects::writeFile
Source files

Definition at line 148 of file sizeDistribution.H.

Member Enumeration Documentation

◆ selectionModeTypes

Selection mode type enumeration.

Enumerator
rtCellZone 
rtAll 

Definition at line 159 of file sizeDistribution.H.

◆ functionTypes

Function type enumeration.

Enumerator
ftNdf 
ftVdf 
ftNc 
ftMom 

Definition at line 170 of file sizeDistribution.H.

◆ abszissaTypes

abszissa type enumeration

Enumerator
atDiameter 
atVolume 

Definition at line 183 of file sizeDistribution.H.

Constructor & Destructor Documentation

◆ sizeDistribution()

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

Construct from Time and dictionary.

Definition at line 346 of file sizeDistribution.C.

References dict, Foam::name(), and Foam::read().

Here is the call graph for this function:

◆ ~sizeDistribution()

~sizeDistribution ( )
virtual

Destructor.

Definition at line 387 of file sizeDistribution.C.

Member Function Documentation

◆ initialise()

void initialise ( const dictionary dict)
protected

Initialise, e.g. cell addressing.

Definition at line 84 of file sizeDistribution.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, Foam::Info, Foam::name(), Foam::nl, and Foam::fieldTypes::volume.

Here is the call graph for this function:

◆ setCellZoneCells()

◆ volume()

Foam::scalar volume ( ) const
protected

Calculate and return volume of the evaluated cell zone.

Definition at line 214 of file sizeDistribution.C.

References Foam::gSum(), and mesh.

Here is the call graph for this function:

◆ combineFields()

void combineFields ( scalarField field)
protected

Combine fields from all processor domains into single field.

Definition at line 220 of file sizeDistribution.C.

References field(), Pstream::gatherList(), UPstream::master(), UPstream::myProcNo(), and UPstream::nProcs().

Here is the call graph for this function:

◆ filterField()

Foam::tmp< Foam::scalarField > filterField ( const scalarField field) const
protected

Filter field according to cellIds.

Definition at line 242 of file sizeDistribution.C.

References field().

Here is the call graph for this function:

◆ writeFileHeader()

void writeFileHeader ( const label  i = 0)
protected

Output file header information.

Definition at line 251 of file sizeDistribution.C.

References sizeGroup::d(), Foam::endl(), forAll, Foam::tab, dimensioned< Type >::value(), Foam::writeHeader(), and sizeGroup::x().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "sizeDistribution"  )

Runtime type information.

◆ dict()

const dictionary& dict ( ) const
inline

Return the reference to the construction dictionary.

Definition at line 288 of file sizeDistribution.H.

References sizeDistribution::dict_.

Referenced by sizeDistribution::setCellZoneCells().

Here is the caller graph for this function:

◆ cellId()

const labelList& cellId ( ) const
inline

Return the local list of cell IDs.

Definition at line 294 of file sizeDistribution.H.

References sizeDistribution::cellId_.

◆ mesh()

const fvMesh& mesh ( ) const
inline

Helper function to return the reference to the mesh.

Definition at line 300 of file sizeDistribution.H.

References regionFunctionObject::obr_.

Referenced by sizeDistribution::setCellZoneCells().

Here is the caller graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Read from dictionary.

Reimplemented from writeFile.

Definition at line 393 of file sizeDistribution.C.

References dict, regionFunctionObject::read(), and writeFile::read().

Here is the call graph for this function:

◆ execute()

bool execute ( )
virtual

Execute.

Implements functionObject.

Definition at line 409 of file sizeDistribution.C.

◆ write()

bool write ( )
virtual

Write.

Implements functionObject.

Definition at line 415 of file sizeDistribution.C.

References Foam::constant::atomic::alpha, sizeGroup::d(), delta, Foam::endl(), forAll, velocityGroup::formFactor(), Log, UPstream::master(), mesh, Foam::name(), Foam::nl, diameterModel::phase(), Foam::pow(), Foam::sum(), Foam::tab, Foam::type(), dimensioned< Type >::value(), Foam::HashTableOps::values(), sizeGroup::VelocityGroup(), and sizeGroup::x().

Here is the call graph for this function:

Member Data Documentation

◆ selectionModeTypeNames_

Selection mode type names.

Definition at line 166 of file sizeDistribution.H.

Referenced by sizeDistribution::setCellZoneCells().

◆ functionTypeNames_

Function type names.

Definition at line 179 of file sizeDistribution.H.

◆ abszissaTypeNames_

Abszissa type names.

Definition at line 190 of file sizeDistribution.H.

◆ dict_

dictionary dict_
protected

Construction dictionary.

Definition at line 198 of file sizeDistribution.H.

Referenced by sizeDistribution::dict(), and sizeDistribution::setCellZoneCells().

◆ selectionModeType_

selectionModeTypes selectionModeType_
protected

Selection mode type.

Definition at line 201 of file sizeDistribution.H.

Referenced by sizeDistribution::setCellZoneCells().

◆ selectionModeTypeName_

word selectionModeTypeName_
protected

Name of selection.

Definition at line 204 of file sizeDistribution.H.

Referenced by sizeDistribution::setCellZoneCells().

◆ functionType_

functionTypes functionType_
protected

Function type.

Definition at line 207 of file sizeDistribution.H.

◆ abszissaType_

abszissaTypes abszissaType_
protected

Abszissa type.

Definition at line 210 of file sizeDistribution.H.

◆ nCells_

label nCells_
protected

Global number of cells.

Definition at line 213 of file sizeDistribution.H.

Referenced by sizeDistribution::setCellZoneCells().

◆ cellId_

labelList cellId_
protected

Local list of cell IDs.

Definition at line 216 of file sizeDistribution.H.

Referenced by sizeDistribution::cellId(), and sizeDistribution::setCellZoneCells().

◆ volume_

scalar volume_
protected

Total volume of the evaluated selection.

Definition at line 219 of file sizeDistribution.H.

◆ writeVolume_

bool writeVolume_
protected

Optionally write the volume of the sizeDistribution.

Definition at line 222 of file sizeDistribution.H.

◆ popBal_

PopulationBalance.

Definition at line 225 of file sizeDistribution.H.

◆ N_

List<scalar> N_
protected

Number concentrations.

Definition at line 228 of file sizeDistribution.H.

◆ momentOrder_

label momentOrder_
protected

Write moments up to specified order with respect to abszissaType.

Definition at line 231 of file sizeDistribution.H.

◆ normalize_

const Switch normalize_
protected

Normalization switch.

Definition at line 234 of file sizeDistribution.H.

◆ sumN_

scalar sumN_
protected

Sum of number concentrations.

Definition at line 237 of file sizeDistribution.H.

◆ sumV_

scalar sumV_
protected

Volumertic sum.

Definition at line 240 of file sizeDistribution.H.


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