dynLattice
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
JointContactModel Class Reference

Contact model for spherical joint interactions. More...

#include "JointContactModel.h"

Inheritance diagram for JointContactModel:
Inheritance graph
[legend]
Collaboration diagram for JointContactModel:
Collaboration graph
[legend]

Public Member Functions

 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 &params, const Properties &globdat) override
 Handle model actions for contact mechanics.
 

Static Public Member Functions

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 Public Attributes

Property identifiers
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.
 

Protected Member Functions

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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ JointContactModel()

JointContactModel::JointContactModel ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
explicit
Parameters
nameModel name
confActually used configuration properties (output)
propsUser-specified model properties
globdatGlobal data container

Member Function Documentation

◆ computeContact_()

void JointContactModel::computeContact_ ( Matrix  contactStiffness,
Vector  contactForce,
Vector  posA,
Vector  posB 
)
protectedvirtual
Parameters
contactStiffnessContact stiffness matrix (output)
contactForceContact force vector (output)
posAPosition of first joint
posBPosition of second joint

◆ computeContacts_()

void JointContactModel::computeContacts_ ( MatrixBuilder &  mbld,
const Vector &  fint,
const IdxVector &  nodesA,
const IdxVector &  nodesB,
const Vector &  disp 
)
protectedvirtual
Parameters
mbldStiffness matrix builder
fintInternal force vector
nodesANode IDs of first contact side
nodesBNode IDs of second contact side
dispDisplacement vector of all elements

◆ declare()

void JointContactModel::declare ( )
static

◆ findContacts_()

void JointContactModel::findContacts_ ( const Vector &  disp)
protectedvirtual
Parameters
dispDisplacement vector of all nodes

◆ makeNew()

Ref< Model > JointContactModel::makeNew ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
static
Parameters
nameModel name
confActually used configuration properties (output)
propsUser-specified model properties
globdatGlobal data container
Returns
Reference to new JointContactModel instance

◆ takeAction()

bool JointContactModel::takeAction ( const String &  action,
const Properties &  params,
const Properties &  globdat 
)
overridevirtual
Parameters
actionAction name to execute
paramsAction parameters
globdatGlobal data container
Returns
true if action was handled

Member Data Documentation

◆ 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