29 #ifndef _libDEM_HertzSpring_hpp_
30 #define _libDEM_HertzSpring_hpp_
64 virtual std::string
info()
const;
67 GRANOO_ACCESS (stiffness ,
double ,
_stiffness );
85 template<
class Archive>
void serialize(Archive &,
const unsigned int);
103 template<
class Archive>
void
105 ar & boost::serialization::base_object<Bond>(*
this);
113 #include <boost/serialization/version.hpp>
120 namespace serialization
122 template<
class Archive>
131 template<
class Archive>
145 GRANOO_CLASS_DECLARE_TPL(DEM::HertzSpring);
BOOST_CLASS_VERSION(GranOO3::DEM::HertzSpring, 0) namespace boost
Definition: HertzSpring.hpp:114
Definition: SetOf.hpp:346
the base class for all bonds between discrete elements.
Definition: Bond.hpp:49
a base class that represents an element
Definition: Element.hpp:55
a bond model that represents an Hertzian contact (non linear contact)
Definition: HertzSpring.hpp:46
virtual void compute_load()
trigger the computing of the reaction force and torque
Definition: HertzSpring.cpp:107
double _equivalent_radius
the equivalent radius of the Hertz spring
Definition: HertzSpring.hpp:94
void init()
initialize the hertzspring
Definition: HertzSpring.cpp:67
Geom::Vector _direction
the current normal direction of the Hertz spring
Definition: HertzSpring.hpp:92
virtual double get_linear_stiffness() const
compute the linear stiffness of the bond
Definition: HertzSpring.cpp:114
Geom::Vector _force
the current normal force of the Hertz spring
Definition: HertzSpring.hpp:93
virtual double compute_critical_time_step() const
compute the critical time of the bond
Definition: HertzSpring.cpp:126
double _contact_surface
the contact surface of the Hertz spring
Definition: HertzSpring.hpp:97
void process()
compute the reaction force (no torque)
Definition: HertzSpring.cpp:86
virtual ~HertzSpring()
destructor
Definition: HertzSpring.cpp:63
virtual void update()
Definition: HertzSpring.cpp:75
double _stiffness
the equivalent stiffness of the Hertz spring
Definition: HertzSpring.hpp:95
HertzSpring(const HertzSpring &)=delete
virtual double get_angular_stiffness() const
similar as get_linear_stiffness() for rotation (zero for a Hertzian spring)
Definition: HertzSpring.cpp:120
HertzSpring & operator=(const HertzSpring &)=delete
double _young_modulus
the Young's modulus value of the bond in [Pa]
Definition: HertzSpring.hpp:89
double _contact_radius
the contact radius of the Hertz spring
Definition: HertzSpring.hpp:96
void serialize(Archive &, const unsigned int)
complete serializing of the bond in the *.gdd format
Definition: HertzSpring.hpp:104
friend class boost::serialization::access
Definition: HertzSpring.hpp:84
virtual std::string info() const
Display some useful info in the terminal
Definition: HertzSpring.cpp:139
double _poisson_ratio
the Poisson's ratio of the bond in [-]
Definition: HertzSpring.hpp:90
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
void save_construct_data(Archive &ar, const GranOO3::Core::Pair< type > *t, const unsigned int)
Definition: Pair.hpp:207
void load_construct_data(Archive &ar, GranOO3::Core::Pair< type > *t, const unsigned int)
Definition: Pair.hpp:217
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t t(t+t)") define_sfop3(16