30 #ifndef _libDEM_SinterNeck_hpp_
31 #define _libDEM_SinterNeck_hpp_
70 virtual std::string
info()
const;
84 GRANOO_ACCESS(T ,
double,
_T );
85 GRANOO_ACCESS(a ,
double,
_a );
86 GRANOO_ACCESS(a0 ,
double,
_a0 );
87 GRANOO_ACCESS(h ,
double,
_h );
88 GRANOO_ACCESS(h0 ,
double,
_h0 );
89 GRANOO_ACCESS(r ,
double,
_r );
90 GRANOO_ACCESS(gamma_s,
double,
_gamma_s );
91 GRANOO_ACCESS(omega ,
double,
_omega );
92 GRANOO_ACCESS(delta_b,
double,
_delta_b );
93 GRANOO_ACCESS(vn ,
double,
_vn );
94 GRANOO_ACCESS_GET(
k ,
double,
k );
95 GRANOO_ACCESS_GET(
R ,
double,
R );
96 GRANOO_ACCESS(Fnv ,
double,
_Fnv );
97 GRANOO_ACCESS(Fna ,
double,
_Fna );
108 template<
class Archive>
void save(Archive&,
const unsigned int )
const;
109 template<
class Archive>
void load(Archive&,
const unsigned int);
134 const double k = 1.3806503e-23;
135 const double R = 8.314;
147 template<
class Archive>
void
149 ar << boost::serialization::base_object<Bond>(*
this);
169 template<
class Archive>
void
171 ar >> boost::serialization::base_object<Bond>(*
this);
202 #include <boost/serialization/version.hpp>
208 GRANOO_CLASS_DECLARE_TPL(DEM::SinterNeck);
BOOST_CLASS_VERSION(GranOO3::DEM::SinterNeck, 1) namespace GranOO3
Definition: SinterNeck.hpp:203
Definition: SetOf.hpp:346
the base class for all bonds between discrete elements.
Definition: Bond.hpp:49
virtual void draw()
OpenGL draw of the bond
Definition: Bond.cpp:428
a base class that represents an element
Definition: Element.hpp:55
Definition: SinterNeck.hpp:55
virtual void update_delta_b()=0
double _h
Definition: SinterNeck.hpp:119
void force_neck_radius_to_zero()
Definition: SinterNeck.cpp:89
virtual void draw()
OpenGL draw of the bond
Definition: SinterNeck.hpp:192
void init_all()
Definition: SinterNeck.cpp:73
const double R
Definition: SinterNeck.hpp:135
SinterNeck(const SinterNeck &frame)=delete
virtual ~SinterNeck()
Definition: SinterNeck.cpp:69
double _omega
Definition: SinterNeck.hpp:128
double _a0
Definition: SinterNeck.hpp:118
double _r
Definition: SinterNeck.hpp:120
void update_h()
Definition: SinterNeck.cpp:119
double _a
Definition: SinterNeck.hpp:117
void update_r()
Definition: SinterNeck.cpp:111
double _gamma_s
Definition: SinterNeck.hpp:127
virtual double compute_critical_time_step() const
a pure virtual method able to return the critical time step value
Definition: SinterNeck.cpp:155
void update_a()
Definition: SinterNeck.cpp:135
double _h0
Definition: SinterNeck.hpp:121
virtual double get_linear_stiffness() const
compute the linear stiffness of the bond
Definition: SinterNeck.cpp:142
double _Fnv
Definition: SinterNeck.hpp:138
void save(Archive &, const unsigned int) const
Definition: SinterNeck.hpp:148
BOOST_SERIALIZATION_SPLIT_MEMBER()
const double k
Definition: SinterNeck.hpp:134
void update_T()
Definition: SinterNeck.cpp:96
double _vn
Definition: SinterNeck.hpp:124
double _T
Definition: SinterNeck.hpp:114
virtual std::string info() const
Display some useful info in the terminal
Definition: SinterNeck.cpp:177
double _Fna
Definition: SinterNeck.hpp:139
void update_vn()
Definition: SinterNeck.cpp:128
friend class boost::serialization::access
Definition: SinterNeck.hpp:107
SinterNeck & operator=(const SinterNeck &)=delete
void update_n()
Definition: SinterNeck.cpp:105
virtual double get_angular_stiffness() const
similar as get_linear_stiffness() for rotation
Definition: SinterNeck.cpp:148
SinterNeck(Element &el1, Element &el2)
double _delta_b
Definition: SinterNeck.hpp:131
void load(Archive &, const unsigned int)
Definition: SinterNeck.hpp:170
Geom::Vector _n
Definition: SinterNeck.hpp:142
Definition: Vector.hpp:75
pure virtual class for modeling classes able to compute a critical time step
Definition: CriticalTimeStep.hpp:50
Definition: Common.hpp:198