newton.utils.CableStiffness#

class newton.utils.CableStiffness(stretch, bend, twist)[source]#

Bases: NamedTuple

Per-joint Kirchhoff rod stiffness for a circular isotropic cross-section.

Returned by create_cable_stiffness_from_elastic_moduli() when the caller supplies either poissons_ratio or shear_modulus.

Fields:

  • stretch – axial stiffness E * A / L [N/m]

  • bend – bending stiffness E * I / L [N*m / rad]

  • twist – torsional stiffness G * J / L [N*m / rad]

For a circular cross-section the two bending axes are equivalent (EI1 == EI2 == EI); the single bend field is used for both axes when assembling the per-joint cable stiffness vector.

No shear field, by design. Set a sufficiently large finite shear_stiffness separately to approximate an unshearable Kirchhoff rod.

Being a typing.NamedTuple, instances support both attribute access (stiffness.bend) and tuple unpacking (stretch, bend, twist = stiffness).

bend: float#

Alias for field number 1

stretch: float#

Alias for field number 0

twist: float#

Alias for field number 2