RecycleInteraction< CloudType > Class Template Reference

Patch interaction model to perform parcel transfer and recycle from one patch to another. More...

Inheritance diagram for RecycleInteraction< CloudType >:
[legend]
Collaboration diagram for RecycleInteraction< CloudType >:
[legend]

Public Member Functions

 TypeName ("recycleInteraction")
 Runtime type information. More...
 
 RecycleInteraction (const dictionary &dict, CloudType &cloud)
 Construct from dictionary. More...
 
 RecycleInteraction (const RecycleInteraction< CloudType > &pim)
 Construct copy from owner cloud and patch interaction model. More...
 
virtual autoPtr< PatchInteractionModel< CloudType > > clone () const
 Construct and return a clone using supplied owner cloud. More...
 
virtual ~RecycleInteraction ()=default
 Destructor. More...
 
virtual bool correct (typename CloudType::parcelType &p, const polyPatch &pp, bool &keepParticle)
 Apply velocity correction. More...
 
virtual void postEvolve ()
 Post-evolve hook. More...
 
virtual void info (Ostream &os)
 Write patch interaction info to stream. More...
 
- Public Member Functions inherited from PatchInteractionModel< CloudType >
 TypeName ("patchInteractionModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, PatchInteractionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table. More...
 
 PatchInteractionModel (CloudType &owner)
 Construct null from owner. More...
 
 PatchInteractionModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components. More...
 
 PatchInteractionModel (const PatchInteractionModel< CloudType > &pim)
 Construct copy. More...
 
virtual ~PatchInteractionModel ()=default
 Destructor. More...
 
const wordUName () const
 Return name of velocity field. More...
 
const scalar & Urmax () const
 Return Urmax. More...
 
virtual void addToEscapedParcels (const scalar mass)
 Add to escaped parcels. More...
 

Protected Types

typedef CloudType::parcelType parcelType
 

Protected Member Functions

virtual void writeFileHeader (Ostream &os)
 Output file header information. More...
 

Protected Attributes

const fvMeshmesh_
 Reference to mesh. More...
 
List< Pair< word > > recyclePatches_
 Outlet-inlet patch pair to apply parcel recycling. More...
 
List< Pair< label > > recyclePatchesIds_
 Patch IDs of recyclePatches. More...
 
List< IDLList< parcelType > > recycledParcels_
 Parcel IDs of recycled parcels. More...
 
List< List< label > > nRemoved_
 Number of parcels removed. More...
 
List< List< scalar > > massRemoved_
 Mass of parcels removed. More...
 
List< List< label > > nInjected_
 Number of parcels injected. More...
 
List< List< scalar > > massInjected_
 Mass of parcels injected. More...
 
Map< label > injIdToIndex_
 Injector ID to local index map. More...
 
PtrList< patchInjectionBaseinjectionPatchPtr_
 Injection patch pointer. More...
 
const scalar recycleFraction_
 Parcel fraction to be recycled from outlet to inlet. More...
 
bool outputByInjectorId_
 Flag to output escaped/mass particles sorted by injectorID. More...
 
- Protected Attributes inherited from PatchInteractionModel< CloudType >
const word UName_
 Name of velocity field - default = "U". More...
 
label escapedParcels_
 Number of parcels escaped. More...
 
scalar escapedMass_
 Mass of parcels escaped. More...
 
scalar Urmax_
 Maximum relative U with patch for particle to be removed. More...
 

Additional Inherited Members

- Public Types inherited from PatchInteractionModel< CloudType >
enum  interactionType {
  itNone, itRebound, itStick, itEscape,
  itOther
}
 
- Static Public Member Functions inherited from PatchInteractionModel< CloudType >
static autoPtr< PatchInteractionModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 
static word interactionTypeToWord (const interactionType &itEnum)
 Convert interaction result to word. More...
 
static interactionType wordToInteractionType (const word &itWord)
 Convert word to interaction result. More...
 
- Static Public Attributes inherited from PatchInteractionModel< CloudType >
static wordList interactionTypeNames_
 

Detailed Description

template<class CloudType>
class Foam::RecycleInteraction< CloudType >

Patch interaction model to perform parcel transfer and recycle from one patch to another.

Parcels that hit a given 'outflow' patch are recycled to a given 'inflow' patch, with optional:

  • recycle fraction [0-1]
Usage
Minimal example by using constant/reactingCloud1Properties.subModels.multiInteractionCoeffs
multiInteractionCoeffs
{
    ...

    model1
    {
        // Mandatory entries (unmodifiable)
        patchInteractionModel    recycleInteraction;

        recycleInteractionCoeffs
        {
            recyclePatches
            (
                (<outletPatch1> <inletPatch1>)
                (<outletPatch2> <inletPatch2>)
                ...
            );

            recycleFraction      0.8; // [0-1]

            // Optional entries (unmodifiable)
            outputByInjectorId   false;
        }
    }

    ...
}

where the entries mean:

Property Description Type Reqd Dflt
patchInteractionModel Type name: recycleInteraction word yes -
recyclePatches Names of outlet-inlet patch pairs (word word) yes -
recycleFraction Fraction of parcels recycled from outlet to inlet scalar yes -
outputByInjectorId Flag to output escaped/mass particles sorted by injectorID bool no false
Source files

Definition at line 145 of file RecycleInteraction.H.

Member Typedef Documentation

◆ parcelType

typedef CloudType::parcelType parcelType
protected

Definition at line 151 of file RecycleInteraction.H.

Constructor & Destructor Documentation

◆ RecycleInteraction() [1/2]

RecycleInteraction ( const dictionary dict,
CloudType cloud 
)

Construct from dictionary.

Definition at line 64 of file RecycleInteraction.C.

References forAll, and Foam::Zero.

◆ RecycleInteraction() [2/2]

Construct copy from owner cloud and patch interaction model.

Definition at line 134 of file RecycleInteraction.C.

◆ ~RecycleInteraction()

virtual ~RecycleInteraction ( )
virtualdefault

Destructor.

Member Function Documentation

◆ writeFileHeader()

void writeFileHeader ( Ostream os)
protectedvirtual

Output file header information.

Reimplemented from PatchInteractionModel< CloudType >.

Definition at line 33 of file RecycleInteraction.C.

References forAll, Foam::name(), and os().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "recycleInteraction"  )

