Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
PairCollision< CloudType > Class Template Reference
Inheritance diagram for PairCollision< CloudType >:
Inheritance graph
[legend]
Collaboration diagram for PairCollision< CloudType >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("pairCollision")
 Runtime type information. More...
 
 PairCollision (const dictionary &dict, CloudType &owner)
 Construct from components. More...
 
 PairCollision (const PairCollision< CloudType > &cm)
 Construct copy. More...
 
virtual autoPtr< CollisionModel< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~PairCollision ()
 Destructor. More...
 
virtual label nSubCycles () const
 Return the number of times to subcycle the current. More...
 
virtual bool controlsWallInteraction () const
 Indicates whether model determines wall collisions or not,. More...
 
virtual void collide ()
 
- Public Member Functions inherited from CollisionModel< CloudType >
 TypeName ("collisionModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, CollisionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table. More...
 
 CollisionModel (CloudType &owner)
 Construct null from owner. More...
 
 CollisionModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components. More...
 
 CollisionModel (const CollisionModel< CloudType > &cm)
 Construct copy. More...
 
virtual autoPtr< CollisionModel< CloudType > > clone () const=0
 Construct and return a clone. More...
 
virtual ~CollisionModel ()
 Destructor. More...
 
virtual label nSubCycles () const=0
 Return the number of times to subcycle the current. More...
 
virtual bool controlsWallInteraction () const=0
 Indicates whether model determines wall collisions or not,. More...
 

Private Member Functions

void preInteraction ()
 Pre collision tasks. More...
 
void parcelInteraction ()
 Interactions between parcels. More...
 
void realRealInteraction ()
 Interactions between real (on-processor) particles. More...
 
void realReferredInteraction ()
 Interactions between real and referred (off processor) particles. More...
 
void wallInteraction ()
 Interactions with walls. More...
 
bool duplicatePointInList (const DynamicList< point > &existingPoints, const point &pointToTest, scalar duplicateRangeSqr) const
 
bool duplicatePointInList (const DynamicList< point > &existingPoints, const point &pointToTest, const scalarList &duplicateRangeSqr) const
 
void postInteraction ()
 Post collision tasks. More...
 
void evaluatePair (typename CloudType::parcelType &pA, typename CloudType::parcelType &pB) const
 Calculate the pair force between parcels. More...
 
void evaluateWall (typename CloudType::parcelType &p, const List< point > &flatSitePoints, const List< WallSiteData< vector > > &flatSiteData, const List< point > &sharpSitePoints, const List< WallSiteData< vector > > &sharpSiteData) const
 Calculate the wall forces on a parcel. More...
 

Private Attributes

autoPtr< PairModel< CloudType > > pairModel_
 PairModel to calculate the interaction between two parcels. More...
 
autoPtr< WallModel< CloudType > > wallModel_
 WallModel to calculate the interaction between the parcel and walls. More...
 
InteractionLists< typename CloudType::parcelTypeil_
 Interactions lists determining which cells are in. More...
 

Static Private Attributes

static scalar cosPhiMinFlatWall = 1 - SMALL
 Tolerance to determine flat wall interactions. More...
 
static scalar flatWallDuplicateExclusion
 Distance to multiply the distance to a wall with within. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CollisionModel< CloudType >
static autoPtr< CollisionModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 

Detailed Description

template<class CloudType>
class Foam::PairCollision< CloudType >

Source files

Definition at line 59 of file PairCollision.H.

Constructor & Destructor Documentation

◆ PairCollision() [1/2]

PairCollision ( const dictionary dict,
CloudType owner 
)

Construct from components.

Definition at line 560 of file PairCollision.C.

◆ PairCollision() [2/2]

Construct copy.

Definition at line 601 of file PairCollision.C.

References NotImplemented.

◆ ~PairCollision()

~PairCollision
virtual

Destructor.

Definition at line 618 of file PairCollision.C.

Member Function Documentation

◆ preInteraction()

void preInteraction
private

Pre collision tasks.

Definition at line 43 of file PairCollision.C.

References forAllIter, and p.

◆ parcelInteraction()

void parcelInteraction
private

Interactions between parcels.

Definition at line 58 of file PairCollision.C.

References cellOccupancy.

◆ realRealInteraction()

void realRealInteraction
private

Interactions between real (on-processor) particles.

Definition at line 75 of file PairCollision.C.

References Foam::constant::physicoChemical::b, cellOccupancy, and forAll.

◆ realReferredInteraction()

void realReferredInteraction
private

Interactions between real and referred (off processor) particles.

Definition at line 125 of file PairCollision.C.

References cellOccupancy, forAll, and forAllIter.

◆ wallInteraction()

void wallInteraction
private

◆ duplicatePointInList() [1/2]

bool duplicatePointInList ( const DynamicList< point > &  existingPoints,
const point pointToTest,
scalar  duplicateRangeSqr 
) const
private

Definition at line 472 of file PairCollision.C.

References forAll, and Foam::magSqr().

Here is the call graph for this function:

◆ duplicatePointInList() [2/2]

bool duplicatePointInList ( const DynamicList< point > &  existingPoints,
const point pointToTest,
const scalarList duplicateRangeSqr 
) const
private

Definition at line 492 of file PairCollision.C.

References forAll, and Foam::magSqr().

Here is the call graph for this function:

◆ postInteraction()

void postInteraction
private

Post collision tasks.

Definition at line 511 of file PairCollision.C.

References forAllIter, and p.

◆ evaluatePair()

void evaluatePair ( typename CloudType::parcelType pA,
typename CloudType::parcelType pB 
) const
private

Calculate the pair force between parcels.

Definition at line 526 of file PairCollision.C.

◆ evaluateWall()

void evaluateWall ( typename CloudType::parcelType p,
const List< point > &  flatSitePoints,
const List< WallSiteData< vector > > &  flatSiteData,
const List< point > &  sharpSitePoints,
const List< WallSiteData< vector > > &  sharpSiteData 
) const
private

Calculate the wall forces on a parcel.

Definition at line 537 of file PairCollision.C.

References p.

◆ TypeName()

TypeName ( "pairCollision"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Definition at line 156 of file PairCollision.H.

◆ nSubCycles()

Foam::label nSubCycles
virtual

Return the number of times to subcycle the current.

timestep to meet the criteria of the collision model.

Definition at line 625 of file PairCollision.C.

References Foam::max(), and Foam::returnReduce().

Here is the call graph for this function:

◆ controlsWallInteraction()

bool controlsWallInteraction
virtual

Indicates whether model determines wall collisions or not,.

used to determine what value to use for wallImpactDistance

Definition at line 654 of file PairCollision.C.

◆ collide()

void collide
virtual

Implements CollisionModel< CloudType >.

Definition at line 661 of file PairCollision.C.

Field Documentation

◆ cosPhiMinFlatWall

Foam::scalar cosPhiMinFlatWall = 1 - SMALL
staticprivate

Tolerance to determine flat wall interactions.

Definition at line 66 of file PairCollision.H.

◆ flatWallDuplicateExclusion

Foam::scalar flatWallDuplicateExclusion
staticprivate
Initial value:
=
sqrt(3*SMALL)

Distance to multiply the distance to a wall with within.

which a duplicate flat wall interaction is defined. If cosPhiFlatWall = 1 - e, this = sqrt(2e - e^2) < sqrt(3e) for all e < 1, giving a safe tolerance (i.e. no double interactions next to each other.)

Definition at line 73 of file PairCollision.H.

◆ pairModel_

autoPtr<PairModel<CloudType> > pairModel_
private

PairModel to calculate the interaction between two parcels.

Definition at line 79 of file PairCollision.H.

◆ wallModel_

autoPtr<WallModel<CloudType> > wallModel_
private

WallModel to calculate the interaction between the parcel and walls.

Definition at line 82 of file PairCollision.H.

◆ il_

InteractionLists<typename CloudType::parcelType> il_
private

Interactions lists determining which cells are in.

interaction range of each other

Definition at line 86 of file PairCollision.H.


The documentation for this class was generated from the following files:
Foam::sqrt
dimensionedScalar sqrt(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:142