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