Public Types | Public Member Functions | Protected Member Functions | List of all members
ParticleCollector< CloudType > Class Template Reference

Function object to collect the parcel mass- and mass flow rate over a set of polygons. The polygons can either be specified by sets of user- supplied points, or in a concentric circles arrangement. If a parcel is 'collected', it can be flagged to be removed from the domain using the removeCollected entry. More...

Inheritance diagram for ParticleCollector< CloudType >:
Inheritance graph
[legend]
Collaboration diagram for ParticleCollector< CloudType >:
Collaboration graph
[legend]

Public Types

enum  modeType { mtPolygon, mtConcentricCircle, mtUnknown }
 
- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 

Public Member Functions

 TypeName ("particleCollector")
 Runtime type information. More...
 
 ParticleCollector (const dictionary &dict, CloudType &owner, const word &modelName)
 Construct from dictionary. More...
 
 ParticleCollector (const ParticleCollector< CloudType > &pc)
 Construct copy. More...
 
virtual autoPtr< CloudFunctionObject< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~ParticleCollector ()
 Destructor. More...
 
const SwitchresetOnWrite () const
 Return const access to the reset on write flag. More...
 
virtual void postMove (parcelType &p, const label celli, const scalar dt, const point &position0, bool &keepParticle)
 Post-move hook. 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 ~CloudFunctionObject ()
 Destructor. More...
 
virtual void preEvolve ()
 Pre-evolve hook. More...
 
virtual void postEvolve ()
 Post-evolve hook. More...
 
virtual void postPatch (const typename CloudType::parcelType &p, const polyPatch &pp, const scalar trackFraction, const tetIndices &testIs, bool &keepParticle)
 Post-patch hook. More...
 
virtual void postFace (const typename CloudType::parcelType &p, const label facei, 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...
 
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 dependant sub-model fields. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=pTraits< 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...
 
template<class Type >
void 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=pTraits< 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...
 

Protected Member Functions

void write ()
 Write post-processing info. More...
 
- Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line. More...
 

Additional Inherited Members

- 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...
 
- 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...
 

Detailed Description

template<class CloudType>
class Foam::ParticleCollector< CloudType >

Function object to collect the parcel mass- and mass flow rate over a set of polygons. The polygons can either be specified by sets of user- supplied points, or in a concentric circles arrangement. If a parcel is 'collected', it can be flagged to be removed from the domain using the removeCollected entry.

Example usage:

particleCollector1
{
    type            particleCollector;

    mode            concentricCircle;
    origin          (0.05 0.025 0.005);
    radius          (0.01 0.025 0.05);
    nSector         10;
    refDir          (1 0 0);
    normal          (0 0 1);

    negateParcelsOppositeNormal no;
    removeCollected no;
    surfaceFormat   vtk;
    resetOnWrite    no;
    log             yes;
}

particleCollector2
{
    type            particleCollector;

    mode            polygon;
    polygons
    (
        (
            (0 0 0)
            (1 0 0)
            (1 1 0)
            (0 1 0)
        )
        (
            (0 0 1)
            (1 0 1)
            (1 1 1)
            (0 1 1)
        )
    );
    normal          (0 0 1);

    negateParcelsOppositeNormal no;
    removeCollected no;
    surfaceFormat   vtk;
    resetOnWrite    no;
    log             yes;
}
Source files

Definition at line 107 of file ParticleCollector.H.

Member Enumeration Documentation

◆ modeType

enum modeType
Enumerator
mtPolygon 
mtConcentricCircle 
mtUnknown 

Definition at line 113 of file ParticleCollector.H.

Constructor & Destructor Documentation

◆ ParticleCollector() [1/2]

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

Construct from dictionary.

Definition at line 520 of file ParticleCollector.C.

References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, UList< T >::first(), forAll, lookup(), Foam::mag(), Foam::mode(), List< T >::setSize(), List< T >::size(), and vectorField().

Referenced by ParticleCollector< CloudType >::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParticleCollector() [2/2]

Construct copy.

Definition at line 608 of file ParticleCollector.C.

◆ ~ParticleCollector()

~ParticleCollector ( )
virtual

Destructor.

Definition at line 640 of file ParticleCollector.C.

References ParticleCollector< CloudType >::postMove().

Referenced by ParticleCollector< CloudType >::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ write()

void write ( )
protectedvirtual

◆ TypeName()

TypeName ( "particleCollector"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 262 of file ParticleCollector.H.

References p, ParticleCollector< CloudType >::postMove(), ParticleCollector< CloudType >::resetOnWrite(), and ParticleCollector< CloudType >::~ParticleCollector().

Here is the call graph for this function:

◆ resetOnWrite()

const Foam::Switch & resetOnWrite ( ) const
inline

Return const access to the reset on write flag.

Definition at line 28 of file ParticleCollectorI.H.

Referenced by ParticleCollector< CloudType >::clone().

Here is the caller graph for this function:

◆ postMove()

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

Post-move hook.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 648 of file ParticleCollector.C.

References forAll, and Foam::mag().

Referenced by ParticleCollector< CloudType >::clone(), and ParticleCollector< CloudType >::~ParticleCollector().

Here is the call graph for this function:
Here is the caller graph for this function:

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