35 #ifndef _libDEM_FlatBond_hpp_
36 #define _libDEM_FlatBond_hpp_
82 virtual std::string
info()
const;
113 template<
class Archive>
void serialize(Archive&,
const unsigned int);
134 template<
class Archive>
void
136 ar & boost::serialization::base_object<Bond>(*
this);
164 #include <boost/serialization/version.hpp>
171 namespace serialization
174 template<
class Archive>
177 const unsigned int) {
185 template<
class Archive>
188 const unsigned int) {
200 GRANOO_CLASS_DECLARE_TPL(DEM::FlatBond);
BOOST_CLASS_VERSION(GranOO3::DEM::FlatBond, 6) namespace boost
Definition: FlatBond.hpp:165
Definition: SetOf.hpp:346
the base class for all bonds between discrete elements.
Definition: Bond.hpp:49
FailureMode
Definition: Bond.hpp:59
void build_voronoi_bond()
build a voronoi bond from the current bond
Definition: Bond.cpp:361
a base class that represents an element
Definition: Element.hpp:55
a special bond that must be used with Voronoi domain in order to model a perfect elastic media
Definition: FlatBond.hpp:60
double _poisson_ratio
the Poisson's ratio of the flatbond in [-]
Definition: FlatBond.hpp:119
virtual void compute_load()
trigger the computing of the reaction force and torque
Definition: FlatBond.cpp:279
double _maximum_tensile_stress
the maximal tensile stress of the flatbond in [Pa]
Definition: FlatBond.hpp:121
double _friction_coeff
Definition: FlatBond.hpp:120
void serialize(Archive &, const unsigned int)
complete serializing of the bond in the *.gdd format
Definition: FlatBond.hpp:135
virtual std::string info() const
Display some useful info in the terminal
Definition: FlatBond.cpp:325
void fail(const FailureMode mode)
Definition: FlatBond.cpp:286
static bool update_current_strain
Definition: FlatBond.hpp:68
double _young_modulus
the Young's modulus value of the flatbond in [Pa]
Definition: FlatBond.hpp:118
VoronoiBond * _voronoi_bond
a pointer to the associated VoronoiBond property
Definition: FlatBond.hpp:116
double get_linear_stiffness() const
compute the linear stiffness of the bond
Definition: FlatBond.cpp:315
Geom::SymTensor _current_strain_tensor
Definition: FlatBond.hpp:130
Geom::Point _FC2
the center of the voronoi facet expressed in the el2 local frame
Definition: FlatBond.hpp:125
double _current_shear_stress
Definition: FlatBond.hpp:128
virtual void draw()
OpenGL draw of the bond
Definition: FlatBond.cpp:335
Geom::SymTensor _current_stress_tensor
Definition: FlatBond.hpp:129
double _maximum_shear_stress
Definition: FlatBond.hpp:123
double _current_normal_stress
Definition: FlatBond.hpp:127
Geom::Point _FC1
the center of the voronoi facet expressed in the el1 local frame
Definition: FlatBond.hpp:124
FlatBond & operator=(const FlatBond &)=delete
double _maximum_compressive_stress
the maximal compressive stress of the flatbond in [Pa]
Definition: FlatBond.hpp:122
virtual double compute_critical_time_step() const
compute the critical time of the bond
Definition: FlatBond.cpp:300
FlatBond(const FlatBond &)=delete
bool _manage_crack_closure
Definition: FlatBond.hpp:117
Geom::Vector _current_stress_vector
the current value of the stress vector with the normal perpendicular to the Voronoi facet
Definition: FlatBond.hpp:126
static DrawMode draw_mode
Definition: FlatBond.hpp:66
DrawMode
Definition: FlatBond.hpp:65
@ INTERFACE
Definition: FlatBond.hpp:65
@ NO_INTERFACE
Definition: FlatBond.hpp:65
void update_strain_tensor_and_compute_reaction_force_and_torque()
update the reaction force and torque
Definition: FlatBond.cpp:104
friend class boost::serialization::access
Definition: FlatBond.hpp:112
virtual ~FlatBond()
destructor
Definition: FlatBond.cpp:99
static bool update_current_stress
Definition: FlatBond.hpp:67
double get_angular_stiffness() const
similar as get_linear_stiffness() for rotation
Definition: FlatBond.cpp:320
a bond property which is dedicated to voronoi domain.
Definition: VoronoiBond.hpp:47
Definition: SymTensor.hpp:68
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