Skip to content

ZeroLengthContactASDimplex

ZeroLengthContactASDimplex

ZeroLengthContactASDimplex(ndof: int, Kn: float, Kt: float, mu: float, material: Material = None, orient: List[float] = None, intType: int = 0, **kwargs)

Bases: Element

Two-node zero-length contact element with normal and tangential penalty stiffness.

This element models frictional contact between two coincident or nearly coincident nodes using normal stiffness Kn, tangential stiffness Kt, and a Mohr-Coulomb friction coefficient mu.

Tcl form

element zeroLengthContactASDimplex <tag> <n1> <n2> <Kn> <Kt> <mu> [-orient nx ny nz] [-intType type]

Note
  • Requires exactly two nodes at export.
  • intType selects the contact integration scheme (0 implicit, 1 IMPL-EX).

Attributes:

Name Type Description
Kn

Normal contact penalty stiffness.

Kt

Tangential contact penalty stiffness.

mu

Friction coefficient.

orient

Optional contact orientation vector [nx, ny, nz].

intType

Contact integration type (0 implicit, 1 IMPL-EX).

Example
from femora.core.model import Model

model = Model()
ele = model.element.special.zero_length_contact(
    ndof=3,
    Kn=1.0e8,
    Kt=1.0e8,
    mu=0.5,
    orient=[0.0, 0.0, 1.0],
    intType=1,
)
print(ele.tag)

Create a ZeroLengthContactASDimplex element with validated contact inputs.

Parameters:

Name Type Description Default
ndof int

Number of DOFs per node in the surrounding model (2, 3, 4, or 6).

required
Kn float

Normal contact penalty stiffness. Must be positive.

required
Kt float

Tangential contact penalty stiffness. Must be positive.

required
mu float

Mohr-Coulomb friction coefficient. Must be non-negative.

required
material Material

Unused placeholder accepted for base-class compatibility.

None
orient List[float]

Optional contact orientation vector [nx, ny, nz].

None
intType int

Contact integration type (0 implicit, 1 IMPL-EX).

0
**kwargs

Additional element parameters stored on the base element.

{}

Raises:

Type Description
ValueError

If ndof is unsupported or if contact parameters are invalid.