Public Member Functions | Private Member Functions | Private Attributes
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 >:
Inheritance graph
[legend]
Collaboration diagram for MultiInteraction< CloudType >:
Collaboration graph
[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 ()
 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, const scalar trackFraction, const tetIndices &tetIs)
 Apply velocity correction. 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 autoPtr< PatchInteractionModel< CloudType > > clone () const=0
 Construct and return a clone. More...
 
virtual ~PatchInteractionModel ()
 Destructor. More...
 
const wordUName () const
 Return name of velocity field. More...
 
void addToEscapedParcels (const scalar mass)
 Add to escaped parcels. More...
 
virtual void info (Ostream &os)
 Write patch interaction info to stream. More...
 

Private Member Functions

bool read (const dictionary &)
 Read settings. More...
 

Private Attributes

Switch oneInteractionOnly_
 
PtrList< PatchInteractionModel< CloudType > > models_
 Submodels. More...
 

Additional Inherited Members

- Public Types inherited from PatchInteractionModel< CloudType >
enum  interactionType
 
- 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 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...
 

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

Constructor & Destructor Documentation

◆ MultiInteraction() [1/2]

MultiInteraction ( const dictionary dict,
CloudType cloud 
)

Construct from dictionary.

Definition at line 88 of file MultiInteraction.C.

References Foam::read().

Here is the call graph for this function:

◆ MultiInteraction() [2/2]

Construct copy from owner cloud and patch interaction model.

Definition at line 101 of file MultiInteraction.C.

◆ ~MultiInteraction()

~MultiInteraction
virtual

Destructor.

Definition at line 114 of file MultiInteraction.C.

Member Function Documentation

◆ read()

bool read ( const dictionary dict)
private

Read settings.

Definition at line 31 of file MultiInteraction.C.

References dict, Foam::endl(), forAllConstIter(), Foam::Info, and Foam::nl.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "multiInteraction"  )

Runtime type information.

◆ clone()

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

Construct and return a clone using supplied owner cloud.

Definition at line 119 of file MultiInteraction.H.

◆ active()

bool active
virtual

Flag to indicate whether model activates patch interaction model.

Definition at line 121 of file MultiInteraction.C.

References forAll.

◆ correct()

bool correct ( typename CloudType::parcelType p,
const polyPatch pp,
bool &  keepParticle,
const scalar  trackFraction,
const tetIndices tetIs 
)
virtual

Apply velocity correction.

Returns true if particle remains in same cell

Implements PatchInteractionModel< CloudType >.

Definition at line 136 of file MultiInteraction.C.

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

Here is the call graph for this function:

Field Documentation

◆ oneInteractionOnly_

Switch oneInteractionOnly_
private

Definition at line 93 of file MultiInteraction.H.

◆ models_

Submodels.

Definition at line 96 of file MultiInteraction.H.


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