--- title: anabel.elements summary: Element library template: pdoc.html ...

# Module `anabel.elements`

Element library

## Classes

`class BasicLink (ndf, ndm, nodes)`

  Class implementing general geometric element methods

  ### Subclasses

  - Element

  ### Instance variables

  `var Dx : float`
  `var Dy : float`
  `var Dz : float`
  `var L`
  `var L0`
  `var Li`
  `var cs`

    directional cosine

  `var cz`
  `var dofs`
  `var loc : jax._src.numpy.lax_numpy.ndarray`
  `var sn : float`

    directional sine

  ### Methods

  `def Rx_matrix(self)`

    Rotation about x

  `def Ry_matrix(self)`

    Rotation about z

  `def Rz_matrix(self) ‑> numpy.ndarray`

    Rotation about z

`class Beam (tag, iNode, jNode, E=None, A=None, I=None, properties=None, **kwds)`

  linear 2D Euler-Bernouli frame element

  ### Ancestors

  - Element
  - BasicLink

  ### Subclasses

  - Beam_Column2D
  - Beam_Column2D_FL

  ### Class variables

  `var Qpl`
  `var force_dict`
  `var ndf`
  `var ndm`
  `var nn`
  `var nq`
  `var nv`

  ### Instance variables

  `var A`

    Cross-sectional area

  `var E`

    Young’s modulus of elasticity

  `var I`

    Cross-sectional moment of inertia

  `var enq`

    element number of forces, considering deprecation

  ### Methods

  `def Elastic_curve(self, x, end_rotations, scale: float = 10, global_coord=False)`
  `def ag(self)`
  `def ah(self)`
  `def bg_matrix(self, Roption=False)`

    return element global static matrix, bg

  `def f_matrix(self, Roption=False)`

    Flexibility matrix of an element.

  `def k_matrix(self, *args, **kwds)`

    return element local stiffness Matrix

  `def ke_matrix(self, *args, **kwds)`

    return element global stiffness Matrix

  `def m_matrix(self)`
  `def q0_vector(self)`
  `def v0_vector(self)`
  `def κ(self, k, state=None, form=None)`

    Defines element curvature and calculates the resulting end deformations.

  ### Inherited members

  - `Element`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `compose`
    - `cs`
    - `sn`
`class Beam3d (tag, iNode, jNode, E, A, Iy, Iz, Gs, Kv)`

  Element parent class

  3D elastic Bernoulli beam element.

  ## Parameters

  `E` :`float`
    Young’s modulus
  `G` :`float`
    Shear modulus
  `A` :`float`
    Cross section area
  `Iy` :`float`
    Moment of inertia, local y-axis
  `Iz` :`float`
    Moment of inertia, local z-axis
  `Kv` :`float`
    Saint-Venant’s torsion constant

  ### Ancestors

  - Element
  - BasicLink

  ### Class variables

  `var force_dict`
  `var ndf`
  `var ndm`
  `var nn`
  `var nv`

  ### Instance variables

  `var E`

    Young’s modulus of elasticity

  ### Methods

  `def k_matrix(self)`

    Calculate the stiffness matrix for a 3D elastic Bernoulli beam element.

    ## Parameters

    `E` :`float`
      Young’s modulus
    `G` :`float`
      Shear modulus
    `A` :`float`
      Cross section area
    `Iy` :`float`
      Moment of inertia, local y-axis
    `Iz` :`float`
      Moment of inertia, local z-axis
    `Kv` :`float`
      Saint-Venant’s torsion constant

    Returns —–= Kle local beam stiffness matrix (12 x 12)

  `def ke_matrix(self)`

  ### Inherited members

  - `Element`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `compose`
    - `cs`
    - `sn`
`class Beam_Column2D (tag, iNode, jNode, E=None, A=None, I=None, properties=None, **kwds)`

  linear 2D Euler-Bernouli frame element

  ### Ancestors

  - Beam
  - Element
  - BasicLink

  ### Class variables

  `var axial_force`

  ### Methods

  `def k_matrix(self, axial_force=None)`

    Evaluates the 2D beam-column stiffness matrix using a power series expansion

  `def k_matrix_exact(self, axial_force=None)`

  ### Inherited members

  - `Beam`:
    - `A`
    - `E`
    - `I`
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `bg_matrix`
    - `compose`
    - `cs`
    - `enq`
    - `f_matrix`
    - `ke_matrix`
    - `sn`
    - `κ`
