Public Member Functions | Private Member Functions | Private Attributes
PairSpringSliderDashpot< CloudType > Class Template Reference

Pair forces between particles colliding with a spring, slider, damper model. More...

Inheritance diagram for PairSpringSliderDashpot< CloudType >:
Inheritance graph
[legend]
Collaboration diagram for PairSpringSliderDashpot< CloudType >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("pairSpringSliderDashpot")
 Runtime type information. More...
 
 PairSpringSliderDashpot (const dictionary &dict, CloudType &cloud)
 Construct from dictionary. More...
 
virtual ~PairSpringSliderDashpot ()
 Destructor. More...
 
scalar volumeFactor () const
 Return the volumeFactor. More...
 
scalar overlapArea (scalar rA, scalar rB, scalar rAB) const
 Return the area of overlap between two spheres of radii rA and rB,. More...
 
virtual bool controlsTimestep () const
 Whether the PairModel has a timestep limit that will. More...
 
virtual label nSubCycles () const
 For PairModels that control the timestep, calculate the. More...
 
virtual void evaluatePair (typename CloudType::parcelType &pA, typename CloudType::parcelType &pB) const
 Calculate the pair interaction between parcels. More...
 
- Public Member Functions inherited from PairModel< CloudType >
 TypeName ("pairModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, PairModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table. More...
 
 PairModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components. More...
 
virtual ~PairModel ()
 Destructor. More...
 
const CloudTypeowner () const
 Return the owner cloud object. More...
 
const dictionarydict () const
 Return the dictionary. More...
 
const dictionarycoeffDict () const
 Return the coefficients dictionary. More...
 
virtual bool controlsTimestep () const=0
 Whether the PairModel has a timestep limit that will. More...
 
virtual label nSubCycles () const=0
 For PairModels that control the timestep, calculate the. More...
 

Private Member Functions

void findMinMaxProperties (scalar &RMin, scalar &rhoMax, scalar &vMagMax) const
 Find the appropriate properties for determining the minimum. More...
 

Private Attributes

scalar Estar_
 Effective Young's modulus value, assuming both particles have. More...
 
scalar Gstar_
 Effective shear modulus value, assuming both particles have. More...
 
scalar alpha_
 alpha-coefficient, related to coefficient of restitution More...
 
scalar b_
 Spring power (b = 1 for linear, b = 3/2 for Hertzian) More...
 
scalar mu_
 Coefficient of friction in for tangential sliding. More...
 
scalar cohesionEnergyDensity_
 Cohesion energy density [J/m^3]. More...
 
bool cohesion_
 Switch cohesion on and off. More...
 
scalar collisionResolutionSteps_
 The number of steps over which to resolve the minimum. More...
 
scalar volumeFactor_
 Volume factor for determining the equivalent size of a. More...
 
bool useEquivalentSize_
 Switch to control use of equivalent size particles. Used. More...
 

Additional Inherited Members

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

Detailed Description

template<class CloudType>
class Foam::PairSpringSliderDashpot< CloudType >

Pair forces between particles colliding with a spring, slider, damper model.

Definition at line 47 of file PairSpringSliderDashpot.H.

Constructor & Destructor Documentation

◆ PairSpringSliderDashpot()

PairSpringSliderDashpot ( const dictionary dict,
CloudType cloud 
)

Construct from dictionary.

Definition at line 84 of file PairSpringSliderDashpot.C.

References Foam::constant::universal::G, lookup(), Foam::mag(), nu, readScalar, and Foam::sqr().

Here is the call graph for this function:

◆ ~PairSpringSliderDashpot()

Destructor.

Definition at line 129 of file PairSpringSliderDashpot.C.

Member Function Documentation

◆ findMinMaxProperties()

void findMinMaxProperties ( scalar &  RMin,
scalar &  rhoMax,
scalar &  vMagMax 
) const
private

Find the appropriate properties for determining the minimum.

allowable timestep

Definition at line 32 of file PairSpringSliderDashpot.C.

References Foam::cbrt(), forAllConstIter(), Foam::mag(), Foam::max(), Foam::min(), p, and rhoMax().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "pairSpringSliderDashpot"  )

