MultiInteraction< CloudType > Class Template Reference

Runs multiple patch interaction models in turn. Takes dictionary where all the subdictionaries are the interaction models. More...

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

Public Member Functions

 TypeName ("multiInteraction")
 Runtime type information. More...
 
 MultiInteraction (const dictionary &dict, CloudType &cloud)
 Construct from dictionary. More...
 
 MultiInteraction (const MultiInteraction< 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 ~MultiInteraction ()=default
 Destructor. More...
 
virtual bool active () const
 Flag to indicate whether model activates patch interaction model. 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...
 

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_
 
- Protected Member Functions inherited from PatchInteractionModel< CloudType >
virtual void writeFileHeader (Ostream &os)
 Output file header information. 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...
 

Detailed Description

template<class CloudType>
class Foam::MultiInteraction< CloudType >

Runs multiple patch interaction models in turn. Takes dictionary where all the subdictionaries are the interaction models.

Exit upon first successful interaction or continue doing other models. Returned interaction status will be true if there has been any interaction (so logical or) oneInteractionOnly true;

model1 { patchInteractionModel coincidentBaffleInteraction; coincidentBaffleInteractionCoeffs { coincidentPatches ( (pipetteWall_A pipetteCyclic_half0) (pipetteWall_B pipetteCyclic_half1) ); } } model2 { patchInteractionModel localInteraction; localInteractionCoeffs { patches ( cWall { type rebound; } pipetteWall_A { type rebound; } pipetteWall_B { type rebound; } ); } }

Definition at line 92 of file MultiInteraction.H.

Constructor & Destructor Documentation

◆ MultiInteraction() [1/2]

MultiInteraction ( const dictionary dict,
CloudType cloud 
)

Construct from dictionary.

Definition at line 90 of file MultiInteraction.C.

References Foam::blockMeshTools::read().

Here is the call graph for this function:

◆ MultiInteraction() [2/2]

Construct copy from owner cloud and patch interaction model.

Definition at line 103 of file MultiInteraction.C.

◆ ~MultiInteraction()

virtual ~MultiInteraction ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "multiInteraction"  )

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 124 of file MultiInteraction.H.

◆ active()

bool active ( ) const
virtual

Flag to indicate whether model activates patch interaction model.

Definition at line 116 of file MultiInteraction.C.

References forAll.

◆ 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 131 of file MultiInteraction.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 180 of file MultiInteraction.C.

◆ info()

void info ( Ostream os)
virtual

Write patch interaction info to stream.

Reimplemented from PatchInteractionModel< CloudType >.

Definition at line 190 of file MultiInteraction.C.

References Foam::endl(), Foam::Info, and IOstream::info().

Here is the call graph for this function:

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