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... | |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |
eV/amu
|
private |
resulting force from the last interaction
|
staticconstexpr |
amu
|
staticconstexpr |
A.
|
staticconstexpr |
A.
|
staticconstexpr |
|
staticconstexpr |
A.
|
staticconstexpr |
A.
|
private |