walberla::mesa_pd::kernel::cnt::WallContact Class Reference

Detailed Description

Repulsive wall interaction kernel.

Implementation follows: Wittmaack, Volkov, Zhigilei, "Phase transformation as the mechanism of mechanical deformation of vertically aligned CNT arrays" - Carbon, 2019 https://doi.org/10.1016/j.carbon.2018.11.066

The force is divided into three areas. ========================== z=0, position of the wall close to wall -----------------------— z=z1+r spline interpolation -----------------------— z=z2+r far away from wall

#include <WallContact.h>

Public Member Functions

 WallContact (real_t zPos)
 
template<typename Accessor >
void operator() (const size_t p_idx1, Accessor &ac)
 
auto getLastForce () const
 
void setZPos (const real_t &zPos)
 
auto getZPos () const
 

Static Public Attributes

static constexpr real_t r = 6.78_r
 A. More...
 
static constexpr real_t eps = 0.254e-3_r
 eV/amu More...
 
static constexpr real_t m = 2648.8_r
 amu More...
 
static constexpr real_t s = 3.6_r
 A. More...
 
static constexpr real_t s12 = ((s * s) * (s * s) * (s * s)) * ((s * s) * (s * s) * (s * s))
 
static constexpr real_t z1 = 10_r
 A. More...
 
static constexpr real_t z2 = 12_r
 A. More...
 

Private Attributes

real_t zPos_ = 0_r
 
real_t F_ = 0_r
 resulting force from the last interaction More...
 

Constructor & Destructor Documentation

◆ WallContact()

walberla::mesa_pd::kernel::cnt::WallContact::WallContact ( real_t  zPos)
inlineexplicit

Member Function Documentation

◆ getLastForce()

auto walberla::mesa_pd::kernel::cnt::WallContact::getLastForce ( ) const
inline

◆ getZPos()

auto walberla::mesa_pd::kernel::cnt::WallContact::getZPos ( ) const
inline

◆ operator()()

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

◆ setZPos()

void walberla::mesa_pd::kernel::cnt::WallContact::setZPos ( const real_t zPos)
inline

Member Data Documentation

◆ eps

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::eps = 0.254e-3_r
staticconstexpr

eV/amu

◆ F_

real_t walberla::mesa_pd::kernel::cnt::WallContact::F_ = 0_r
private

resulting force from the last interaction

◆ m

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::m = 2648.8_r
staticconstexpr

amu

◆ r

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::r = 6.78_r
staticconstexpr

A.

◆ s

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::s = 3.6_r
staticconstexpr

A.

◆ s12

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::s12 = ((s * s) * (s * s) * (s * s)) * ((s * s) * (s * s) * (s * s))
staticconstexpr

◆ z1

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::z1 = 10_r
staticconstexpr

A.

◆ z2

constexpr real_t walberla::mesa_pd::kernel::cnt::WallContact::z2 = 12_r
staticconstexpr

A.

◆ zPos_

real_t walberla::mesa_pd::kernel::cnt::WallContact::zPos_ = 0_r
private

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