91#ifndef RecycleInteraction_H
92#define RecycleInteraction_H
107template<
class CloudType>
Intrusive doubly-linked list.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A HashTable to objects of type <T> with a label key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Templated patch interaction model class.
PatchInteractionModel(CloudType &owner)
Construct null from owner.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Patch interaction model to perform parcel transfer and recycle from one patch to another.
virtual void postEvolve()
Post-evolve hook.
const fvMesh & mesh_
Reference to mesh.
RecycleInteraction(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
virtual autoPtr< PatchInteractionModel< CloudType > > clone() const
Construct and return a clone using supplied owner cloud.
List< Pair< label > > recyclePatchesIds_
Patch IDs of recyclePatches.
Map< label > injIdToIndex_
Injector ID to local index map.
List< List< scalar > > massInjected_
Mass of parcels injected.
List< List< label > > nRemoved_
Number of parcels removed.
List< Pair< word > > recyclePatches_
Outlet-inlet patch pair to apply parcel recycling.
virtual ~RecycleInteraction()=default
Destructor.
List< List< label > > nInjected_
Number of parcels injected.
virtual void info()
Write patch interaction info.
virtual void writeFileHeader(Ostream &os)
Output file header information.
List< List< scalar > > massRemoved_
Mass of parcels removed.
const scalar recycleFraction_
Parcel fraction to be recycled from outlet to inlet.
TypeName("recycleInteraction")
Runtime type information.
List< IDLList< parcelType > > recycledParcels_
Parcel IDs of recycled parcels.
CloudType::parcelType parcelType
bool outputByInjectorId_
Flag to output escaped/mass particles sorted by injectorID.
PtrList< patchInjectionBase > injectionPatchPtr_
Injection patch pointer.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
A patch is a list of labels that address the faces in the global face list.
const dictionary & dict() const
Return const access to the cloud dictionary.
OBJstream os(runTime.globalPath()/outputName)
DSMCCloud< dsmcParcel > CloudType
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.