Frictional contact
Template parameters
field_value_tprimary field type
real_tscalar field type
Constructor arguments
size_t n_partnumber of particles in the system
real_t knormal stiffness
real_t gamma_nnormal damping coefficient
real_t k_ttangential stiffness
real_t gamma_ttangential damping coefficient
real_t mu_sstatic friction coefficient for sticking/sliding
real_t phi_ddynamic-to-static friction ratio for sticking/sliding
real_t k_rrolling resistance stiffness
real_t gamma_rrolling resistance damping coefficient
real_t mu_rstatic friction coefficient for rolling resistance
real_t phi_rdynamic-to-static friction ratio for rolling resistance
real_t k_otorsion resistance stiffness
real_t gamma_otorsion resistance damping coefficient
real_t mu_ostatic friction coefficient for torsion resistance
real_t phi_odynamic-to-static friction ratio for torsion resistance
real_t r_partparticle radius
real_t massparticle mass
real_t inertiaparticle moment of inertia
real_t dtintegration time step
field_value_t field_zerozero-valued primary field
real_t real_zerozero-valued scalar field
Public member functions
operator ()
Synopsis:
Called by the binary force container to compute the acceleration of particle i due to its frictional contact with particle j
Arguments:
size_t iindex of the particle that is being accelerated
size_t jindex of the particle that is acting on particle i
std::vector<fielv_value_t> const & xconst reference to the position buffer
std::vector<fielv_value_t> const & vconst reference to the velocity buffer
std::vector<fielv_value_t> const & thetaconst reference to the orientation buffer
std::vector<fielv_value_t> const & omegaconst reference to the angular velocity buffer
real_t tsimulation time
Return value:
std::pair<field_value_t, field_value_t>translational acceleration and angular acceleration of particle i due to its frictional contact with particle j