Detailed Description

Basic DEM kernel.

This DEM kernel supports spring&dashpot in normal direction as well as friction in tangential direction.

const walberla::mesa_pd::Vec3& getPosition(const size_t p_idx) const;
const walberla::mesa_pd::Vec3& getLinearVelocity(const size_t p_idx) const;
walberla::mesa_pd::Vec3& getForceRef(const size_t p_idx);
const walberla::mesa_pd::Vec3& getAngularVelocity(const size_t p_idx) const;
walberla::mesa_pd::Vec3& getTorqueRef(const size_t p_idx);
const uint_t& getType(const size_t p_idx) const;
const std::map<walberla::id_t, walberla::mesa_pd::Vec3>& getContactHistory(const size_t p_idx) const;
void setContactHistory(const size_t p_idx, const std::map<walberla::id_t, walberla::mesa_pd::Vec3>& v);

#include <SpringDashpot.h>

Public Member Functions

 SpringDashpot (const uint_t numParticleTypes)
 
 SpringDashpot (const SpringDashpot &other)=default
 
 SpringDashpot (SpringDashpot &&other)=default
 
SpringDashpotoperator= (const SpringDashpot &other)=default
 
SpringDashpotoperator= (SpringDashpot &&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
 
void setStiffness (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 setDampingT (const size_t type1, const size_t type2, const real_t &val)
 assumes this parameter is symmetric More...
 
void setFriction (const size_t type1, const size_t type2, const real_t &val)
 assumes this parameter is symmetric More...
 
real_t getStiffness (const size_t type1, const size_t type2) const
 
real_t getDampingN (const size_t type1, const size_t type2) const
 
real_t getDampingT (const size_t type1, const size_t type2) const
 
real_t getFriction (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_tstiffness_ {}
 
std::vector< real_tdampingN_ {}
 
std::vector< real_tdampingT_ {}
 
std::vector< real_tfriction_ {}
 

Constructor & Destructor Documentation

walberla::mesa_pd::kernel::SpringDashpot::SpringDashpot ( const uint_t  numParticleTypes)
walberla::mesa_pd::kernel::SpringDashpot::SpringDashpot ( const SpringDashpot other)
default
walberla::mesa_pd::kernel::SpringDashpot::SpringDashpot ( SpringDashpot &&  other)
default

Member Function Documentation

real_t walberla::mesa_pd::kernel::SpringDashpot::calcCoefficientOfRestitution ( const size_t  type1,
const size_t  type2,
const real_t  meff 
)
inline
real_t walberla::mesa_pd::kernel::SpringDashpot::calcCollisionTime ( const size_t  type1,
const size_t  type2,
const real_t  meff 
)
inline
real_t walberla::mesa_pd::kernel::SpringDashpot::getDampingN ( const size_t  type1,
const size_t  type2 
) const
inline
real_t walberla::mesa_pd::kernel::SpringDashpot::getDampingT ( const size_t  type1,
const size_t  type2 
) const
inline
real_t walberla::mesa_pd::kernel::SpringDashpot::getFriction ( const size_t  type1,
const size_t  type2 
) const
inline
real_t walberla::mesa_pd::kernel::SpringDashpot::getStiffness ( const size_t  type1,
const size_t  type2 
) const
inline
template<typename Accessor >
void walberla::mesa_pd::kernel::SpringDashpot::operator() ( const size_t  p_idx1,
const size_t  p_idx2,
Accessor &  ac,
const Vec3 contactPoint,
const Vec3 contactNormal,
const real_t penetrationDepth 
) const
inline
SpringDashpot& walberla::mesa_pd::kernel::SpringDashpot::operator= ( const SpringDashpot other)
default
SpringDashpot& walberla::mesa_pd::kernel::SpringDashpot::operator= ( SpringDashpot &&  other)
default
void walberla::mesa_pd::kernel::SpringDashpot::setDampingN ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

void walberla::mesa_pd::kernel::SpringDashpot::setDampingT ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

void walberla::mesa_pd::kernel::SpringDashpot::setFriction ( const size_t  type1,
const size_t  type2,
const real_t val 
)
inline

assumes this parameter is symmetric

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

assumes this parameter is symmetric

Member Data Documentation

std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpot::dampingN_ {}
private
std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpot::dampingT_ {}
private
std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpot::friction_ {}
private
uint_t walberla::mesa_pd::kernel::SpringDashpot::numParticleTypes_
private
std::vector<real_t> walberla::mesa_pd::kernel::SpringDashpot::stiffness_ {}
private

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