chrono::gpu Namespace Reference

Description

Namespace with classes for the Gpu module.

Classes

struct  BC_params_t
 big enum to handle all possible boundary conditions More...
 
struct  ChGpuSimulationParameters
 Structure with Chrono::Gpu simulation parameters. More...
 
class  ChGpuVisualization
 Run-time visualization support for Chrono::Gpu systems. More...
 
class  ChSolverStateData
 ChSolverStateData contains information that pertains the solver, at a certain point in time. More...
 
class  ChSystemGpu
 Interface to a Chrono::Gpu system. More...
 
class  ChSystemGpuMesh
 Interface to a Chrono::Gpu mesh system. More...
 
struct  Plane_BC_params_t
 Infinite Plane defined by point in plane and normal. More...
 
struct  Plate_BC_params_t
 Customized finite Plate defined by center of the plate, normal and y dim. More...
 
struct  Sphere_BC_params_t
 Sphere. More...
 
struct  Z_Cone_BC_params_t
 Z-aligned cone pointed downward. More...
 
struct  Z_Cylinder_BC_params_t
 Infinite Z-aligned cylinder. More...
 

Typedefs

typedef std::function< double3(float)> GranPositionFunction
 Used to compute position as a function of time.
 

Enumerations

enum  CHGPU_VERBOSITY { QUIET = 0, INFO = 1, METRICS = 2 }
 Verbosity level of the system.
 
enum  CHGPU_MESH_VERBOSITY { QUIET = 0, INFO = 1 }
 Verbosity level.
 
enum  CHGPU_OUTPUT_MODE {
  CSV, BINARY, HDF5, CHPF,
  NONE
}
 Output mode of system.
 
enum  CHGPU_TIME_INTEGRATOR { FORWARD_EULER, CHUNG, CENTERED_DIFFERENCE, EXTENDED_TAYLOR }
 How are we integrating through time.
 
enum  CHGPU_FRICTION_MODE { FRICTIONLESS, SINGLE_STEP, MULTI_STEP }
 Supported friction model.
 
enum  CHGPU_ROLLING_MODE { NO_RESISTANCE, SCHWARTZ, ELASTIC_PLASTIC }
 Rolling resistance models – ELASTIC_PLASTIC not implemented yet.
 
enum  CHGPU_OUTPUT_FLAGS {
  ABSV = 1, VEL_COMPONENTS = 2, FIXITY = 4, ANG_VEL_COMPONENTS = 8,
  FORCE_COMPONENTS = 16
}
 
enum  BC_type {
  SPHERE, CONE, PLANE, PLATE,
  CYLINDER
}
 

Functions

std::string chrono_gpu_data_path ("../data/gpu/")
 
void SetDataPath (const std::string &path)
 Set the path to the Chrono::Gpu data directory (ATTENTION: not thread safe).
 
const std::string & GetDataPath ()
 Get the current path to the Chrono::Gpu data directory (thread safe).
 
std::string GetDataFile (const std::string &filename)
 Get the complete path to the specified filename (thread safe). More...
 
unsigned int quarryCsvFormat (const std::string &line)
 
unsigned int quarryHistoryFormat (const std::string &line, unsigned int max_partner)
 
constexpr unsigned int hash_charr (const char *s, int off=0)
 
constexpr unsigned int operator""_ (const char *s, size_t)
 
bool diff (float a, float b)
 
bool diff (float3 a, float3 b)
 
template<typename Enumeration >
auto as_uint (Enumeration const value) -> typename std::underlying_type< Enumeration >::type
 
void ShowJSONUsage ()
 Print scheme for JSON file with simulation settings.
 
void InvalidArg (string arg)
 Flag an invalid simulation parameter.
 
bool ParseJSON (const std::string &json_file, ChGpuSimulationParameters &params, bool verbose=true)
 Parse the specified JSON file with simulation settings. More...
 
template<typename Real >
std::vector< ChVector< Real > > MeshSphericalDecomposition (std::string objfilename, ChVector< Real > scaling, ChVector< Real > offset, Real sphere_radius)
 Decompose a given triangle mesh surface into a minimally-overlapping collection of spheres. More...
 

Variables

const GranPositionFunction GranPosFunction_default = [](float t) { return make_double3(0, 0, 0); }
 Position function representing no motion or offset as a funtion of time.