chrono::granular::ChGranParams Struct Reference

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

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.

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