Detailed Description

Basic DEM kernel.

DEM kernel with spring-dashpot interaction in normal direction and spring in tangential direction.

#include <SpringDashpotSpring.h>

Public Member Functions

 SpringDashpotSpring (const uint_t numParticleTypes)
 
 SpringDashpotSpring (const SpringDashpotSpring &other)=default
 
 SpringDashpotSpring (SpringDashpotSpring &&other)=default
 
SpringDashpotSpringoperator= (const SpringDashpotSpring &other)=default
 
SpringDashpotSpringoperator= (SpringDashpotSpring &&other)=default
 
template<typename Accessor >
void operator() (const size_t p_idx1, const size_t p_idx2, Accessor &ac, const Vec3 &contactPoint, const Vec3 &contactNormal, const real_t &penetrationDepth, const real_t dt) const
 
void setStiffnessN (const size_t type1, const size_t type2, const real_t &val)
 assumes this parameter is symmetric More...
 
void setDampingN (const size_t type1, const size_t type2, const real_t &val)
 assumes this parameter is symmetric More...
 
void setStiffnessT (const size_t type1, const size_t type2, const real_t &val)
 assumes this parameter is symmetric More...
 
void setCoefficientOfFriction (const size_t type1, const size_t type2, const real_t &val)
 assumes this parameter is symmetric More...
 
real_t getStiffnessN (const size_t type1, const size_t type2) const
 
real_t getDampingN (const size_t type1, const size_t type2) const
 
real_t getStiffnessT (const size_t type1, const size_t type2) const
 
real_t getCoefficientOfFriction (const size_t type1, const size_t type2) const
 
real_t calcCoefficientOfRestitution (const size_t type1, const size_t type2, const real_t meff)
 
real_t calcCollisionTime (const size_t type1, const size_t type2, const real_t meff)
 
void setParametersFromCOR (const size_t type1, const size_t type2, const real_t cor, const real_t collisionTime, const real_t meff)
 

Private Attributes

uint_t numParticleTypes_
 
std::vector< real_tstiffnessN_ {}
 
std::vector< real_tdampingN_ {}
 
std::vector< real_tstiffnessT_ {}
 
std::vector< real_tcoefficientOfFriction_ {}
 

Constructor & Destructor Documentation

◆ SpringDashpotSpring() [1/3]

walberla::mesa_pd::kernel::SpringDashpotSpring::SpringDashpotSpring ( const uint_t  numParticleTypes)

◆ SpringDashpotSpring() [2/3]

walberla::mesa_pd::kernel::SpringDashpotSpring::SpringDashpotSpring ( const SpringDashpotSpring other)
default

◆ SpringDashpotSpring() [3/3]

walberla::mesa_pd::kernel::SpringDashpotSpring::SpringDashpotSpring ( SpringDashpotSpring &&  other)
default

Member Function Documentation

◆ calcCoefficientOfRestitution()

real_t walberla::mesa_pd::kernel::SpringDashpotSpring::calcCoefficientOfRestitution ( const size_t  type1,
const size_t  type2,
const real_t  meff 
)
inline

◆ calcCollisionTime()

real_t walberla::mesa_pd::kernel::SpringDashpotSpring::calcCollisionTime ( const size_t  type1,
const size_t  type2,
const real_t  meff 
)
inline

◆ getCoefficientOfFriction()

real_t walberla::mesa_pd::kernel::SpringDashpotSpring::getCoefficientOfFriction ( const size_t  type1,
const size_t  type2 
) const
inline

◆ getDampingN()

real_t walberla::mesa_pd::kernel::SpringDashpotSpring::getDampingN ( const size_t  type1,
const size_t  type2 
) const
inline

◆ getStiffnessN()

real_t walberla::mesa_pd::kernel::SpringDashpotSpring::getStiffnessN ( const size_t  type1,
const size_t  type2 
) const
inline

◆ getStiffnessT()

real_t walberla::mesa_pd::kernel::SpringDashpotSpring::getStiffnessT ( const size_t  type1,
const size_t  type2 
) const
inline

◆ operator()()

template<typename Accessor >
void walberla::mesa_pd::kernel::SpringDashpotSpring::operator() ( const size_t  p_idx1,
const size_t  p_idx2,
Accessor &  ac,
const Vec3 contactPoint,
const Vec3 contactNormal,
const real_t penetrationDepth,
const real_t  dt 
) const
inline

◆ operator=() [1/2]

SpringDashpotSpring& walberla::mesa_pd::kernel::SpringDashpotSpring::operator= ( const SpringDashpotSpring other)
default

◆ operator=() [2/2]

SpringDashpotSpring& walberla::mesa_pd::kernel::SpringDashpotSpring::operator= ( SpringDashpotSpring &&  other)
default

◆ setCoefficientOfFriction()

void walberla::mesa_pd::kernel::SpringDashpotSpring::setCoefficientOfFriction ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

◆ setDampingN()

void walberla::mesa_pd::kernel::SpringDashpotSpring::setDampingN ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

◆ setParametersFromCOR()

void walberla::mesa_pd::kernel::SpringDashpotSpring::setParametersFromCOR ( const size_t  type1,
const size_t  type2,
const real_t  cor,
const real_t  collisionTime,
const real_t  meff 
)
inline

◆ setStiffnessN()

void walberla::mesa_pd::kernel::SpringDashpotSpring::setStiffnessN ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

◆ setStiffnessT()

void walberla::mesa_pd::kernel::SpringDashpotSpring::setStiffnessT ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

Member Data Documentation

◆ coefficientOfFriction_

std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpotSpring::coefficientOfFriction_ {}
private

◆ dampingN_

std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpotSpring::dampingN_ {}
private

◆ numParticleTypes_

uint_t walberla::mesa_pd::kernel::SpringDashpotSpring::numParticleTypes_
private

◆ stiffnessN_

std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpotSpring::stiffnessN_ {}
private

◆ stiffnessT_

std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpotSpring::stiffnessT_ {}
private

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