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...
Public Types | |
enum | modeType { mtPolygon, mtConcentricCircle, mtUnknown } |
![]() | |
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 Switch & | resetOnWrite () 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... | |
![]() | |
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 fileName & | outputDir () const |
Return the output path. More... | |
fileName | outputTimeDir () const |
Return the output time path. More... | |
![]() | |
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 CloudType & | owner () const |
Return const access to the owner cloud. More... | |
virtual bool | outputTime () const |
Flag to indicate when to write a property. More... | |
CloudType & | owner () |
Return non-const access to the owner cloud for manipulation. More... | |
virtual void | write (Ostream &os) const |
Write. More... | |
![]() | |
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 word & | modelName () const |
Return const access to the name of the sub-model. More... | |
const dictionary & | dict () const |
Return const access to the cloud dictionary. More... | |
const word & | baseName () const |
Return const access to the base name of the sub-model. More... | |
const word & | modelType () const |
Return const access to the sub-model type. More... | |
const dictionary & | coeffDict () const |
Return const access to the coefficients dictionary. More... | |
const dictionary & | properties () 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... | |
![]() | |
bool | inLine () const |
Flag to indicate whether data is/was read in-line. More... | |
Private Types | |
typedef CloudType::parcelType | parcelType |
Convenience typedef for parcel type. More... | |
Private Member Functions | |
void | makeLogFile (const faceList &faces, const Field< point > &points, const Field< scalar > &area) |
Helper function to create log files. More... | |
void | initPolygons (const List< Field< point > > &polygons) |
Initialise polygon collectors. More... | |
void | initConcentricCircles () |
Initialise concentric circle collectors. More... | |
void | collectParcelPolygon (const point &p1, const point &p2) const |
Collect parcels in polygon collectors. More... | |
void | collectParcelConcentricCircles (const point &p1, const point &p2) const |
Collect parcels in concentric circle collectors. More... | |
Private Attributes | |
modeType | mode_ |
Collector mode type. More... | |
const label | parcelType_ |
Index of parcel types to collect (-1 by default = all particles) More... | |
Switch | removeCollected_ |
Flag to remove collected particles. More... | |
Field< point > | points_ |
List of points. More... | |
List< face > | faces_ |
List of faces. More... | |
List< List< face > > | faceTris_ |
Triangulation of faces. More... | |
label | nSector_ |
Number of sectors per circle. More... | |
List< scalar > | radius_ |
List of radii. More... | |
cylindricalCS | coordSys_ |
Cylindrical co-ordinate system. More... | |
Field< scalar > | area_ |
Face areas. More... | |
Field< vector > | normal_ |
Polygon normal vector per face. More... | |
bool | negateParcelsOppositeNormal_ |
Remove mass of parcel travelling in opposite direction to normal_. More... | |
const word | surfaceFormat_ |
Surface output format. More... | |
Switch | resetOnWrite_ |
Flag to indicate whether data should be reset/cleared on writing. More... | |
scalar | totalTime_ |
Total time. More... | |
List< scalar > | mass_ |
Mass storage. More... | |
List< scalar > | massTotal_ |
Mass total storage. More... | |
List< scalar > | massFlowRate_ |
Mass flow rate storage. More... | |
Switch | log_ |
Flag to indicate whether data should be written to file. More... | |
autoPtr< OFstream > | outputFilePtr_ |
Output file pointer. More... | |
scalar | timeOld_ |
Last calculation time. More... | |
DynamicList< label > | hitFaceIDs_ |
Work list to store which faces are hit. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< CloudFunctionObject< CloudType > > | New (const dictionary &dict, CloudType &owner, const word &objectType, const word &modelName) |
Selector. More... | |
![]() | |
CloudType & | owner_ |
Reference to the cloud. More... | |
![]() | |
const word | modelName_ |
Name of the sub-model. More... | |
dictionary & | properties_ |
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... | |
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.
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; }
Definition at line 107 of file ParticleCollector.H.
|
private |
Convenience typedef for parcel type.
Definition at line 128 of file ParticleCollector.H.
enum modeType |
Enumerator | |
---|---|
mtPolygon | |
mtConcentricCircle | |
mtUnknown |
Definition at line 113 of file ParticleCollector.H.
ParticleCollector | ( | const dictionary & | dict, |
CloudType & | owner, | ||
const word & | modelName | ||
) |
Construct from dictionary.
Definition at line 519 of file ParticleCollector.C.
References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, forAll, lookup(), Foam::mag(), Foam::mode(), List::size(), and vectorField().
ParticleCollector | ( | const ParticleCollector< CloudType > & | pc | ) |
Construct copy.
Definition at line 607 of file ParticleCollector.C.
|
virtual |
Destructor.
Definition at line 639 of file ParticleCollector.C.
|
private |
Helper function to create log files.
Definition at line 38 of file ParticleCollector.C.
References Foam::endl(), forAll, Foam::Info, Foam::mkDir(), Foam::name(), Foam::nl, points, List::size(), Foam::sum(), Foam::tab, and Foam::type().
Initialise polygon collectors.
Definition at line 110 of file ParticleCollector.C.
References Foam::exit(), f(), Foam::FatalIOError, FatalIOErrorInFunction, forAll, Foam::identity(), and nPoints.
|
private |
Initialise concentric circle collectors.
Definition at line 154 of file ParticleCollector.C.
References DynamicList::append(), DynamicList::clear(), Foam::degToRad(), forAll, Foam::identity(), lookup(), Foam::mag(), Foam::max(), Foam::readLabel(), and Random::vector01().
Collect parcels in polygon collectors.
Definition at line 288 of file ParticleCollector.C.
References triangle::classify(), forAll, and Foam::sign().
Collect parcels in concentric circle collectors.
Definition at line 338 of file ParticleCollector.C.
References Foam::constant::mathematical::pi(), Foam::sign(), and Foam::constant::mathematical::twoPi().
|
protectedvirtual |
Write post-processing info.
Reimplemented from CloudFunctionObject< CloudType >.
Definition at line 389 of file ParticleCollector.C.
References Foam::constant::atomic::alpha, beta(), Foam::endl(), forAll, Foam::Info, mesh, Foam::compressible::New(), Foam::nl, Foam::sum(), Foam::tab, Time::timeName(), Foam::type(), dimensioned::value(), and writer< Type >::write().
TypeName | ( | "particleCollector" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from CloudFunctionObject< CloudType >.
Definition at line 262 of file ParticleCollector.H.
|
inline |
Return const access to the reset on write flag.
Definition at line 28 of file ParticleCollectorI.H.
|
virtual |
Post-move hook.
Reimplemented from CloudFunctionObject< CloudType >.
Definition at line 647 of file ParticleCollector.C.
References forAll, Foam::mag(), and p.
|
private |
Collector mode type.
Definition at line 131 of file ParticleCollector.H.
|
private |
Index of parcel types to collect (-1 by default = all particles)
Definition at line 134 of file ParticleCollector.H.
|
private |
Flag to remove collected particles.
Definition at line 137 of file ParticleCollector.H.
List of points.
Definition at line 140 of file ParticleCollector.H.
List of faces.
Definition at line 143 of file ParticleCollector.H.
Triangulation of faces.
Definition at line 149 of file ParticleCollector.H.
|
private |
Number of sectors per circle.
Definition at line 154 of file ParticleCollector.H.
|
private |
List of radii.
Definition at line 157 of file ParticleCollector.H.
|
private |
Cylindrical co-ordinate system.
Definition at line 160 of file ParticleCollector.H.
|
private |
Face areas.
Definition at line 164 of file ParticleCollector.H.
Polygon normal vector per face.
Definition at line 167 of file ParticleCollector.H.
|
private |
Remove mass of parcel travelling in opposite direction to normal_.
Definition at line 170 of file ParticleCollector.H.
|
private |
Surface output format.
Definition at line 173 of file ParticleCollector.H.
|
private |
Flag to indicate whether data should be reset/cleared on writing.
Definition at line 176 of file ParticleCollector.H.
|
private |
Total time.
Definition at line 179 of file ParticleCollector.H.
|
private |
Mass storage.
Definition at line 182 of file ParticleCollector.H.
|
private |
Mass total storage.
Definition at line 185 of file ParticleCollector.H.
|
private |
Mass flow rate storage.
Definition at line 188 of file ParticleCollector.H.
|
private |
Flag to indicate whether data should be written to file.
Definition at line 191 of file ParticleCollector.H.
Output file pointer.
Definition at line 194 of file ParticleCollector.H.
|
private |
Last calculation time.
Definition at line 197 of file ParticleCollector.H.
|
mutableprivate |
Work list to store which faces are hit.
Definition at line 200 of file ParticleCollector.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.