element('zeroLengthInterface2D', eleTag, '-sNdNum', sNdNum, '-mNdNum', mNdNum, '-dof', sdof, mdof, '-Nodes', *NodesTags, kn, kt, phi)
eleTag (int) unique element object tag
sNdNum (int) Number of Slave Nodes
mNdNum (int) Number of Master nodes
sdof, mdof (int) Slave and Master degree of freedom
NodesTags (list (int)) Slave and master node tags respectively
kn (float) Penalty in normal direction
kt (float) Penalty in tangential direction
phi (float) Friction angle in degrees


  1. The contact element is node-to-segment (NTS) contact. The relation follows Mohr-Coulomb frictional law: \(T = N \times \tan(\phi)\), where \(T\) is the tangential force, \(N\) is normal force across the interface and \(\phi\) is friction angle.
  2. For 2D contact, slave nodes and master nodes must be 2 DOF and notice that the slave and master nodes must be entered in counterclockwise order.
  3. The resulting tangent from the contact element is non-symmetric. Switch to the non-symmetric matrix solver if convergence problem is experienced.
  4. As opposed to node-to-node contact, predefined normal vector for node-to-segment (NTS) element is not required because contact normal will be calculated automatically at each step.
  5. contact element is implemented to handle large deformations.

See also