Public Member Functions | List of all members
regionSizeDistribution Class Reference

This function object creates a size distribution via interrogating a continuous phase fraction field. More...

Inheritance diagram for regionSizeDistribution:
Inheritance graph
[legend]
Collaboration diagram for regionSizeDistribution:
Collaboration graph
[legend]

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...
 
virtual ~regionSizeDistribution ()
 
virtual bool read (const dictionary &)
 Read the regionSizeDistribution data. More...
 
virtual bool execute ()
 Do nothing. More...
 
virtual bool write ()
 Calculate the regionSizeDistribution and write. More...
 
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 writeFile
 writeFile (const word &name, const Time &t, const dictionary &dict, const word &prefix)
 Construct from name, Time, dictionary and prefix. More...
 
 writeFile (const word &name, const objectRegistry &obr, const dictionary &dict, const word &prefix)
 Construct from name, objectRegistry, dictionary and prefix. More...
 
virtual ~writeFile ()
 Destructor. 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...
 
- 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 adjustTimeStep ()
 Called at the end of Time::adjustDeltaT() if adjustTime is true. 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...
 

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...
 
- Static Public Attributes inherited from writeFile
static const word outputPrefix
 Directory prefix. More...
 
static label addChars = 7
 Additional characters for writing. More...
 
- Static Public Attributes inherited from functionObject
static int debug
 
static bool postProcess
 Global post-processing mode switch. More...
 
- Protected Member Functions inherited from writeFile
virtual void initStream (Ostream &os) const
 Initialise the output stream for writing. More...
 
virtual fileName baseFileDir () const
 Return the base directory for output. More...
 
virtual fileName baseTimeDir () const
 Return the base directory for the current time value. More...
 
virtual void writeFileHeader (const label i=0)
 File header information. More...
 
virtual Omanip< int > valueWidth (const label offset=0) const
 Return the value width when writing to stream with optional offset. More...
 
 writeFile (const writeFile &)
 Disallow default bitwise copy construct. More...
 
void operator= (const writeFile &)
 Disallow default bitwise assignment. 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 field 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 Attributes inherited from writeFile
const word prefix_
 Prefix. More...
 
- Protected Attributes inherited from regionFunctionObject
const Timetime_
 Reference to the Time. More...
 
const objectRegistryobr_
 Reference to the region objectRegistry. More...
 

Detailed Description

This function object 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:

Output (volume scalar) fields include:

Histogram:

Example of function object specification:

regionSizeDistribution1
{
    type            regionSizeDistribution;
    libs ("libfieldFunctionObjects.so");
    ...
    field           alpha;
    patches         (inlet);
    threshold       0.4;
    fields          (p U);
    nBins           100;
    maxDiameter     0.5e-4;
    minDiameter     0;
    setFormat       gnuplot;
    coordinateSystem
    {
        type            cartesian;
        origin          (0 0 0);
        e3              (0 1 1);
        e1              (1 0 0);
    }
}
Usage
Property Description Required Default value
type type name: regionSizeDistribution yes
field 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
coordinateSystem transformation for vector fields no
See also
Foam::functionObject Foam::functionObjects::writeFile
Source files

Definition at line 185 of file regionSizeDistribution.H.

Constructor & Destructor Documentation

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

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::read().

Here is the call graph for this function:

~regionSizeDistribution ( )
virtual

Definition at line 349 of file regionSizeDistribution.C.

Member Function Documentation

TypeName ( "regionSizeDistribution"  )

Runtime type information.

bool read ( const dictionary dict)
virtual

Read the regionSizeDistribution data.

Reimplemented from regionFunctionObject.

Definition at line 355 of file regionSizeDistribution.C.

References Foam::endl(), format(), dictionary::found(), Foam::Info, dictionary::lookup(), writer< Type >::New(), and dictionary::readIfPresent().

Here is the call graph for this function:

bool execute ( )
virtual

Do nothing.

Implements functionObject.

Definition at line 381 of file regionSizeDistribution.C.

bool write ( )
virtual

Calculate the regionSizeDistribution and write.

Implements functionObject.

Definition at line 387 of file regionSizeDistribution.C.

References alphaPtr, HashTable< T, label, Hash< label > >::begin(), HashTable< T, Key, Hash >::begin(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Foam::cbrt(), Field< Type >::component(), VectorSpace< Vector< scalar >, scalar, 3 >::componentNames, fvPatchField< Type >::coupled(), delta, Foam::dimless, Foam::fvc::domainIntegrate(), HashTableCore::end(), Foam::endl(), HashTable< T, label, Hash< label > >::erase(), HashTable< T, Key, Hash >::erase(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), Foam::findStrings(), fld(), forAll, forAllConstIter(), forAllIter, HashTable< T, Key, Hash >::found(), Foam::gSum(), Foam::Info, HashTable< T, Key, Hash >::iteratorBase::key(), Foam::mag(), UPstream::master(), mesh, IOobject::MUST_READ, Foam::name(), IOobject::name(), primitiveMesh::nCells(), VectorSpace< Vector< scalar >, scalar, 3 >::nComponents, primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, IOobject::NO_READ, IOobject::NO_WRITE, regionSplit::nRegions(), fvPatch::patch(), fvPatchField< Type >::patch(), patchi, fvPatchField< Type >::patchInternalField(), fvPatchField< Type >::patchNeighbourField(), Foam::constant::mathematical::pi(), Foam::pow(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), List< T >::size(), HashTable< T, label, Hash< label > >::sortedToc(), polyPatch::start(), token::TAB, fvMesh::time(), Time::timeName(), Foam::type(), Field< Type >::typeName, fvMesh::V(), regIOobject::write(), and x.

Here is the call graph for this function:

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

Definition at line 34 of file regionSizeDistributionTemplates.C.

References forAll, and regionSplit::nRegions().

Here is the call graph for this function:

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

Definition at line 65 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: