Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for sizeDistribution:
Collaboration graph
[legend]

Public Types

enum  regionTypes { rtCellZone, rtAll }
 Region 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 ()
 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 ()
 Destructor. More...
 
- Public Member Functions inherited from 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)
 Construct from components. More...
 
autoPtr< functionObjectclone () const
 Return clone. 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 bool setTimeStep ()
 Called by Time::setDeltaT(). Allows the function object to override. More...
 
virtual scalar timeToNextWrite ()
 Called by Time::adjustTimeStep(). Allows the function object to. 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 logFiles
 logFiles (const objectRegistry &obr, const word &prefix)
 Construct from objectRegistry and prefix. More...
 
virtual ~logFiles ()
 Destructor. More...
 
const wordListnames () const
 Return const access to the names. More...
 
PtrList< OFstream > & files ()
 Return access to the files. More...
 
OFstreamfile ()
 Return access to the file (if only 1) More...
 
OFstreamfile (const label i)
 Return file 'i'. More...
 
- Public Member Functions inherited from writeFile
 writeFile (const objectRegistry &obr, const word &prefix)
 Construct from objectRegistry and prefix. More...
 
 ~writeFile ()
 Destructor. More...
 
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...
 
Omanip< int > valueWidth (const label offset=0) const
 Return the value width when writing to stream with optional offset. More...
 
void writeCommented (Ostream &os, const string &str) const
 Write a commented string to stream. More...
 
void writeTabbed (Ostream &os, const string &str) const
 Write a tabbed string to stream. More...
 
void writeHeader (Ostream &os, const string &str) const
 Write a commented header to stream. More...
 
void writeTime (Ostream &os) const
 Write the current time to 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...
 
label charWidth () const
 Return width of character stream output. More...
 

Static Public Attributes

static const NamedEnum< regionTypes, 2 > regionTypeNames_
 Region type names. More...
 
static const NamedEnum< functionTypes, 4 > functionTypeNames_
 Function type names. More...
 
static const NamedEnum< abszissaTypes, 2 > abszissaTypeNames_
 Abszissa type names. More...
 
- Static Public Attributes inherited from functionObject
static int debug
 
static bool postProcess
 Global post-processing mode switch. More...
 
- Static Public Attributes inherited from writeFile
static const word outputPrefix
 Directory prefix. More...
 
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...
 
