110 #ifndef functionObjects_extractEulerianParticles_H 111 #define functionObjects_extractEulerianParticles_H 126 namespace functionObjects
132 class extractEulerianParticles
134 public fvMeshFunctionObject,
142 injectedParticleCloud
cloud_;
248 const label nRegionsNew,
273 const label localFaceI,
274 const label globalFaceI
283 TypeName(
"extractEulerianParticles");
label nDiscardedParticles_
Total number of discarded particles.
virtual void checkFaceZone()
Check that the faceZone is valid.
virtual ~extractEulerianParticles()=default
Destructor.
virtual void calculateAddressing(const label nRegionsNew, const scalar time, labelList ®ionFaceIDs)
Calculate the addressing between regions between iterations Returns the number of active regions (par...
virtual void collectParticle(const scalar time, const label regioni)
Collect particles that have passed through the faceZone.
labelList fineToCoarseAddr_
Agglomeration addressing from fine to coarse (local proc only)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Map< label > regionToParticleMap_
Map from region to index in particles_ list.
scalar discardedVolume_
Total discarded volume [m3].
word rhoName_
Name of the density field, default = rho.
labelList regions0_
Region indices in faceZone faces from last iteration.
extractEulerianParticles(const word &name, const Time &runTime, const dictionary &dict)
Construct from components.
globalIndex globalCoarseFaces_
Global coarse face addressing.
label zoneID_
Index of the faceZone.
Generates particle size information from Eulerian calculations, e.g. VoF.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const word & name() const noexcept
Return the name of this functionObject.
List< eulerianParticle > particles_
Particle properties (partial, being accumulated)
word faceZoneName_
Name of faceZone to sample.
labelList patchIDs_
Patch indices where faceZone face intersect patch.
virtual bool read(const dictionary &)
Read the field min/max data.
virtual void initialiseBins()
Initialise the particle collection bins.
A class for handling words, derived from Foam::string.
word phiName_
Name of the flux field, default ="rho".
void operator=(const extractEulerianParticles &)=delete
No copy assignment.
virtual void accumulateParticleInfo(const surfaceScalarField &alphaf, const surfaceScalarField &phi, const labelList ®ionFaceIDs, const faceZone &fz)
Process latest region information.
scalar maxDiameter_
Maximum diameter (optional)
TypeName("extractEulerianParticles")
Runtime type information.
virtual bool execute()
Execute.
scalar collectedVolume_
Total collected volume [m3].
virtual void setBlockedFaces(const surfaceScalarField &alphaf, const faceZone &fz, boolList &blockedFaces)
Set the blocked faces, i.e. where alpha > alpha threshold value.
label nInjectorLocations_
Number of sample locations to generate.
word UName_
Name of the velocity field, default = U.
scalar alphaThreshold_
Value of phase fraction used to identify particle boundaries.
Type faceValue(const GeometricField< Type, fvsPatchField, surfaceMesh > &field, const label localFaceI, const label globalFaceI) const
virtual tmp< surfaceScalarField > phiU() const
Return the volumetric flux.
injectedParticleCloud cloud_
Storage for collected particles.
label nCollectedParticles_
Total number of collected particles.
A subset of mesh faces organised as a primitive patch.
Macros to ease declaration of run-time selection tables.
const Time & time() const
Return time database.
labelList patchFaceIDs_
Patch face indices where faceZone face intersect patch.
List< label > labelList
A List of labels.
word alphaName_
Name of phase fraction field.
A class for managing temporary objects.
virtual bool write()
Write.
scalar minDiameter_
Minimum diameter (optional)