regionSizeDistribution Class Reference

Creates a size distribution via interrogating a continuous phase fraction field. More...

Inheritance diagram for regionSizeDistribution:
Collaboration diagram for regionSizeDistribution:

Public Member Functions

 TypeName ("regionSizeDistribution")
 Runtime type information. More...
 
 regionSizeDistribution (const word &name, const Time &runTime, const dictionary &)
 Construct for given objectRegistry and dictionary. More...
 
 regionSizeDistribution (const regionSizeDistribution &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~regionSizeDistribution ()
 
virtual bool read (const dictionary &)
 Read the regionSizeDistribution data. More...
 
virtual wordList fields () const
 Return the list of fields required. More...
 
virtual bool execute ()
 Do nothing. More...
 
virtual bool write ()
 Calculate the regionSizeDistribution and write. More...
 
void operator= (const regionSizeDistribution &)=delete
 Disallow default bitwise assignment. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > divide (const Field< Type > &num, const scalarField &denom)
 
template<class Type >
Foam::Map< Type > regionSum (const regionSplit &regions, const Field< Type > &fld) const
 
template<class Type >
Foam::List< Type > extractData (const UList< label > &keys, const Map< Type > &regionData) const
 
- 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 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...
 
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 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 timeToNextAction ()
 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...
 
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 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 fvMeshmesh_
 Reference to the fvMesh. More...
 
- Protected Attributes inherited from regionFunctionObject
const objectRegistryobr_
 Reference to the region objectRegistry. More...
 
- Protected Attributes inherited from functionObject
const Timetime_
 Reference to time. More...
 

Detailed Description

Creates a size distribution via interrogating a continuous phase fraction field.

Looks up a phase-fraction (alpha) field and splits the mesh into regions based on where the field is below the threshold value. These regions ("droplets") can now be analysed.

Regions:

  • print the regions connected to a user-defined set of patches. (in spray calculation these form the liquid core)
  • print the regions with too large volume. These are the 'background' regions.
  • (debug) write regions as a volScalarField
  • (debug) print for all regions the sum of volume and alpha*volume

Output (volume scalar) fields include:

  • alpha_liquidCore : alpha with outside liquid core set to 0
  • alpha_background : alpha with outside background set to 0.

Histogram:

  • determine histogram of diameter (given minDiameter, maxDiameter, nBins)
  • write graph of number of droplets per bin
  • write graph of sum, average and deviation of droplet volume per bin
  • write graph of sum, average and deviation of user-defined fields. For volVectorFields these are those of the 3 components and the magnitude.

Example of function object specification:

regionSizeDistribution1
{
    type            regionSizeDistribution;
    libs            ("libfieldFunctionObjects.so");
    ...
    alpha           alpha;
    patches         (inlet);
    threshold       0.4;
    fields          (p U);
    nBins           100;
    maxDiameter     0.5e-4;
    minDiameter     0;
    setFormat       gnuplot;
}
Usage
Property Description Required Default value
type type name: regionSizeDistribution yes
alpha phase field to interrogate yes
patches patches from which the liquid core is identified yes
threshold phase fraction applied to delimit regions yes
fields fields to sample yes
nBins number of bins for histogram yes
maxDiameter maximum region equivalent diameter yes
minDiameter minimum region equivalent diameter no 0
setFormat writing format yes
See also
Foam::functionObject Foam::functionObjects::fvMeshFunctionObject Foam::functionObjects::writeFile
Source files

Definition at line 171 of file regionSizeDistribution.H.

Constructor & Destructor Documentation

◆ regionSizeDistribution() [1/2]

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

Construct for given objectRegistry and dictionary.

Allow the possibility to load fields from files

Definition at line 339 of file regionSizeDistribution.C.

References dict, and regionSizeDistribution::read().

Here is the call graph for this function:

◆ regionSizeDistribution() [2/2]

Disallow default bitwise copy construction.

◆ ~regionSizeDistribution()

~regionSizeDistribution ( )
virtual

Definition at line 357 of file regionSizeDistribution.C.

Member Function Documentation

◆ TypeName()

TypeName ( "regionSizeDistribution"  )

Runtime type information.

◆ read()

bool read ( const dictionary dict)
virtual

Read the regionSizeDistribution data.

Reimplemented from regionFunctionObject.

Definition at line 363 of file regionSizeDistribution.C.

References dict, and setWriter::New().

Referenced by regionSizeDistribution::regionSizeDistribution().

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 380 of file regionSizeDistribution.C.

References fields.

◆ execute()

bool execute ( )
virtual

Do nothing.

Implements functionObject.

Definition at line 388 of file regionSizeDistribution.C.

◆ write()

◆ operator=()

void operator= ( const regionSizeDistribution )
delete

Disallow default bitwise assignment.

◆ divide()

Foam::tmp<Foam::Field<Type> > divide ( const Field< Type > &  num,
const scalarField denom 
)

Definition at line 198 of file regionSizeDistribution.C.

References forAll, tmp< T >::ref(), List< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ regionSum()

Foam::Map<Type> regionSum ( const regionSplit regions,
const Field< Type > &  fld 
) const

◆ extractData()

Foam::List<Type> extractData ( const UList< label > &  keys,
const Map< Type > &  regionData 
) const

Definition at line 64 of file regionSizeDistributionTemplates.C.

References forAll, and UList< T >::size().

Here is the call graph for this function:

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