![]() |
GranOO
3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
|
a bond property able to associate and compute a full stress tensor to bonds. More...
#include <BondStress.hpp>
Public Member Functions | |
BondStress () | |
constructor More... | |
virtual | ~BondStress () |
destructor More... | |
virtual std::string | info () const |
void | update_from_bond_strain_with_hook_law (double young_modulus, double poisson_ratio) |
compute the current values of the stress tensors More... | |
![]() | |
Prop () | |
virtual | ~Prop () |
Bond & | item () |
const Bond & | item () const |
void | set_item (Bond &) |
virtual void | set_color (const Core::Color &) |
Core::Color & | get_color () |
float & | get_line_width () |
virtual void | add (SetOf< Prop< Bond > > *) |
virtual void | erase (SetOf< Prop< Bond > > *) |
virtual std::ostream & | write_ascii (std::ostream &out) const |
virtual std::istream & | read_ascii (std::istream &in) |
![]() | |
virtual | ~Base () |
size_t | numID () const |
size_t | uID () const |
void | set_numID (size_t val) |
void | clear_numID () |
Physic::Material & | get_mat () const |
void | set_mat (Physic::Material *) |
Base & | item () |
const Base & | item () const |
bool | is_same (const Base &) const |
template<class T > | |
T & | cast_to () |
template<class T > | |
const T & | cast_to () const |
template<class T > | |
bool | is () const |
virtual bool | is (size_t) const |
virtual const std::string & | get_ID () const |
virtual Base & | clone () |
template<class T > | |
T & | clone_to () |
virtual std::ostream & | export_to_povray (std::ostream &out) const |
Signal< Base & > & | deleted_signal () |
![]() | |
Null () | |
virtual | ~Null () |
![]() | |
Drawable () | |
virtual | ~Drawable () |
virtual void | draw () |
virtual void | draw_edge () |
virtual void | init_default_color () |
virtual std::ostream & | get_info (std::ostream &os) const |
virtual const Color & | default_color () const |
Color & | get_color () |
const Color & | get_color () const |
virtual void | set_alpha (float alpha) |
void | apply_color () const |
void | apply_edge_color () const |
void | apply_default_color () |
void | apply_selected_color () |
void | set_line_width (float) |
float | get_line_width () const |
float & | get_line_width () |
void | apply_line_width () const |
bool | is_visible () const |
void | set_visible (bool) |
void | paint () |
void | paint_edge () |
unsigned int | get_item_glkey () const |
![]() | |
Register () | |
virtual | ~Register () |
void | erase_from_all_setof () |
bool | belong_to_setof (const std::string &setOfId) const |
bool | belong_to_setof (const SetOf< Base > &set) const |
std::list< SetOf< Base > * > & | get_setof_list () |
unsigned long long int | get_numeric_ID () const |
![]() | |
Register () | |
virtual | ~Register () |
void | erase_from_all_setof () |
bool | belong_to_setof (const std::string &setOfId) const |
bool | belong_to_setof (const SetOf< type > &set) const |
std::list< SetOf< type > * > & | get_setof_list () |
unsigned long long int | get_numeric_ID () const |
![]() | |
Register () | |
virtual | ~Register () |
void | erase_from_all_setof () |
bool | belong_to_setof (const std::string &setOfId) const |
bool | belong_to_setof (const SetOf< BondStress > &set) const |
std::list< SetOf< BondStress > * > & | get_setof_list () |
unsigned long long int | get_numeric_ID () const |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
complete serializing of the instance in the *.gdd format More... | |
Private Attributes | |
Geom::SymTensor | _global_stress_tensor |
the stress tensor expressed in the global frame More... | |
Geom::SymTensor | _local_stress_tensor |
the stress tensor expressed in the local bond frame More... | |
Geom::Vector | _eigen_vector |
the eigen vector that represent the principal stresses More... | |
Geom::Quaternion | _eigen_quaternion |
a quaternion that represents the rotation matrix that gives the diagonal stress tensor More... | |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
![]() | |
typedef Bond | Owner |
![]() | |
static Base & | get_by_numID (size_t) |
static void | clear_all_numID () |
static unsigned int | get_sub_class_number () |
![]() | |
static Drawable & | get_drawable_item_by_glkey (int) |
static void | set_draw_precision (unsigned int p) |
static void | increase_draw_precision () |
static void | decrease_draw_precision () |
static unsigned int | get_draw_precision () |
![]() | |
static Null | null = Null() |
![]() | |
virtual Base & | base_item () |
virtual const Base & | base_item () const |
void | serialize (Archive &ar, const unsigned int) |
![]() | |
Base () | |
![]() | |
static unsigned int | affect_class_rank_ID () |
a bond property able to associate and compute a full stress tensor to bonds.
The stresses are computed from the BondStrain value thanks to the Hook's law. Be aware, this property is VERY EXPERIMENTAL
GranOO3::DEM::BondStress::BondStress | ( | ) |
constructor
Construct a new BondStress. Do not call this constructor. To build a new BondStress instance, you must create a new property by invoking the Bond::new_prop<BondStress>() method of the Bond class.
|
virtual |
destructor
Destruct a BondStress instance. Be aware, as BondStress is a property, you must not invoke destructor by yourself, it could lead to unexpected behavior. Note that the BondStress instances are automatically destructed when their associated Bonds are destructed.
|
inlinevirtual |
Reimplemented from GranOO3::Core::Prop< Bond >.
|
private |
void GranOO3::DEM::BondStress::update_from_bond_strain_with_hook_law | ( | double | young_modulus, |
double | poisson_ratio | ||
) |
compute the current values of the stress tensors
[in] | young_modulus | : the Young's modulus value of the continuous material (macroscopic value) |
[in] | poisson_ratio | : the Poisson's ratio value of the continuous material (macroscopic value) |
The stress tensor is computed thanks to the strain tensor computed by BondStrain. The stresses are simply computed with the Hook's law for isotropic material.
|
friend |
|
private |
a quaternion that represents the rotation matrix that gives the diagonal stress tensor
Note that this quaternion is computed from the global frame (and not the local frame)
|
private |
the eigen vector that represent the principal stresses
|
private |
the stress tensor expressed in the global frame
|
private |
the stress tensor expressed in the local bond frame