virtual void writeFileHeader (const label i)
 Output file header information. 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 >
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 (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 Member Functions inherited from logFiles
virtual void createFiles ()
 Create the output file. More...
 
virtual void resetNames (const wordList &names)
 Reset the list of names from a wordList. More...
 
virtual void resetName (const word &name)
 Reset the list of names to a single name entry. More...
 

Protected Attributes

dictionary dict_
 Construction dictionary. More...
 
regionTypes regionType_
 Region type. More...
 
word regionName_
 Name of region. 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 region. 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
const Timetime_
 Reference to the Time. More...
 
const objectRegistryobr_
 Reference to the region objectRegistry. More...
 
- Protected Attributes inherited from logFiles
wordList names_
 File names. More...
 
PtrList< OFstreamfilePtrs_
 File pointer. More...
 
- Protected Attributes inherited from writeFile
const objectRegistryfileObr_
 Reference to the region objectRegistry. More...
 
const word prefix_
 Prefix. 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...
 

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 ("libreactingEulerFoamFunctionObjects.so");
    writeControl    outputTime;
    writeInterval   1;
    log             true;
    ...
    functionType        numberDensity;
    abszissaType        volume;
    regionType          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
regionType Evaluate for cellZone or entire mesh yes
cellZoneName Required if regionType is cellZone
populationBalanceModel Respective populationBalanceModel yes
normalize Normalization no
See also
Foam::diameterModels::populationBalanceModel Foam::functionObject Foam::functionObjects::fvMeshFunctionObject Foam::functionObjects::logFiles
Source files

Definition at line 145 of file sizeDistribution.H.

Member Enumeration Documentation

◆ regionTypes

Region type enumeration.

Enumerator
rtCellZone 
rtAll 

Definition at line 156 of file sizeDistribution.H.

◆ functionTypes

Function type enumeration.

Enumerator
ftNdf 
ftVdf 
ftNc 
ftMom 

Definition at line 167 of file sizeDistribution.H.

◆ abszissaTypes

abszissa type enumeration

Enumerator
atDiameter 
atVolume 

Definition at line 180 of file sizeDistribution.H.

Constructor & Destructor Documentation

◆ sizeDistribution()

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

Construct from Time and dictionary.

◆ ~sizeDistribution()

virtual ~sizeDistribution ( )
virtual

Destructor.

Member Function Documentation

◆ initialise()

void initialise ( const dictionary dict)
protected

Initialise, e.g. cell addressing.

◆ setCellZoneCells()

void setCellZoneCells ( )
protected

Set cells to evaluate based on a cell zone.

◆ volume()

scalar volume ( ) const
protected

Calculate and return volume of the evaluated cell zone.

◆ combineFields()

void combineFields ( scalarField field)
protected

Combine fields from all processor domains into single field.

◆ filterField()

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

Filter field according to cellIds.

◆ writeFileHeader()

virtual void writeFileHeader ( const label  i)
protectedvirtual

Output file header information.

Implements logFiles.

◆ TypeName()

TypeName ( "sizeDistribution"  )

Runtime type information.

◆ dict()

const dictionary& dict ( ) const
inline

Return the reference to the construction dictionary.

Definition at line 285 of file sizeDistribution.H.

References sizeDistribution::dict_.

Referenced by sizeDistribution::mesh().

Here is the caller graph for this function:

◆ cellId()

const labelList& cellId ( ) const
inline

Return the local list of cell IDs.

Definition at line 291 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 297 of file sizeDistribution.H.

References sizeDistribution::dict(), sizeDistribution::execute(), regionFunctionObject::obr_, sizeDistribution::read(), and sizeDistribution::write().

Here is the call graph for this function:

◆ read()

virtual bool read ( const dictionary dict)
virtual

Read from dictionary.

Reimplemented from regionFunctionObject.

Referenced by sizeDistribution::mesh().

Here is the caller graph for this function:

◆ execute()

virtual bool execute ( )
virtual

Execute.

Implements functionObject.

Referenced by sizeDistribution::mesh().

Here is the caller graph for this function:

◆ write()

virtual bool write ( )
virtual

Write.

Reimplemented from logFiles.

Referenced by sizeDistribution::mesh().

Here is the caller graph for this function:

Member Data Documentation

◆ regionTypeNames_

const NamedEnum<regionTypes, 2> regionTypeNames_
static

Region type names.

Definition at line 163 of file sizeDistribution.H.

◆ functionTypeNames_

const NamedEnum<functionTypes, 4> functionTypeNames_
static

Function type names.

Definition at line 176 of file sizeDistribution.H.

◆ abszissaTypeNames_

const NamedEnum<abszissaTypes, 2> abszissaTypeNames_
static

Abszissa type names.

Definition at line 187 of file sizeDistribution.H.

◆ dict_

dictionary dict_
protected

Construction dictionary.

Definition at line 195 of file sizeDistribution.H.

Referenced by sizeDistribution::dict().

◆ regionType_

regionTypes regionType_
protected

Region type.

Definition at line 198 of file sizeDistribution.H.

◆ regionName_

word regionName_
protected

Name of region.

Definition at line 201 of file sizeDistribution.H.

◆ functionType_

functionTypes functionType_
protected

Function type.

Definition at line 204 of file sizeDistribution.H.

◆ abszissaType_

abszissaTypes abszissaType_
protected

Abszissa type.

Definition at line 207 of file sizeDistribution.H.

◆ nCells_

label nCells_
protected

Global number of cells.

Definition at line 210 of file sizeDistribution.H.

◆ cellId_

labelList cellId_
protected

Local list of cell IDs.

Definition at line 213 of file sizeDistribution.H.

Referenced by sizeDistribution::cellId().

◆ volume_

scalar volume_
protected

Total volume of the evaluated region.

Definition at line 216 of file sizeDistribution.H.

◆ writeVolume_

bool writeVolume_
protected

Optionally write the volume of the sizeDistribution.

Definition at line 219 of file sizeDistribution.H.

◆ popBal_

PopulationBalance.

Definition at line 222 of file sizeDistribution.H.

◆ N_

List<scalar> N_
protected

Number concentrations.

Definition at line 225 of file sizeDistribution.H.

◆ momentOrder_

label momentOrder_
protected

Write moments up to specified order with respect to abszissaType.

Definition at line 228 of file sizeDistribution.H.

◆ normalize_

const Switch normalize_
protected

Normalization switch.

Definition at line 231 of file sizeDistribution.H.

◆ sumN_

scalar sumN_
protected

Sum of number concentrations.

Definition at line 234 of file sizeDistribution.H.

◆ sumV_

scalar sumV_
protected

Volumertic sum.

Definition at line 237 of file sizeDistribution.H.


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