`class Beam_Column2D_FL (tag, iNode, jNode, E=None, A=None, I=None, properties=None, **kwds)`

  linear 2D Euler-Bernouli frame element

  ### Ancestors

  - Beam
  - Element
  - BasicLink

  ### Class variables

  `var axial_force`

  ### Methods

  `def k_matrix(self, axial_force=None)`

    Evaluates the 2D beam-column stiffness matrix using a power series expansion

  `def k_matrix_exact(self, axial_force=None)`

  ### Inherited members

  - `Beam`:
    - `A`
    - `E`
    - `I`
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `bg_matrix`
    - `compose`
    - `cs`
    - `enq`
    - `f_matrix`
    - `ke_matrix`
    - `sn`
    - `κ`
`class Element (ndf, ndm, force_dict=None, nodes=None, elem=None, resp=None, proto=None)`

  Element parent class

  ### Ancestors

  - BasicLink

  ### Subclasses

  - Beam
  - Beam3d
  - PolyRod
  - TensorIsoQuad
  - Truss
  - Truss3D

  ### Instance variables

  `var force_keys`
  `var resp`

  ### Methods

  `def compose(self, **model_params)`

    created 2021-03-31

  `def pw_vector(self)`
  `def v0_vector(self)`

  ### Inherited members

  - `BasicLink`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `cs`
    - `sn`
`class IntForce (elem: object, number: int, nature: str = None)`

  ### Instance variables

  `var tag : str`
`class PlaneQuad (ndf)`

  ### Methods

  `def D(self, problem_type=None)`
  `def k_matrix(self, u=None)`
`class PolyRod (tag, nodes, E, A)`

  Element parent class

  ### Ancestors

  - Element
  - BasicLink

  ### Class variables

  `var force_dict`
  `var ndf`
  `var ndm`
  `var nn`
  `var nv`

  ### Instance variables

  `var A`

    cross-sectional areal

  `var E`

    Young’s modulus of elasticity

  ### Methods

  `def B(self)`
  `def N(self)`
  `def displx(self, U_vector)`
  `def iforcex(self, U_vector)`

    Resisting force vector

  `def k_matrix(self)`
  `def ke_matrix(self)`
  `def localize(self, U_vector)`
  `def pw_vector(self)`
  `def strainx(self, U_vector)`

  ### Inherited members

  - `Element`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `compose`
    - `cs`
    - `sn`
`class TaperedTruss (tag, iNode, jNode, E=None, A=None, geo='lin', properties=None, **kwds)`

  Element parent class

  ### Ancestors

  - Truss
  - Element
  - BasicLink

  ### Methods

  `def q0_vector(self)`
  `def v0_vector(self)`

  ### Inherited members

  - `Truss`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `bg_matrix`
    - `compose`
    - `cs`
    - `f_matrix`
    - `iGLstrain`
    - `k_matrix`
    - `kg_matrix`
    - `sn`
`class TensorIsoQuad (tag, iNode, jNode, E=None, A=None, properties=None, geom='lin')`

  Element parent class

  ### Ancestors

  - Element
  - BasicLink

  ### Inherited members

  - `Element`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `compose`
    - `cs`
    - `sn`
`class Truss (tag, iNode, jNode, E=None, A=None, geo='lin', properties=None, **kwds)`

  Element parent class

  ### Ancestors

  - Element
  - BasicLink

  ### Subclasses

  - TaperedTruss

  ### Class variables

  `var Qpl`
  `var force_dict`
  `var ndf`
  `var ndm`
  `var nn`
  `var nq`
  `var nv`

  ### Methods

  `def B(self)`
  `def GLstrain(self)`
  `def N(self)`
  `def ag(self)`
  `def bg_matrix(self, **kwds)`

    return element static matrix, \(\mathbf{b}_g\)

  `def f_matrix(self, Roption=True)`

    return element flexibility matrix, \(\mathbf{f}\)

  `def iGLstrain(self)`

    incremental Green-Lagrange strain

  `def k_matrix(self)`

    return element local stiffness matrix

  `def ke_matrix(self)`
  `def kg_matrix(self, N)`

    return element local stiffness matrix

  `def pw_vector(self)`
  `def q0_vector(self)`
  `def v0_vector(self)`

  ### Inherited members

  - `Element`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `compose`
    - `cs`
    - `sn`
`class Truss3D (tag, iNode, jNode, A, E)`

  Element parent class

  ### Ancestors

  - Element
  - BasicLink

  ### Class variables

  `var force_dict`
  `var ndf`
  `var ndm`

  ### Methods

  `def bg_matrix(self)`

    return element static matrix, bg - pp. 57

  ### Inherited members

  - `Element`:
    - `Rx_matrix`
    - `Ry_matrix`
    - `Rz_matrix`
    - `compose`
    - `cs`
    - `sn`