This function object creates a size distribution via interrogating a continuous phase fraction field. More...
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 ®ions, const Field< Type > &fld) const |
template<class Type > | |
Foam::List< Type > | extractData (const UList< label > &keys, const Map< Type > ®ionData) const |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
virtual const word & | type () 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< functionObject > | clone () const |
Return clone. More... | |
virtual | ~functionObject () |
Destructor. More... | |
const word & | name () 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 autoPtr< functionObject > | New (const word &name, const Time &, const dictionary &) |
Select from dictionary, based on its "type" entry. More... | |
![]() | |
Switch | log |
Switch write log to Info. More... | |
![]() | |
static const word | outputPrefix |
Directory prefix. More... | |
static label | addChars = 7 |
Additional characters for writing. More... | |
![]() | |
static int | debug |
static bool | postProcess |
Global post-processing mode switch. More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
const word | prefix_ |
Prefix. More... | |
![]() | |
const Time & | time_ |
Reference to the Time. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
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); } }
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 |
Definition at line 185 of file regionSizeDistribution.H.
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().
|
virtual |
Definition at line 349 of file regionSizeDistribution.C.
TypeName | ( | "regionSizeDistribution" | ) |
Runtime type information.
|
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().
|
virtual |
|
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.
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().
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().