|
FEBio
1.5.0
|
This class implements a sliding interface. More...
#include <FESlidingInterface.h>
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 | |
| FELoadCurve * | m_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 | |
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.
| 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.
| [in] | m | local node number |
| [in] | ss | slave surface |
| [in] | mel | master surface element |
| [out] | fe | force 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] |
1.7.5.1