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

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

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

Public Member Functions

 TypeName ("wallLocalSpringSliderDashpot")
 Runtime type information. More...
 
 WallLocalSpringSliderDashpot (const dictionary &dict, CloudType &cloud)
 Construct from dictionary. More...
 
virtual ~WallLocalSpringSliderDashpot ()
 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, bool cohesion) const
 Calculate the wall interaction for a parcel at a given site. More...
 

Private Attributes

scalarList Estar_
 Effective Young's modulus value. More...
 
scalarList Gstar_
 Effective shear modulus value. More...
 
scalarList alpha_
 alpha-coefficient, related to coefficient of restitution More...
 
scalarList b_
 Spring power (b = 1 for linear, b = 3/2 for Hertzian) More...
 
scalarList mu_
 Coefficient of friction in for tangential sliding. More...
 
scalarList cohesionEnergyDensity_
 Cohesion energy density [J/m^3]. More...
 
boolList cohesion_
 Switch cohesion on and off. More...
 
labelList patchMap_
 Mapping the patch index to the model data. More...
 
label maxEstarIndex_
 Index of the maximum value of Estar_. 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 WallModel< CloudType >
static autoPtr< WallModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 

Detailed Description

template<class CloudType>
class Foam::WallLocalSpringSliderDashpot< CloudType >

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

Definition at line 46 of file WallLocalSpringSliderDashpot.H.

Constructor & Destructor Documentation

◆ WallLocalSpringSliderDashpot()

WallLocalSpringSliderDashpot ( const dictionary dict,
CloudType cloud 
)

Construct from dictionary.

Definition at line 175 of file WallLocalSpringSliderDashpot.C.

References DynamicList::append(), forAll, lookup(), dictionary::lookup(), Foam::mag(), mesh, Foam::name(), nu, readScalar, DynamicList::setSize(), and Foam::sqr().

Here is the call graph for this function:

◆ ~WallLocalSpringSliderDashpot()

Destructor.

Definition at line 280 of file WallLocalSpringSliderDashpot.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 WallLocalSpringSliderDashpot.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,
bool  cohesion 
) const
private

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

Definition at line 75 of file WallLocalSpringSliderDashpot.C.

References Foam::constant::atomic::alpha, Foam::constant::physicoChemical::b, Foam::mag(), Foam::max(), Foam::constant::physicoChemical::mu, p, Foam::constant::mathematical::pi(), Foam::pow(), Foam::pow025(), Foam::sqr(), and Foam::sqrt().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "wallLocalSpringSliderDashpot"  )

Runtime type information.

◆ volumeFactor()

scalar volumeFactor ( ) const
inline

Return the volumeFactor.

Definition at line 147 of file WallLocalSpringSliderDashpot.H.

References WallLocalSpringSliderDashpot< 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 288 of file WallLocalSpringSliderDashpot.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 304 of file WallLocalSpringSliderDashpot.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 311 of file WallLocalSpringSliderDashpot.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 337 of file WallLocalSpringSliderDashpot.C.

References forAll, and p.

Field Documentation

◆ Estar_

scalarList Estar_
private

Effective Young's modulus value.

Definition at line 53 of file WallLocalSpringSliderDashpot.H.

◆ Gstar_

scalarList Gstar_
private

Effective shear modulus value.

Definition at line 56 of file WallLocalSpringSliderDashpot.H.

◆ alpha_

scalarList alpha_
private

alpha-coefficient, related to coefficient of restitution

Definition at line 59 of file WallLocalSpringSliderDashpot.H.

◆ b_

scalarList b_
private

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

Definition at line 62 of file WallLocalSpringSliderDashpot.H.

◆ mu_

scalarList mu_
private

Coefficient of friction in for tangential sliding.

Definition at line 65 of file WallLocalSpringSliderDashpot.H.

◆ cohesionEnergyDensity_

scalarList cohesionEnergyDensity_
private

Cohesion energy density [J/m^3].

Definition at line 68 of file WallLocalSpringSliderDashpot.H.

◆ cohesion_

boolList cohesion_
private

Switch cohesion on and off.

Definition at line 71 of file WallLocalSpringSliderDashpot.H.

◆ patchMap_

labelList patchMap_
private

Mapping the patch index to the model data.

Definition at line 74 of file WallLocalSpringSliderDashpot.H.

◆ maxEstarIndex_

label maxEstarIndex_
private

Index of the maximum value of Estar_.

Definition at line 77 of file WallLocalSpringSliderDashpot.H.

◆ collisionResolutionSteps_

scalar collisionResolutionSteps_
private

The number of steps over which to resolve the minimum.

harmonic approximation of the collision period

Definition at line 81 of file WallLocalSpringSliderDashpot.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 99 of file WallLocalSpringSliderDashpot.H.

Referenced by WallLocalSpringSliderDashpot< 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 103 of file WallLocalSpringSliderDashpot.H.


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