NetDEM v1.0
Loading...
Searching...
No Matches
netdem::ContactSolverSettings Class Reference

A container class for settings related to contact solvers. More...

#include <contact_solver_factory.hpp>

Public Types

enum  SolverType { gjk , sdf , automatic }
 

Public Attributes

SolverType solver_type {SolverType::automatic}
 
bool gjk_use_erosion {false}
 
double gjk_erosion_ratio_initial {0.01}
 
double gjk_erosion_ratio_increment {0.01}
 
bool gjk_enable_logging {false}
 
int sdf_potential_type {0}
 
bool sdf_solve_two_sides {false}
 
bool sdf_use_equivalent_stiffness {true}
 

Detailed Description

A container class for settings related to contact solvers.

This class provides a set of member variables that can be used to configure various aspects of the contact solvers used in a simulation. The SolverType enumeration specifies the type of solver to use, while other variables control specific options like erosion and logging.

Member Enumeration Documentation

◆ SolverType

An enumeration of possible solver types.

Enumerator
gjk 
sdf 
automatic 

Member Data Documentation

◆ gjk_enable_logging

bool netdem::ContactSolverSettings::gjk_enable_logging {false}

Whether to enable logging in the GJK solver.

◆ gjk_erosion_ratio_increment

double netdem::ContactSolverSettings::gjk_erosion_ratio_increment {0.01}

The amount by which to increment the erosion ratio in the GJK solver each time.

◆ gjk_erosion_ratio_initial

double netdem::ContactSolverSettings::gjk_erosion_ratio_initial {0.01}

The initial erosion ratio to use in the GJK solver.

◆ gjk_use_erosion

bool netdem::ContactSolverSettings::gjk_use_erosion {false}

Whether to use erosion in the GJK solver.

◆ sdf_potential_type

int netdem::ContactSolverSettings::sdf_potential_type {0}

◆ sdf_solve_two_sides

bool netdem::ContactSolverSettings::sdf_solve_two_sides {false}

Whether to solve contacts on both sides of an object in the SDF solver.

◆ sdf_use_equivalent_stiffness

bool netdem::ContactSolverSettings::sdf_use_equivalent_stiffness {true}

Whether to auto convert the model stiffness parameter, such that it is identical to those in conventional linear or Hertz contact.

Examples
02_energy_test.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_repose_trimesh.cpp, and 97_triaixal_comp_sphere_geom.cpp.

◆ solver_type

SolverType netdem::ContactSolverSettings::solver_type {SolverType::automatic}

The type of solver to use for contact calculations.

Examples
2_sdf_solver.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, and 91_packing_ellipsoid.cpp.

The documentation for this class was generated from the following file: