chrono::settings_container Class Reference

Description

Aggregate of all settings for Chrono::Parallel.

#include <ChSettings.h>

Collaboration diagram for chrono::settings_container:

Public Member Functions

 settings_container ()
 

Public Attributes

collision_settings collision
 The settings for the collision detection.
 
solver_settings solver
 The settings for the solver.
 
bool perform_thread_tuning
 System level settings. More...
 
int min_threads
 The minimum number of threads that will ever be used by this simulation. More...
 
int max_threads
 
real step_size
 The timestep of the simulation. More...
 
real3 gravity
 
SystemType system_type
 The system type defines if the system is solving the NSC frictional contact problem or a SMC penalty based. More...
 

Constructor & Destructor Documentation

chrono::settings_container::settings_container ( )

The default minimum number of threads is 1, set this to your max threads if you already know that it will run the fastest with that configuration. In some cases simulations start with a few objects but more are added later. By setting it to a low value initially the simulation will run as more objects are added chrono parallel will automatically increase the number of threads. If min threads is > max threads, weird stuff might happen!

The default maximum threads is equal to the number visible via openMP.

Only perform thread tuning if max threads is greater than min_threads; I don't really check to see if max_threads is > than min_threads not sure if that is a huge issue.

Member Data Documentation

int chrono::settings_container::min_threads

The minimum number of threads that will ever be used by this simulation.

If you know a good number of threads for your simulation set the minimum so that the simulation is running optimally from the start.

bool chrono::settings_container::perform_thread_tuning

System level settings.

If set to true chrono parallel will automatically check to see if increasing the number of threads will improve performance. If performance is improved it changes the number of threads, if not, it decreases the number of threads back to the original value.

real chrono::settings_container::step_size

The timestep of the simulation.

This value is copied from chrono currently, setting it has no effect.

SystemType chrono::settings_container::system_type

The system type defines if the system is solving the NSC frictional contact problem or a SMC penalty based.