ContactModel
This class represents a contact model.
Constructor
ContactModel(label='')
Creates a new instance of the ContactModel class.
label(string, optional): A string label for the contact model. Default is an empty string.
Attributes
label
A string label for the contact model.
Methods
SetProperty(json_data)
Set the properties of the contact model from a JSON object.
json_data(JSON object): A JSON object containing the properties to set.
SetProperty(prop_name, prop_value)
Set a specific property of the contact model.
prop_name(string): The name of the property to set.prop_value(float): The value to set for the property.
LinearSpring
This class represents a linear spring.
Constructor
LinearSpring()
Creates a new instance of the LinearSpring class.
LinearSpring(stiffness, damping, rest_length, contact_radius)
Creates a new instance of the LinearSpring class with specific parameters.
stiffness(float): The spring stiffness.damping(float): The spring damping.rest_length(float): The rest length of the spring.contact_radius(float): The contact radius of the spring.
ParallelBond
This class represents a parallel bond contact model.
Constructor
ParallelBond()
Creates a new instance of the ParallelBond class.
ParallelBond(kn, kt, gamma, t0)
Creates a new instance of the ParallelBond class with specified parameters.
kn(float): Normal contact stiffness.kt(float): Tangential contact stiffness.gamma(float): Viscoelastic parameter.t0(float): Yield strength.
Inheritance
ParallelBond inherits from ContactModel
ContactSolverSettings Class
This class represents settings for the contact solver.
Attributes
solver_type (SolverType)
The type of contact solver to use. Default is SolverType.
gjk_use_erosion (bool)
Whether to use erosion for the GJK contact solver.
gjk_erosion_ratio_initial (float)
The initial erosion ratio for the GJK contact solver.
gjk_erosion_ratio_increment (float)
The increment of erosion ratio for the GJK contact solver.
sdf_potential_type (int)
The type of potential function to use for the SDF contact solver.
SolverType Enumeration
This enumeration represents the type of contact solver.
SolverType.gjk: The GJK contact solver.
SolverType.sdf: The SDF contact solver.
SolverType.automatic: The automatic contact solver.
ContactSolverFactory
This class is responsible for creating instances of contact solvers based on settings.
Attributes
settings (ContactSolverSettings): The settings for the contact solver.
Methods
init(): Constructs a new instance of the ContactSolverFactory class with default settings.
init(factory: ContactSolverFactory): Constructs a new instance of the ContactSolverFactory class with settings copied from factory.
copy(): Copies the settings of the contact solver factory to a new instance of the ContactSolverFactory class.
DEMSolver
This class represents a discrete element method (DEM) solver.
Constructor
DEMSolver()
Creates a new instance of the DEMSolver class.
Attributes
timestep
The timestep used for the simulation.
contact_solver_factory
The contact solver factory used to create contact solvers for the simulation.
Enums
CyclePoint
An enumeration representing the different cycle points in the simulation.
pre: The pre-collision cycle point.mid_0: The first mid-collision cycle point.mid_1: The second mid-collision cycle point.mid_2: The third mid-collision cycle point.mid_3: The fourth mid-collision cycle point.mid_4: The fifth mid-collision cycle point.post: The post-collision cycle point.