Skip to content

DispBeamColumnElement

DispBeamColumnElement

DispBeamColumnElement(ndof: int, section: Union[Section, int, str], transformation: Union[GeometricTransformation, int, str], numIntgrPts: int = 5, massDens: float = 0.0, **kwargs)

Bases: Element

Displacement-based beam-column element with distributed plasticity.

This two-node element integrates section response along the member length using a displacement-based formulation. It is commonly used for nonlinear frame analysis with fiber or uniaxial sections in 2D (3 DOF/node) or 3D (6 DOF/node) models.

Tcl form

element dispBeamColumn <tag> <iNode> <jNode> <numIntgrPts> <secTag> <transfTag> <-mass massDens>

Note
  • Requires a managed section and geometric transformation with assigned tags before Tcl export.
  • numIntgrPts controls the number of Gauss points used along the member for section integration.

Attributes:

Name Type Description
numIntgrPts

Number of integration points along the element length.

massDens

Mass density per unit length for optional dynamic mass formation.

Example
from femora.core.model import Model
import femora.components.section.beam  # noqa: F401

model = Model()
sec = model.section.beam.elastic(
    user_name="Beam",
    E=29000.0,
    A=15.0,
    Iz=300.0,
)
transf = model.transformation.transformation2d(transf_type="Linear")
ele = model.element.beam.disp(
    ndof=3,
    section=sec,
    transformation=transf,
    numIntgrPts=5,
)
print(ele.tag)

Create a DispBeamColumnElement with validated dependencies.

Parameters:

Name Type Description Default
ndof int

Number of DOFs per node. Must be 3 for 2D or 6 for 3D.

required
section Union[Section, int, str]

Managed section object integrated along the member.

required
transformation Union[GeometricTransformation, int, str]

Managed geometric transformation defining the local element axis.

required
numIntgrPts int

Number of Gauss integration points along the element.

5
massDens float

Optional mass per unit length for dynamic analyses.

0.0
**kwargs

Additional element parameters stored on the base element.

{}

Raises:

Type Description
ValueError

If ndof is unsupported, if the section or transformation is missing, if integration-point or mass inputs are invalid, or if dependencies cannot be resolved.

Methods:

get_mass_per_length

get_mass_per_length() -> float

Return the mass density per unit length.

Returns:

Type Description
float

Mass per unit length assigned to this element.