walberla::mesa_pd::kernel::cnt::VBondContact Class Reference

Detailed Description

VBond interaction model.

Implementation according to:

Ostanin, I., Dumitrică, T., Eibl, S., and Rüde, U. (October 4, 2019). "Size-Independent Mechanical Response of Ultrathin Carbon Nanotube Films in Mesoscopic Distinct Element Method Simulations." ASME. J. Appl. Mech. December 2019; 86(12): 121006. https://doi.org/10.1115/1.4044413

#include <VBondContact.h>

Public Member Functions

 VBondContact (const Vector3< bool > &isPeriodic=Vector3< bool >{false, false, false}, const Vector3< int64_t > &maxSegments=Vector3< real_t >{0, 0, 0})
 
template<typename Accessor >
void operator() (const size_t p_idx1, const size_t p_idx2, Accessor &ac)
 
auto getLastTensileEnergy () const
 Get tensile energy from last contact. More...
 
auto getLastShearEnergy () const
 Get shear energy from last contact. More...
 
auto getLastBendingEnergy () const
 Get bending energy from last contact. More...
 
auto getLastTwistingEnergy () const
 Get twisting energy from last contact. More...
 

Static Public Attributes

static constexpr real_t S = 142.7_r
 
static constexpr real_t E = 1029_r * 0.006242_r
 
static constexpr real_t G = 459_r * 0.006242_r
 
static constexpr real_t a = 2_r * 6.78_r
 
static constexpr real_t J = 3480_r
 
static constexpr real_t Jp = 2_r * J
 
static constexpr real_t B1 = E * S / a
 
static constexpr real_t B2 = 12_r * E * J / a
 
static constexpr real_t B3 = -2_r * E * J / a - G * Jp / (2_r * a)
 
static constexpr real_t B4 = G * Jp / a
 

Private Attributes

real_t tensileEnergy
 
real_t shearEnergy
 
real_t bendingEnergy
 
real_t twistingEnergy
 
Vector3< bool > isPeriodic_
 
Vector3< int64_tmaxSegments_
 

Constructor & Destructor Documentation

◆ VBondContact()

walberla::mesa_pd::kernel::cnt::VBondContact::VBondContact ( const Vector3< bool > &  isPeriodic = Vector3<bool>{false, false, false},
const Vector3< int64_t > &  maxSegments = Vector3<real_t>{0, 0, 0} 
)
inline

Member Function Documentation

◆ getLastBendingEnergy()

auto walberla::mesa_pd::kernel::cnt::VBondContact::getLastBendingEnergy ( ) const
inline

Get bending energy from last contact.

◆ getLastShearEnergy()

auto walberla::mesa_pd::kernel::cnt::VBondContact::getLastShearEnergy ( ) const
inline

Get shear energy from last contact.

◆ getLastTensileEnergy()

auto walberla::mesa_pd::kernel::cnt::VBondContact::getLastTensileEnergy ( ) const
inline

Get tensile energy from last contact.

◆ getLastTwistingEnergy()

auto walberla::mesa_pd::kernel::cnt::VBondContact::getLastTwistingEnergy ( ) const
inline

Get twisting energy from last contact.

◆ operator()()

template<typename Accessor >
void walberla::mesa_pd::kernel::cnt::VBondContact::operator() ( const size_t  p_idx1,
const size_t  p_idx2,
Accessor &  ac 
)
inline

Member Data Documentation

◆ a

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::a = 2_r * 6.78_r
staticconstexpr

◆ B1

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::B1 = E * S / a
staticconstexpr

◆ B2

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::B2 = 12_r * E * J / a
staticconstexpr

◆ B3

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::B3 = -2_r * E * J / a - G * Jp / (2_r * a)
staticconstexpr

◆ B4

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::B4 = G * Jp / a
staticconstexpr

◆ bendingEnergy

real_t walberla::mesa_pd::kernel::cnt::VBondContact::bendingEnergy
private

◆ E

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::E = 1029_r * 0.006242_r
staticconstexpr

◆ G

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::G = 459_r * 0.006242_r
staticconstexpr

◆ isPeriodic_

Vector3<bool> walberla::mesa_pd::kernel::cnt::VBondContact::isPeriodic_
private

◆ J

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::J = 3480_r
staticconstexpr

◆ Jp

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::Jp = 2_r * J
staticconstexpr

◆ maxSegments_

Vector3<int64_t> walberla::mesa_pd::kernel::cnt::VBondContact::maxSegments_
private

◆ S

constexpr real_t walberla::mesa_pd::kernel::cnt::VBondContact::S = 142.7_r
staticconstexpr

◆ shearEnergy

real_t walberla::mesa_pd::kernel::cnt::VBondContact::shearEnergy
private

◆ tensileEnergy

real_t walberla::mesa_pd::kernel::cnt::VBondContact::tensileEnergy
private

◆ twistingEnergy

real_t walberla::mesa_pd::kernel::cnt::VBondContact::twistingEnergy
private

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