Runtime type information.

◆ volumeFactor()

scalar volumeFactor ( ) const
inline

Return the volumeFactor.

Definition at line 133 of file PairSpringSliderDashpot.H.

References PairSpringSliderDashpot< CloudType >::volumeFactor_.

◆ overlapArea()

scalar overlapArea ( scalar  rA,
scalar  rB,
scalar  rAB 
) const
inline

Return the area of overlap between two spheres of radii rA and rB,.

centres separated by a distance rAB. Assumes rAB < (rA + rB).

Definition at line 140 of file PairSpringSliderDashpot.H.

◆ controlsTimestep()

bool controlsTimestep
virtual

Whether the PairModel has a timestep limit that will.

require subCycling

Definition at line 136 of file PairSpringSliderDashpot.C.

◆ nSubCycles()

Foam::label nSubCycles
virtual

For PairModels that control the timestep, calculate the.

number of subCycles needed to satisfy the minimum allowable timestep

Definition at line 143 of file PairSpringSliderDashpot.C.

References Foam::pow(), rhoMax(), and Foam::sqrt().

Here is the call graph for this function:

◆ evaluatePair()

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

Calculate the pair interaction between parcels.

Implements PairModel< CloudType >.

Definition at line 169 of file PairSpringSliderDashpot.C.

References Foam::cbrt(), M, Foam::mag(), Foam::pow(), Foam::pow025(), R, and Foam::sqrt().

Here is the call graph for this function:

Field Documentation

◆ Estar_

scalar Estar_
private

Effective Young's modulus value, assuming both particles have.

the same E value

Definition at line 55 of file PairSpringSliderDashpot.H.

◆ Gstar_

scalar Gstar_
private

Effective shear modulus value, assuming both particles have.

the same Poisson's ratio and Young's modulus

Definition at line 59 of file PairSpringSliderDashpot.H.

◆ alpha_

scalar alpha_
private

alpha-coefficient, related to coefficient of restitution

Definition at line 62 of file PairSpringSliderDashpot.H.

◆ b_

scalar b_
private

Spring power (b = 1 for linear, b = 3/2 for Hertzian)

Definition at line 65 of file PairSpringSliderDashpot.H.

◆ mu_

scalar mu_
private

Coefficient of friction in for tangential sliding.

Definition at line 68 of file PairSpringSliderDashpot.H.

◆ cohesionEnergyDensity_

scalar cohesionEnergyDensity_
private

Cohesion energy density [J/m^3].

Definition at line 71 of file PairSpringSliderDashpot.H.

◆ cohesion_

bool cohesion_
private

Switch cohesion on and off.

Definition at line 74 of file PairSpringSliderDashpot.H.

◆ collisionResolutionSteps_

scalar collisionResolutionSteps_
private

The number of steps over which to resolve the minimum.

harmonic approximation of the collision period

Definition at line 78 of file PairSpringSliderDashpot.H.

◆ volumeFactor_

scalar volumeFactor_
private

Volume factor for determining the equivalent size of a.

parcel where nParticles is not 1. The equivalent size of the parcel is parcelEquivVolume = volumeFactor*nParticles*p.volume() so parcelEquivD = cbrt(volumeFactor*nParticles)*p.d() + When volumeFactor = 1, the particles are compressed together so that the equivalent volume of the parcel is the sum of the constituent particles + When volumeFactor = 3*sqrt(2)/pi, the particles are close packed, but uncompressed. + When volumeFactor > 3*sqrt(2)/pi, the particles loosely grouped. 3*sqrt(2)/pi = 1.350474 is the volume factor for close packing, i.e pi/(3*sqrt(2)) is the maximum close packing factor

Definition at line 96 of file PairSpringSliderDashpot.H.

Referenced by PairSpringSliderDashpot< CloudType >::volumeFactor().

◆ useEquivalentSize_

bool useEquivalentSize_
private

Switch to control use of equivalent size particles. Used.

because the calculation can be very expensive.

Definition at line 100 of file PairSpringSliderDashpot.H.


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