Runtime type information.

◆ clone()

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

Construct and return a clone using supplied owner cloud.

Implements PatchInteractionModel< CloudType >.

Definition at line 217 of file RecycleInteraction.H.

◆ correct()

bool correct ( typename CloudType::parcelType p,
const polyPatch pp,
bool keepParticle 
)
virtual

Apply velocity correction.

Returns true if particle remains in same cell

Implements PatchInteractionModel< CloudType >.

Definition at line 157 of file RecycleInteraction.C.

References forAll, patchIdentifier::index(), and p.

Here is the call graph for this function:

◆ postEvolve()

void postEvolve ( )
virtual

Post-evolve hook.

Reimplemented from PatchInteractionModel< CloudType >.

Definition at line 204 of file RecycleInteraction.C.

References List< T >::append(), PstreamBuffers::clear(), List< T >::clear(), PstreamBuffers::finishedSends(), forAll, forAllIters, fractions(), mesh, n, reduce(), and rndGen.

Here is the call graph for this function:

◆ info()

void info ( Ostream os)
virtual

Write patch interaction info to stream.

Reimplemented from PatchInteractionModel< CloudType >.

Definition at line 372 of file RecycleInteraction.C.

References Foam::endl(), forAll, forAllConstIters(), Foam::nl, os(), Foam::tab, and Foam::Zero.

Here is the call graph for this function:

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Reference to mesh.

Definition at line 156 of file RecycleInteraction.H.

◆ recyclePatches_

List<Pair<word> > recyclePatches_
protected

Outlet-inlet patch pair to apply parcel recycling.

Definition at line 159 of file RecycleInteraction.H.

◆ recyclePatchesIds_

List<Pair<label> > recyclePatchesIds_
protected

Patch IDs of recyclePatches.

Definition at line 162 of file RecycleInteraction.H.

◆ recycledParcels_

List<IDLList<parcelType> > recycledParcels_
protected

Parcel IDs of recycled parcels.

Definition at line 165 of file RecycleInteraction.H.

◆ nRemoved_

List<List<label> > nRemoved_
protected

Number of parcels removed.

Definition at line 171 of file RecycleInteraction.H.

◆ massRemoved_

List<List<scalar> > massRemoved_
protected

Mass of parcels removed.

Definition at line 174 of file RecycleInteraction.H.

◆ nInjected_

List<List<label> > nInjected_
protected

Number of parcels injected.

Definition at line 177 of file RecycleInteraction.H.

◆ massInjected_

List<List<scalar> > massInjected_
protected

Mass of parcels injected.

Definition at line 180 of file RecycleInteraction.H.

◆ injIdToIndex_

Map<label> injIdToIndex_
protected

Injector ID to local index map.

Definition at line 184 of file RecycleInteraction.H.

◆ injectionPatchPtr_

PtrList<patchInjectionBase> injectionPatchPtr_
protected

Injection patch pointer.

Definition at line 187 of file RecycleInteraction.H.

◆ recycleFraction_

const scalar recycleFraction_
protected

Parcel fraction to be recycled from outlet to inlet.

Definition at line 190 of file RecycleInteraction.H.

◆ outputByInjectorId_

bool outputByInjectorId_
protected

Flag to output escaped/mass particles sorted by injectorID.

Definition at line 193 of file RecycleInteraction.H.


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