Description

Parameters needed for sphere-based granular dynamics.

This structure is stored in CUDA unified memory so that it can be accessed from both host and device

#include <ChGranular.h>

Public Attributes

float stepSize_SU
 Timestep in SU.
 
GRAN_FRICTION_MODE friction_mode
 Which friction mode is active for the simulation.
 
GRAN_ROLLING_MODE rolling_mode
 Which rolling resistance model is active.
 
GRAN_TIME_INTEGRATOR time_integrator
 Which time integrator is active.
 
float static_friction_coeff_s2s
 Ratio of normal force to peak tangent force, also arctan(theta) where theta is the friction angle sphere-to-sphere.
 
float static_friction_coeff_s2w
 Ratio of normal force to peak tangent force, also arctan(theta) where theta is the friction angle sphere-to-wall.
 
float rolling_coeff_s2s_SU
 Coefficient of rolling resistance sphere-to-sphere.
 
float rolling_coeff_s2w_SU
 Coefficient of rolling resistance sphere-to-wall.
 
float Gamma_n_s2s_SU
 sphere-to-sphere normal contact damping coefficient, expressed in SU
 
float Gamma_n_s2w_SU
 sphere-to-wall normal contact damping coefficient, expressed in SU
 
float Gamma_t_s2s_SU
 sphere-to-sphere tangent contact damping coefficient, expressed in SU
 
float Gamma_t_s2w_SU
 sphere-to-wall tangent contact damping coefficient, expressed in SU
 
float K_n_s2s_SU
 sphere-to-sphere normal contact stiffness, expressed in SU
 
float K_n_s2w_SU
 sphere-to-wall normal contact stiffness, expressed in SU
 
float K_t_s2s_SU
 sphere-to-sphere tangent contact stiffness, expressed in SU
 
float K_t_s2w_SU
 sphere-to-wall tangent contact stiffness, expressed in SU
 
unsigned int sphereRadius_SU
 Radius of the sphere, expressed in SU.
 
float sphereInertia_by_r
 Moment of inertia of a sphere, normalized by the radius, expressed in SU.
 
unsigned int SD_size_X_SU
 X-dimension of each subdomain box, expressed in SU.
 
unsigned int SD_size_Y_SU
 Y-dimension of each subdomain box, expressed in SU.
 
unsigned int SD_size_Z_SU
 Z-dimension of each subdomain box, expressed in SU.
 
unsigned int nSpheres
 Total number of spheres in system, used for boundary condition multistep friction.
 
unsigned int nSDs
 Total number of subdomains.
 
unsigned int nSDs_X
 X-dimension of the big domain box in multiples of subdomains.
 
unsigned int nSDs_Y
 Y-dimension of the big domain box in multiples of subdomains.
 
unsigned int nSDs_Z
 Z-dimension of the big domain box in multiples of subdomains.
 
int64_t max_x_pos_unsigned
 Maximum X dimension in the big domain frame.
 
int64_t max_y_pos_unsigned
 Maximum Y dimension in the big domain frame.
 
int64_t max_z_pos_unsigned
 Maximum Z dimension in the big domain frame.
 
float gravAcc_X_SU
 X gravity in SU.
 
float gravAcc_Y_SU
 Y gravity in SU.
 
float gravAcc_Z_SU
 Z gravity in SU.
 
int64_t BD_frame_X
 The bottom-left corner xPos of the big domain.
 
int64_t BD_frame_Y
 The bottom-left corner yPos of the big domain.
 
int64_t BD_frame_Z
 The bottom-left corner zPos of the big domain.
 
int64_t BD_offset_X
 The offset of the big domain from its original frame, used to allow the subdomain definitions to move.
 
int64_t BD_offset_Y
 The offset of the big domain from its original frame, used to allow the subdomain definitions to move.
 
int64_t BD_offset_Z
 The offset of the big domain from its original frame, used to allow the subdomain definitions to move.
 
float cohesionAcc_s2s
 Constant acceleration of sphere-to-sphere cohesion.
 
float adhesionAcc_s2w
 Accleration of adhesion.
 
double LENGTH_UNIT
 1 / C_L. Any length expressed in SU is a multiple of LENGTH_UNIT
 
double TIME_UNIT
 1 / C_T. Any time quantity in SU is measured as a positive multiple of TIME_UNIT
 
double MASS_UNIT
 1 / C_M. Any mass quantity is measured as a positive multiple of MASS_UNIT.
 
float max_safe_vel = (float)UINT_MAX
 Used as a safety check to determine whether a system has lost stability.
 

Static Public Attributes

static constexpr float sphere_mass_SU = 1.f
 this is to make clear that the underlying assumption is unit SU mass