30 #ifndef _libDEM_ContactLaw_hpp_ 
   31 #define _libDEM_ContactLaw_hpp_ 
   39 #define APPLY_FORCE(F1, F2, energyLabel)                             \ 
   42   if (Physic::EnergyBalance::get().is_enable())                      \ 
   44     Physic::EnergyBalance& energy = Physic::EnergyBalance::get(); \ 
   45     energy.add_force_on(de1, energyLabel, F1);                            \ 
   46     energy.add_force_on(de2, energyLabel, F2);                            \ 
   52 #define APPLY_TORQUE(T1, T2, energyLabel)                            \ 
   55   if (Physic::EnergyBalance::get().is_enable())                      \ 
   57     Physic::EnergyBalance& energy = Physic::EnergyBalance::get(); \ 
   58     energy.add_torque_on(de1, energyLabel, T1);                   \ 
   59     energy.add_torque_on(de2, energyLabel, T2);                   \ 
   72       static std::string 
class_ID() {
return "DEM::ContactLaw_" + T::class_ID() + 
"_";}
 
   83       virtual void info(std::ostream &) 
const;
 
   85                                     const Geom::Vector& normal, 
const double& penetration) = 0;
 
  107     template<
class T> 
void 
  111     template<
class T> 
void 
  115     template<
class T> 
void 
  119     template<
class T> 
void 
Definition: Manager.hpp:220
the discrete element is just a spherical Element with additional dedicated features
Definition: DiscreteElement.hpp:47
Definition: Vector.hpp:75
static granoo_endl endl
Definition: Out.hpp:106
Definition: Common.hpp:198