FEBio  1.5.0
Public Member Functions | Data Fields | Protected Member Functions
FESlidingInterface Class Reference

This class implements a sliding interface. More...

#include <FESlidingInterface.h>

Inheritance diagram for FESlidingInterface:
FEContactInterface FEParamContainer

Public Member Functions

 FESlidingInterface (FEModel *pfem)
 constructor
virtual ~FESlidingInterface ()
 destructor
bool Init ()
 Initializes sliding interface.
void Update ()
 update interface data
void ProjectSurface (FESlidingSurface &ss, FESlidingSurface &ms, bool bupseg, bool bmove=false)
 projects slave nodes onto master nodes
void ShallowCopy (FEContactInterface &ci)
 shallow copy
double Penalty ()
 calculate penalty value
virtual void ContactForces (vector< double > &F)
 calculate contact forces
virtual void ContactStiffness ()
 calculate contact stiffness
virtual bool Augment (int naug)
 calculate Lagrangian augmentations
void Serialize (DumpFile &ar)
 serialize data to archive
void UpdateContactPressures ()
 calculate contact pressures for file output
 DECLARE_PARAMETER_LIST ()

Data Fields

FESlidingSurface m_ss
 slave surface
FESlidingSurface m_ms
 master surface
bool m_btwo_pass
 two pass algorithm flag
int m_naugmax
 maximum nr of augmentations
int m_naugmin
 minimum nr of augmentations
double m_gtol
 gap tolerance
double m_atol
 augmentation tolerance
double m_ktmult
 multiplier for tangential stiffness
double m_knmult
 multiplier for normal stiffness
double m_stol
 search tolerance
int m_nautopen
 auto penalty calculation factor (0=none, 1=old, 2=new)
double m_eps
 penalty scale factor
bool m_breloc
 initial node relocation
double m_mu
 friction coefficient
double m_epsf
 penalty scale factor for friction
int m_nsegup
 segment update parameter
int m_nplc
 penalty load curve number
FELoadCurvem_pplc
 pointer to penalty load curve

Protected Member Functions

void CalcAutoPenalty (FESlidingSurface &s)
 calculate auto penalty factor
void ContactNodalForce (int m, FESlidingSurface &ss, FESurfaceElement &mel, vector< double > &fe)
 calculate the nodal force of a slave node
void ContactNodalStiffness (int m, FESlidingSurface &ss, FESurfaceElement &mel, matrix &ke)
 calculate the stiffness contribution of a single slave node
void MapFrictionData (int inode, FESlidingSurface &ss, FESlidingSurface &ms, FESurfaceElement &sn, FESurfaceElement &so, vec3d &q)
 map the frictional data from the old element to the new element

Detailed Description

This class implements a sliding interface.

The FESlidingInterface class defines an interface between two surfaces. These surfaces define the slave and master surfaces of the contact interface.


Member Function Documentation

void FESlidingInterface::CalcAutoPenalty ( FESlidingSurface s) [protected]

calculate auto penalty factor

Calculates the auto penalty factor.

void FESlidingInterface::ContactNodalForce ( int  m,
FESlidingSurface ss,
FESurfaceElement mel,
vector< double > &  fe 
) [protected]

calculate the nodal force of a slave node

Calculates the contact force on a slave node.

Parameters:
[in]mlocal node number
[in]ssslave surface
[in]melmaster surface element
[out]feforce vector
bool FESlidingInterface::Init ( ) [virtual]

Initializes sliding interface.

Initializes the sliding interface data.

Implements FEContactInterface.

void FESlidingInterface::MapFrictionData ( int  inode,
FESlidingSurface ss,
FESlidingSurface ms,
FESurfaceElement sn,
FESurfaceElement so,
vec3d q 
) [protected]

map the frictional data from the old element to the new element

This function transforms friction data between two master segments.

void FESlidingInterface::ProjectSurface ( FESlidingSurface ss,
FESlidingSurface ms,
bool  bupseg,
bool  bmove = false 
)

projects slave nodes onto master nodes

Projects the slave surface onto the master surface. That is for each slave node we determine the closest master element and the projection of the slave node onto this master element.

void FESlidingInterface::Update ( ) [virtual]

update interface data

updates sliding interface data

Implements FEContactInterface.


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