chrono::gpu::ChSystemGpu_impl::SphereData Struct Reference

Description

Structure of pointers to kinematic quantities of the ChSystemGpu_impl.

These pointers must be in device-accessible memory.

#include <ChSystemGpu_impl.h>

Public Attributes

int * sphere_local_pos_X
 X position relative to owner subdomain in unified memory.
 
int * sphere_local_pos_Y
 Y position relative to owner subdomain in unified memory.
 
int * sphere_local_pos_Z
 Z position relative to owner subdomain in unified memory.
 
float * pos_X_dt
 X velocity in unified memory.
 
float * pos_Y_dt
 Y velocity in unified memory.
 
float * pos_Z_dt
 Z velocity in unified memory.
 
float * sphere_Omega_X
 X angular velocity in unified memory. Only used if friction is present.
 
float * sphere_Omega_Y
 Y angular velocity in unified memory. Only used if friction is present.
 
float * sphere_Omega_Z
 Z angular velocity in unified memory. Only used if friction is present.
 
float * sphere_acc_X
 X angular acceleration in unified memory.
 
float * sphere_acc_Y
 Y angular acceleration in unified memory.
 
float * sphere_acc_Z
 Z angular acceleration in unified memory.
 
float * sphere_ang_acc_X
 X angular acceleration in unified memory.
 
float * sphere_ang_acc_Y
 Y angular acceleration in unified memory.
 
float * sphere_ang_acc_Z
 Z angular acceleration in unified memory.
 
float * sphere_acc_X_old
 Previous step X acceleration for multistep integrators.
 
float * sphere_acc_Y_old
 Previous step Y acceleration for multistep integrators.
 
float * sphere_acc_Z_old
 Previous step Z acceleration for multistep integrators.
 
float * sphere_ang_acc_X_old
 Previous step X angular acceleration for multistep integrators.
 
float * sphere_ang_acc_Y_old
 Previous step Y angular acceleration for multistep integrators.
 
float * sphere_ang_acc_Z_old
 Previous step Z angular acceleration for multistep integrators.
 
not_stupid_bool * sphere_fixed
 Flags indicating whether or not a sphere is fixed.
 
float * sphere_stats_buffer
 A buffer array that can store any quantity that the user wish to reduce.
 
unsigned int * contact_partners_map
 Contact partners for each sphere. Only in frictional simulations.
 
not_stupid_bool * contact_active_map
 Whether the frictional contact at an index is active.
 
float3 * contact_history_map
 Tangential history for a given contact pair. Only for multistep friction.
 
float * contact_duration
 Duration of persistent contact between pairs.
 
float3 * normal_contact_force
 Track normal contact force.
 
float3 * tangential_friction_force
 Track sliding friction force.
 
float3 * rolling_friction_torque
 Track rolling friction force.
 
float * char_collision_time
 Track characteristic collision time.
 
float3 * v_rot_array
 Track v_rot array.
 
unsigned int * SD_NumSpheresTouching
 Number of particles touching each subdomain.
 
unsigned int * SD_SphereCompositeOffsets
 Offset of each subdomain in the big composite array.
 
unsigned int * SD_SphereCompositeOffsets_SP
 like SD_SphereCompositeOffsets, scratch pad (SP) used
 
unsigned int * spheres_in_SD_composite
 Big composite array of sphere-subdomain membership.
 
unsigned int * sphere_owner_SDs
 List of owner subdomains for each sphere.
 

The documentation for this struct was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_gpu/physics/ChSystemGpu_impl.h