AGX Dynamics 2.40.0.0
Loading...
Searching...
No Matches
agxWire::WireParameterController Class Reference

Class to hold specific parameters for the wire - this makes the wires highly configurable. More...

#include <WireParameterController.h>

Classes

struct  WinchPrismaticCompliance
 Structure with compliance parameters for the prismatic constraint used by winches. More...
 

Public Member Functions

 WireParameterController ()
 
 ~WireParameterController ()
 
agx::Real getMaximumContactMovementOneTimestep () const
 
agx::Real getMinimumDistanceBetweenNodes () const
 
agx::Real getNonScaledRadiusMultiplier () const
 
agx::Real getRadiusMultiplier (agx::Real wireRadius) const
 
agx::Real getScaleConstant () const
 
agx::Real getSensorRadius (agx::Real wireRadius) const
 
agx::Real getSplitTensionMultiplier () const
 
agx::Real getStopNodeLumpMinDistanceFraction () const
 
agx::Real getStopNodeReferenceDistance () const
 
agx::Real getWireContactDynamicsSolverDampingScale () const
 
void resetToDefault ()
 Reset all parameters to default.
 
void setMaximumContactMovementOneTimestep (agx::Real maxMovement)
 This value should be related the size of objects the wire is interacting with, to avoid tunneling If we are simulating.
 
void setMinimumDistanceBetweenNodes (agx::Real minDistanceBetweenNodes)
 Set the minimum distance allowed between nodes.
 
void setRadiusMultiplier (agx::Real radiusMultiplier)
 Set the wire sphere geometry radius multiplier.
 
void setScaleConstant (agx::Real scaleConstant)
 The scale constant controls the insert/remove of lumped nodes in a wire.
 
void setSplitTensionMultiplier (agx::Real multiplier)
 Set a multiplier for tension scaling when deciding if a constraint could be replaced with a force.
 
void setStopNodeLumpMinDistanceFraction (agx::Real stopNodeLumpMinDistanceFraction)
 Set the fraction of stop node reference distance that defines the range end of the prismatic constraint used by most winches.
 
void setStopNodeReferenceDistance (agx::Real stopNodeReferenceDistance)
 Set the distance between the lump node and the stop node for winches.
 
void setWireContactDynamicsSolverDampingScale (agx::Real scale)
 Set a scale for the damping of the dynamics solver for ShapeContactNodes This will scale the damping of the damping found in the material parameters for an interaction of a wire/other contact.
 

Detailed Description

Class to hold specific parameters for the wire - this makes the wires highly configurable.

Definition at line 37 of file WireParameterController.h.

Constructor & Destructor Documentation

◆ WireParameterController()

agxWire::WireParameterController::WireParameterController ( )

◆ ~WireParameterController()

agxWire::WireParameterController::~WireParameterController ( )

Member Function Documentation

◆ getMaximumContactMovementOneTimestep()

agx::Real agxWire::WireParameterController::getMaximumContactMovementOneTimestep ( ) const
inline

Definition at line 320 of file WireParameterController.h.

◆ getMinimumDistanceBetweenNodes()

agx::Real agxWire::WireParameterController::getMinimumDistanceBetweenNodes ( ) const
inline
Returns
minimum distance between nodes
See also
setMinimumDistanceBetweenNodes

Definition at line 249 of file WireParameterController.h.

◆ getNonScaledRadiusMultiplier()

agx::Real agxWire::WireParameterController::getNonScaledRadiusMultiplier ( ) const
inline

Definition at line 298 of file WireParameterController.h.

◆ getRadiusMultiplier()

agx::Real agxWire::WireParameterController::getRadiusMultiplier ( agx::Real  wireRadius) const
inline
Returns
the wire lump geometry sphere radius multiplier

Definition at line 303 of file WireParameterController.h.

References agxAssert, agx::clamp(), agx::equalsZero(), and MAXIMUM_DISTANCE_BETWEEN_NODE_AND_GEOMETRY.

◆ getScaleConstant()

agx::Real agxWire::WireParameterController::getScaleConstant ( ) const
inline
Returns
the scale constant
See also
setScaleConstant

Definition at line 286 of file WireParameterController.h.

◆ getSensorRadius()

agx::Real agxWire::WireParameterController::getSensorRadius ( agx::Real  wireRadius) const
inline
Returns
the sensor radius, It is the same value as the max movement per timestep, to catch all geometries that are interesting (if wire diameter is larger than maximum movement we return wire diameter instead)

Definition at line 325 of file WireParameterController.h.

◆ getSplitTensionMultiplier()

agx::Real agxWire::WireParameterController::getSplitTensionMultiplier ( ) const
Returns
the split tension multiplier.

◆ getStopNodeLumpMinDistanceFraction()

agx::Real agxWire::WireParameterController::getStopNodeLumpMinDistanceFraction ( ) const
inline
Returns
the fraction of the stop node reference distance to define the length of the prismatic range
See also
setStopNodeLumpMinDistanceFraction

Definition at line 272 of file WireParameterController.h.

◆ getStopNodeReferenceDistance()

agx::Real agxWire::WireParameterController::getStopNodeReferenceDistance ( ) const
inline
Returns
the distance between the lump node and stop node for winches
See also
setStopNodeReferenceDistance

Definition at line 260 of file WireParameterController.h.

◆ getWireContactDynamicsSolverDampingScale()

agx::Real agxWire::WireParameterController::getWireContactDynamicsSolverDampingScale ( ) const
Returns
the WireContactDynamicSolverDampingScale. Default == 2

◆ resetToDefault()

void agxWire::WireParameterController::resetToDefault ( )

Reset all parameters to default.

◆ setMaximumContactMovementOneTimestep()

void agxWire::WireParameterController::setMaximumContactMovementOneTimestep ( agx::Real  maxMovement)
inline

This value should be related the size of objects the wire is interacting with, to avoid tunneling If we are simulating.

Definition at line 314 of file WireParameterController.h.

◆ setMinimumDistanceBetweenNodes()

void agxWire::WireParameterController::setMinimumDistanceBetweenNodes ( agx::Real  minDistanceBetweenNodes)
inline

Set the minimum distance allowed between nodes.

I.e., a lumped element node will NOT be created closer than this distance from routed nodes. Default: 0.05. Valid: Real > 0.

Parameters
minDistanceBetweenNodes- new minimum distance between nodes definition

Definition at line 242 of file WireParameterController.h.

References agxAssert.

◆ setRadiusMultiplier()

void agxWire::WireParameterController::setRadiusMultiplier ( agx::Real  radiusMultiplier)
inline

Set the wire sphere geometry radius multiplier.

It's convenient to have larger geometry spheres for the lumped elements in a wire. It looks more natural and it helps the contact handling in the wires. Default: 1.5. Valid: Real > 0.

Parameters
radiusMultiplier- wire lump geometry sphere radius multiplier

Definition at line 292 of file WireParameterController.h.

References agxAssert.

◆ setScaleConstant()

void agxWire::WireParameterController::setScaleConstant ( agx::Real  scaleConstant)
inline

The scale constant controls the insert/remove of lumped nodes in a wire.

The parameter has an analytical value derived given the Nyquist frequency. The probability to have more lumped nodes in the wire increases with this scale constant. Default: 0.35. Valid: Real > 0.

Parameters
scaleConstant- new scale constant (Default: 0.35)

Definition at line 279 of file WireParameterController.h.

References agxAssert.

◆ setSplitTensionMultiplier()

void agxWire::WireParameterController::setSplitTensionMultiplier ( agx::Real  multiplier)

Set a multiplier for tension scaling when deciding if a constraint could be replaced with a force.

◆ setStopNodeLumpMinDistanceFraction()

void agxWire::WireParameterController::setStopNodeLumpMinDistanceFraction ( agx::Real  stopNodeLumpMinDistanceFraction)
inline

Set the fraction of stop node reference distance that defines the range end of the prismatic constraint used by most winches.

Default: 0.05 which means 5 cm if stop node reference distance is 1 m.

Parameters
stopNodeLumpMinDistanceFraction- fraction of the stop node reference distance to define the length of the prismatic range

Definition at line 266 of file WireParameterController.h.

◆ setStopNodeReferenceDistance()

void agxWire::WireParameterController::setStopNodeReferenceDistance ( agx::Real  stopNodeReferenceDistance)
inline

Set the distance between the lump node and the stop node for winches.

This also defines the theoretic maximum speed, in fact, in practice the speed can be higher but the behavior can be strange. Default: 1 m, equivalent to winch speed of 60 m/s in 60 Hz.

Parameters
stopNodeReferenceDistance- distance between the lump node and stop node for winches

Definition at line 255 of file WireParameterController.h.

◆ setWireContactDynamicsSolverDampingScale()

void agxWire::WireParameterController::setWireContactDynamicsSolverDampingScale ( agx::Real  scale)

Set a scale for the damping of the dynamics solver for ShapeContactNodes This will scale the damping of the damping found in the material parameters for an interaction of a wire/other contact.


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