ForceBeamColumnElement
ForceBeamColumnElement
ForceBeamColumnElement(ndof: int, section: Union[Section, int, str], transformation: Union[GeometricTransformation, int, str], numIntgrPts: int = 5, massDens: float = 0.0, maxIters: int = 10, tol: float = 1e-12, **kwargs)
Bases: Element
Force-based nonlinear beam-column element with distributed plasticity.
This two-node element uses OpenSees' nonlinearBeamColumn formulation to
integrate section force-deformation response along the member. It supports
2D models with 3 DOFs per node and 3D models with 6 DOFs per node.
Tcl form
element nonlinearBeamColumn <tag> <iNode> <jNode> <numIntgrPts> <secTag> <transfTag> <-mass massDens> <-iter maxIters tol>
Note
- Requires a managed section and geometric transformation with assigned tags before Tcl export.
- The
-iterparameters control the internal compatibility iteration used by the force-based formulation.
Attributes:
| Name | Type | Description |
|---|---|---|
numIntgrPts |
Number of integration points along the element length. |
|
massDens |
Mass density per unit length for optional dynamic mass formation. |
|
maxIters |
Maximum compatibility iterations for the force-based solve. |
|
tol |
Convergence tolerance for the compatibility iteration. |
Example
from femora.core.model import Model
import femora.components.section.beam # noqa: F401
model = Model()
sec = model.section.beam.elastic(
user_name="Frame",
E=29000.0,
A=18.0,
Iz=400.0,
Iy=400.0,
G=11200.0,
J=8.0,
)
transf = model.transformation.transformation3d(
transf_type="Linear",
vecxz_x=0.0,
vecxz_y=0.0,
vecxz_z=1.0,
)
ele = model.element.beam.force(
ndof=6,
section=sec,
transformation=transf,
numIntgrPts=5,
maxIters=10,
tol=1.0e-12,
)
print(ele.tag)
Create a ForceBeamColumnElement 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
|
maxIters
|
int
|
Maximum number of internal compatibility iterations. |
10
|
tol
|
float
|
Convergence tolerance for compatibility iteration. |
1e-12
|
**kwargs
|
Additional element parameters stored on the base element. |
{}
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |