ParticleZoneInfo< CloudType > Class Template Reference

Reports cloud information for particles passing through a specified cell zone. More...

Inheritance diagram for ParticleZoneInfo< CloudType >:
[legend]
Collaboration diagram for ParticleZoneInfo< CloudType >:
[legend]

Public Member Functions

 TypeName ("particleZoneInfo")
 Runtime type information. More...
 
 ParticleZoneInfo (const dictionary &dict, CloudType &owner, const word &modelName)
 Construct from dictionary. More...
 
 ParticleZoneInfo (const ParticleZoneInfo< CloudType > &pe)
 Construct copy. More...
 
virtual autoPtr< CloudFunctionObject< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~ParticleZoneInfo ()=default
 Destructor. More...
 
virtual void preEvolve (const typename parcelType::trackingData &td)
 Pre-evolve hook. More...
 
virtual void postEvolve (const typename parcelType::trackingData &td)
 Post-evolve hook. More...
 
virtual void postMove (parcelType &p, const scalar dt, const point &position0, bool &keepParticle)
 Post-move hook. More...
 
virtual void write ()
 Write. More...
 
- Public Member Functions inherited from CloudFunctionObject< CloudType >
 TypeName ("cloudFunctionObject")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, CloudFunctionObject, dictionary,(const dictionary &dict, CloudType &owner, const word &modelName),(dict, owner, modelName))
 Declare runtime constructor selection table. More...
 
 CloudFunctionObject (CloudType &owner)
 Construct null from owner. More...
 
 CloudFunctionObject (const dictionary &dict, CloudType &owner, const word &objectType, const word &modelName)
 Construct from dictionary. More...
 
 CloudFunctionObject (const CloudFunctionObject< CloudType > &ppm)
 Construct copy. More...
 
virtual autoPtr< CloudFunctionObject< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~CloudFunctionObject ()=default
 Destructor. More...
 
virtual void preEvolve (const typename parcelType::trackingData &td)
 Pre-evolve hook. More...
 
virtual void postEvolve (const typename parcelType::trackingData &td)
 Post-evolve hook. More...
 
virtual void postMove (parcelType &p, const scalar dt, const point &position0, bool &keepParticle)
 Post-move hook. More...
 
virtual void postPatch (const parcelType &p, const polyPatch &pp, bool &keepParticle)
 Post-patch hook. More...
 
virtual void postFace (const parcelType &p, bool &keepParticle)
 Post-face hook. More...
 
const fileNameoutputDir () const
 Return the output path. More...
 
fileName writeTimeDir () const
 Return the output time path. More...
 
- Public Member Functions inherited from CloudSubModelBase< CloudType >
 CloudSubModelBase (CloudType &owner)
 Construct null from owner cloud. More...
 
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name. More...
 
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name. More...
 
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Construct as copy. More...
 
virtual ~CloudSubModelBase ()
 Destructor. More...
 
const CloudTypeowner () const
 Return const access to the owner cloud. More...
 
virtual bool writeTime () const
 Flag to indicate when to write a property. More...
 
virtual fileName localPath () const
 Output directory. More...
 
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null. More...
 
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name. More...
 
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name. More...
 
 subModelBase (const subModelBase &smb)
 Construct as copy. More...
 
virtual ~subModelBase ()
 Destructor. More...
 
const wordmodelName () const
 Return const access to the name of the sub-model. More...
 
const dictionarydict () const
 Return const access to the cloud dictionary. More...
 
const wordbaseName () const
 Return const access to the base name of the sub-model. More...
 
const wordmodelType () const
 Return const access to the sub-model type. More...
 
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary. More...
 
const dictionaryproperties () const
 Return const access to the properties dictionary. More...
 
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg. More...
 
virtual bool active () const
 Return the model 'active' status - default active = true. More...
 
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields. More...
 
virtual bool writeTime () const
 Flag to indicate when to write a property. More...
 
virtual fileName localPath () const
 Output directory. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model. More...
 
bool getModelDict (const word &entryName, dictionary &dict) const
 Retrieve dictionary, return true if set. More...
 
template<class Type >
bool getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
Type getModelProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model. More...
 
virtual void write (Ostream &os) const
 Write. 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 bool read (const dictionary &dict)
 Read. 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...
 
template<class Type >
void writeValue (Ostream &os, const Type &val) const
 Write a given value to stream with the space delimiter. More...
 

Additional Inherited Members

- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 
- Static Public Member Functions inherited from CloudFunctionObject< CloudType >
static autoPtr< CloudFunctionObject< CloudType > > New (const dictionary &dict, CloudType &owner, const word &objectType, const word &modelName)
 Selector. More...
 
- Static Public Attributes inherited from writeFile
static label addChars = 8
 Additional characters for writing. More...
 
- Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line. 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 inherited from CloudSubModelBase< CloudType >
CloudTypeowner_
 Reference to the cloud. More...
 
- Protected Attributes inherited from subModelBase
const word modelName_
 Name of the sub-model. More...
 
dictionaryproperties_
 Reference to properties dictionary e.g. for restart. More...
 
const dictionary dict_
 Copy of dictionary used during construction. More...
 
const word baseName_
 Name of the sub-model base class. More...
 
const word modelType_
 Type of the sub-model. More...
 
const dictionary coeffDict_
 Coefficients dictionary. 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...
 

Detailed Description

template<class CloudType>
class Foam::ParticleZoneInfo< CloudType >

Reports cloud information for particles passing through a specified cell zone.

Usage
Example usage:
cloudFunctions
{
    particleZoneInfo1
    {
        // Mandatory entries
        type            particleZoneInfo;
        cellZone        leftFluid;

        // Optional entries
        writer          vtk;
    }
}

Results are written to file:

  • <case>/postProcessing/lagrangian/<cloudName>/<functionName>/<time>
# cellZone        : leftFluid
# time            : 1.0000000000e+00
#
# origID    origProc    (x y z)    time0    age    d0    d    mass0    mass

Where

  • origID : particle ID
  • origProc : processor ID
  • (x y z) : Cartesian co-ordinates
  • time0 : time particle enters the cellZone
  • age : time spent in the cellZone
  • d0 : diameter on entry to the cellZone
  • d : current diameter
  • mass0 : mass on entry to the cellZone
  • mass : current mass

If the optional writer entry is supplied, cloud data is written in the specified format.

During the run, output statistics are reported after the cloud solution, e.g.:

particleZoneInfo:
    Cell zone                       = leftFluid
    Contributions                   = 257

Here, 'Contributions' refers to the number of incremental particle-move contributions recorded during this time step. At write times, the output is extended, e.g.:

particleZoneInfo:
    Cell zone                       = leftFluid
    Contributions                   = 822
    Number of particles             = 199
    Written data to "postProcessing/lagrangian/reactingCloud1/
Source files

Definition at line 206 of file ParticleZoneInfo.H.

Constructor & Destructor Documentation

◆ ParticleZoneInfo() [1/2]

ParticleZoneInfo ( const dictionary dict,
CloudType owner,
const word modelName 
)

Construct from dictionary.

Definition at line 180 of file ParticleZoneInfo.C.

References polyMesh::cellZones(), subModelBase::coeffDict(), Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, subModelBase::getModelProperty(), Foam::Info, splitCell::master(), DSMCCloud< ParcelType >::mesh(), Foam::New(), PstreamBuffers::nProcs(), CloudSubModelBase< CloudType >::owner(), UList< T >::size(), and WarningInFunction.

Here is the call graph for this function:

◆ ParticleZoneInfo() [2/2]

Construct copy.

Definition at line 256 of file ParticleZoneInfo.C.

◆ ~ParticleZoneInfo()

virtual ~ParticleZoneInfo ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "particleZoneInfo"  )

Runtime type information.

◆ clone()

virtual autoPtr< CloudFunctionObject< CloudType > > clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 275 of file ParticleZoneInfo.H.

◆ preEvolve()

void preEvolve ( const typename parcelType::trackingData td)
virtual

Pre-evolve hook.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 275 of file ParticleZoneInfo.C.

◆ postEvolve()

void postEvolve ( const typename parcelType::trackingData td)
virtual

Post-evolve hook.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 283 of file ParticleZoneInfo.C.

References List< T >::clear(), Foam::endl(), Foam::Info, Foam::max(), Foam::nl, p, MultiInteraction< CloudType >::postEvolve(), Foam::returnReduce(), and Foam::type().

Here is the call graph for this function:

◆ postMove()

void postMove ( parcelType &  p,
const scalar  dt,
const point position0,
bool keepParticle 
)
virtual

◆ write()

void write
virtual

Write.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 351 of file ParticleZoneInfo.C.

References DynamicList< T, SizeMin >::append(), Pstream::broadcast(), Foam::endl(), forAll, Foam::Info, Pstream::listCombineGather(), splitCell::master(), n, OFstream::name(), Foam::nl, PstreamBuffers::nProcs(), os(), p, UPstream::parRun(), List< T >::resize(), and Foam::returnReduce().

Here is the call graph for this function:

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