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

Forces between particles and walls, interacting with a spring, slider, damper model. More...

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

Public Member Functions

 TypeName ("wallSpringSliderDashpot")
 Runtime type information. More...
 
 WallSpringSliderDashpot (const dictionary &dict, CloudType &cloud)
 Construct from dictionary. More...
 
virtual ~WallSpringSliderDashpot ()
 Destructor. More...
 
scalar volumeFactor () const
 Return the volumeFactor. More...
 
virtual scalar pREff (const typename CloudType::parcelType &p) const
 Return the effective radius for a particle for the model. More...
 
virtual bool controlsTimestep () const
 Whether the WallModel has a timestep limit that will. More...
 
virtual label nSubCycles () const
 For WallModels that control the timestep, calculate the. More...
 
virtual 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 interaction for a parcel. More...
 
- Public Member Functions inherited from WallModel< CloudType >
 TypeName ("wallModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, WallModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table. More...
 
 WallModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components. More...
 
virtual ~WallModel ()
 Destructor. More...
 
const CloudTypeowner () const
 Return the owner cloud object. More...
 
CloudTypeowner ()
 Return non-const access to 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 WallModel has a timestep limit that will. More...
 
virtual label nSubCycles () const=0
 For WallModels 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...
 
void evaluateWall (typename CloudType::parcelType &p, const point &site, const WallSiteData< vector > &data, scalar pREff, scalar kN, bool cohesion) const
 Calculate the wall interaction for a parcel at a given site. More...
 

Private Attributes

scalar Estar_
 Effective Young's modulus value. More...
 
scalar Gstar_
 Effective shear modulus value. 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_
 
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 WallModel< CloudType >
static autoPtr< WallModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 

Detailed Description

template<class CloudType>
class Foam::WallSpringSliderDashpot< CloudType >

Forces between particles and walls, interacting with a spring, slider, damper model.

Definition at line 46 of file WallSpringSliderDashpot.H.

Constructor & Destructor Documentation

◆ WallSpringSliderDashpot()

WallSpringSliderDashpot ( const dictionary dict,
CloudType cloud 
)

Construct from dictionary.

Definition at line 162 of file WallSpringSliderDashpot.C.

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

Here is the call graph for this function:

◆ ~WallSpringSliderDashpot()

Destructor.

Definition at line 212 of file WallSpringSliderDashpot.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 WallSpringSliderDashpot.C.

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

Here is the call graph for this function:

◆ evaluateWall() [1/2]

void evaluateWall ( typename CloudType::parcelType p,
const point site,
const WallSiteData< vector > &  data,
scalar  pREff,
scalar  kN,
bool  cohesion 
) const
private

Calculate the wall interaction for a parcel at a given site.

Definition at line 75 of file WallSpringSliderDashpot.C.

References Foam::mag(), Foam::max(), p, Foam::constant::mathematical::pi(), Foam::pow(), Foam::pow025(), Foam::sqr(), and Foam::sqrt().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "wallSpringSliderDashpot"  )

Runtime type information.

◆ volumeFactor()

scalar volumeFactor ( ) const
inline

Return the volumeFactor.

Definition at line 142 of file WallSpringSliderDashpot.H.

References WallSpringSliderDashpot< CloudType >::volumeFactor_.

◆ pREff()

Foam::scalar pREff ( const typename CloudType::parcelType p) const
virtual

Return the effective radius for a particle for the model.

Implements WallModel< CloudType >.

Definition at line 220 of file WallSpringSliderDashpot.C.

References Foam::cbrt(), and p.

Here is the call graph for this function:

◆ controlsTimestep()

bool controlsTimestep
virtual

Whether the WallModel has a timestep limit that will.

require subCycling

Definition at line 236 of file WallSpringSliderDashpot.C.

◆ nSubCycles()

Foam::label nSubCycles
virtual

For WallModels that control the timestep, calculate the.

number of subCycles needed to satisfy the minimum allowable timestep

Definition at line 243 of file WallSpringSliderDashpot.C.

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

Here is the call graph for this function:

◆ evaluateWall() [2/2]

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
virtual

Calculate the wall interaction for a parcel.

Implements WallModel< CloudType >.

Definition at line 269 of file WallSpringSliderDashpot.C.

References forAll, p, and Foam::sqrt().

Here is the call graph for this function:

Field Documentation

◆ Estar_

scalar Estar_
private

Effective Young's modulus value.

Definition at line 53 of file WallSpringSliderDashpot.H.

◆ Gstar_

scalar Gstar_
private

Effective shear modulus value.

Definition at line 56 of file WallSpringSliderDashpot.H.

◆ alpha_

scalar alpha_
private

alpha-coefficient, related to coefficient of restitution

Definition at line 59 of file WallSpringSliderDashpot.H.

◆ b_

scalar b_
private

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

Definition at line 62 of file WallSpringSliderDashpot.H.

◆ mu_

scalar mu_
private

Coefficient of friction in for tangential sliding.

Definition at line 65 of file WallSpringSliderDashpot.H.

◆ cohesionEnergyDensity_

scalar cohesionEnergyDensity_
private

Cohesion energy density [J/m^3].

Definition at line 68 of file WallSpringSliderDashpot.H.

◆ cohesion_

bool cohesion_
private

Definition at line 71 of file WallSpringSliderDashpot.H.

◆ collisionResolutionSteps_

scalar collisionResolutionSteps_
private

The number of steps over which to resolve the minimum.

harmonic approximation of the collision period

Definition at line 75 of file WallSpringSliderDashpot.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 93 of file WallSpringSliderDashpot.H.

Referenced by WallSpringSliderDashpot< 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 97 of file WallSpringSliderDashpot.H.


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