![]() |
GranOO
3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
|
A class for managing contact with discrete elements (obsolete and not documented) More...
#include <ContactDetection.hpp>
Public Member Functions | |
virtual void | parse_xml () |
virtual void | init () |
void | detect_contact (std::function< void(DEM::DiscreteElement &, T &)> &) |
ContactLaw< T > & | get_ContactLaw () |
const ContactLaw< T > & | get_ContactLaw () const |
void | set_ContactLaw (ContactLaw< T > &law) |
unsigned int | get_Contactnumber () const |
const std::vector< double > & | get_InterpenetrationValues () const |
void | get_Contactinfo (unsigned int &number, double &ave, double &std, double &min, double &max) const |
Core::SetOf< DiscreteElement > & | get_RecordContactSet () |
double | get_interactionCoeff () const |
void | set_InteractionCoeff (double c) |
bool | is_bonded (DiscreteElement &de1, T &de2) |
void | RecordContact (DiscreteElement &de1, T &de2) |
bool | is_bonded (DiscreteElement &de1, DiscreteElement &de2) |
void | RecordContact (DiscreteElement &de1, DiscreteElement &de2) |
![]() | |
virtual void | detect_contact (std::function< void(DEM::DiscreteElement &, T &)> &)=0 |
![]() | |
NeedSetOf (bool required=true) | |
virtual | ~NeedSetOf () |
bool | get_required_flag (unsigned int rank=0) const |
void | set_required_flag (bool flag, unsigned int rank=0) |
const std::string & | get_xml_flag_name (unsigned int rank=0) const |
void | set_xml_flag_name (const std::string &str, unsigned int rank=0) |
const std::string & | get_xml_flag_nameByRank (unsigned int rank) const |
void | set_xml_flag_name_by_rank (const std::string &str, unsigned int rank) |
bool | is_setof_defined (unsigned int rank=0) const |
Core::SetOf< DiscreteElement > & | get_setof (unsigned int rank=0) |
const Core::SetOf< DiscreteElement > & | get_setof (unsigned int rank=0) const |
void | set_setof (Core::SetOf< DiscreteElement > &set, unsigned int rank=0) |
Static Public Member Functions | |
static ContactDetection & | get_ByUniqueId (const std::string &id) |
static std::string | class_ID () |
![]() | |
static std::string | class_ID () |
Protected Member Functions | |
ContactDetection () | |
virtual | ~ContactDetection () |
virtual void | detect_contact ()=0 |
void | Process (DiscreteElement &de1, T &de2, const Geom::Vector &normal, const double &penetration) |
![]() | |
BroadPhase () | |
virtual | ~BroadPhase () |
Private Member Functions | |
void | RegisterWithUniqueId (const std::string &id) |
ContactDetection (const ContactDetection &)=delete | |
ContactDetection & | operator= (const ContactDetection &)=delete |
Private Attributes | |
ContactLaw< T > * | law_ |
unsigned int | contactNumber_ |
std::vector< double > | interpenetrationValues_ |
bool | recordInterpenetrationValues_ |
bool | excludedBondedDiscreteElement_ |
std::string | recordContactIn_ |
double | interactionCoeff_ |
Static Private Attributes | |
static std::map< std::string, ContactDetection * > | UniqueIdMap_ = std::map<std::string, ContactDetection *>() |
Additional Inherited Members | |
![]() | |
typedef Manager< DEM::DiscreteElement, T > | Man |
A class for managing contact with discrete elements (obsolete and not documented)
This way for managing contact is obsolete, please use GranOO::Collision library instead. ContactDetection is just provided for convenience and retro-compatibility (in particular, for the granoo-cooker).
|
protected |
|
protectedvirtual |
|
privatedelete |
|
inlinestatic |
|
protectedpure virtual |
void GranOO3::DEM::ContactDetection< T >::detect_contact | ( | std::function< void(DEM::DiscreteElement &, T &)> & | f | ) |
|
static |
void GranOO3::DEM::ContactDetection< T >::get_Contactinfo | ( | unsigned int & | number, |
double & | ave, | ||
double & | std, | ||
double & | min, | ||
double & | max | ||
) | const |
ContactLaw< T > & GranOO3::DEM::ContactDetection< T >::get_ContactLaw |
const ContactLaw< T > & GranOO3::DEM::ContactDetection< T >::get_ContactLaw |
unsigned int GranOO3::DEM::ContactDetection< T >::get_Contactnumber |
double GranOO3::DEM::ContactDetection< T >::get_interactionCoeff |
const std::vector< double > & GranOO3::DEM::ContactDetection< T >::get_InterpenetrationValues |
Core::SetOf< DiscreteElement > & GranOO3::DEM::ContactDetection< T >::get_RecordContactSet |
|
inlinevirtual |
Reimplemented from GranOO3::Collision::BroadPhase< DEM::DiscreteElement, T >.
|
inline |
bool GranOO3::DEM::ContactDetection< T >::is_bonded | ( | DiscreteElement & | de1, |
T & | de2 | ||
) |
|
privatedelete |
|
virtual |
Reimplemented from GranOO3::Collision::BroadPhase< DEM::DiscreteElement, T >.
Reimplemented in GranOO3::DEM::ContactDetection_Tool, GranOO3::DEM::ContactDetection_SupportShape, GranOO3::DEM::ContactDetection_Raw, GranOO3::DEM::ContactDetection_LCM, GranOO3::DEM::ContactDetection_FESurface, and GranOO3::DEM::ContactDetection_Between2SetOf.
|
protected |
|
inline |
void GranOO3::DEM::ContactDetection< T >::RecordContact | ( | DiscreteElement & | de1, |
T & | de2 | ||
) |
|
private |
void GranOO3::DEM::ContactDetection< T >::set_ContactLaw | ( | ContactLaw< T > & | law | ) |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |