Contact model for spherical joint interactions.
More...
#include "JointContactModel.h"
|
| | JointContactModel (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Constructor with configuration and properties.
|
| |
| virtual bool | takeAction (const String &action, const Properties ¶ms, const Properties &globdat) override |
| | Handle model actions for contact mechanics.
|
| |
|
| static Ref< Model > | makeNew (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Factory method for creating new JointContactModel instances.
|
| |
| static void | declare () |
| | Register JointContactModel type with ModelFactory.
|
| |
|
|
| static const char * | TYPE_NAME = "JointContact" |
| | Model type name.
|
| |
| static const char * | PENALTY_PROP = "penalty" |
| | Penalty parameter.
|
| |
| static const char * | RADIUS_PROP = "radius" |
| | Joint radius.
|
| |
| static const char * | VERBOSE_PROP = "verbose" |
| | Verbose output flag.
|
| |
|
| virtual void | findContacts_ (const Vector &disp) |
| | Find pairs of joints in contact.
|
| |
| virtual void | computeContacts_ (MatrixBuilder &mbld, const Vector &fint, const IdxVector &nodesA, const IdxVector &nodesB, const Vector &disp) |
| | Compute contact effects for detected contact pairs.
|
| |
| virtual void | computeContact_ (Matrix contactStiffness, Vector contactForce, Vector posA, Vector posB) |
| | Compute single contact interaction.
|
| |
Implements contact mechanics between joints modeled as spheres using penalty methods. Detects contact pairs and computes contact forces and stiffness contributions for joint-to-joint interactions.
◆ JointContactModel()
| JointContactModel::JointContactModel |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
explicit |
- Parameters
-
| name | Model name |
| conf | Actually used configuration properties (output) |
| props | User-specified model properties |
| globdat | Global data container |
◆ computeContact_()
| void JointContactModel::computeContact_ |
( |
Matrix |
contactStiffness, |
|
|
Vector |
contactForce, |
|
|
Vector |
posA, |
|
|
Vector |
posB |
|
) |
| |
|
protectedvirtual |
- Parameters
-
| contactStiffness | Contact stiffness matrix (output) |
| contactForce | Contact force vector (output) |
| posA | Position of first joint |
| posB | Position of second joint |
◆ computeContacts_()
| void JointContactModel::computeContacts_ |
( |
MatrixBuilder & |
mbld, |
|
|
const Vector & |
fint, |
|
|
const IdxVector & |
nodesA, |
|
|
const IdxVector & |
nodesB, |
|
|
const Vector & |
disp |
|
) |
| |
|
protectedvirtual |
- Parameters
-
| mbld | Stiffness matrix builder |
| fint | Internal force vector |
| nodesA | Node IDs of first contact side |
| nodesB | Node IDs of second contact side |
| disp | Displacement vector of all elements |
◆ declare()
| void JointContactModel::declare |
( |
| ) |
|
|
static |
◆ findContacts_()
| void JointContactModel::findContacts_ |
( |
const Vector & |
disp | ) |
|
|
protectedvirtual |
- Parameters
-
| disp | Displacement vector of all nodes |
◆ makeNew()
| Ref< Model > JointContactModel::makeNew |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
static |
- Parameters
-
| name | Model name |
| conf | Actually used configuration properties (output) |
| props | User-specified model properties |
| globdat | Global data container |
- Returns
- Reference to new JointContactModel instance
◆ takeAction()
| bool JointContactModel::takeAction |
( |
const String & |
action, |
|
|
const Properties & |
params, |
|
|
const Properties & |
globdat |
|
) |
| |
|
overridevirtual |
- Parameters
-
| action | Action name to execute |
| params | Action parameters |
| globdat | Global data container |
- Returns
- true if action was handled
◆ PENALTY_PROP
| const char * JointContactModel::PENALTY_PROP = "penalty" |
|
static |
◆ RADIUS_PROP
| const char * JointContactModel::RADIUS_PROP = "radius" |
|
static |
◆ TYPE_NAME
| const char * JointContactModel::TYPE_NAME = "JointContact" |
|
static |
◆ VERBOSE_PROP
| const char * JointContactModel::VERBOSE_PROP = "verbose" |
|
static |