WFSection2d
WFSection2d
WFSection2d(user_name: str = 'Unnamed', *, material: Union[int, str, Material], d: float, tw: float, bf: float, tf: float, Nflweb: int, Nflflange: int)
Bases: Section
Wide-flange section for internal 2D fiber discretization.
This section type represents a standard wide-flange (I-shape) beam or column. It automates the discretization of the cross-section into a collection of internal fibers, making it much easier to define than a manual FiberSection.
Tcl form
section WFSection2d <tag> <d> <tw> <bf> <tf> <Nflweb> <Nflflange> <matTag>
Note
- This section is strictly 2D. It only supports strong-axis bending and axial response.
- The discretization creates longitudinal fibers. The number of fibers
in the web (
Nflweb) and flanges (Nflflange) controls integration accuracy across the depth.
Tip
- Use this section for steel frame modeling where nonlinear material behavior is required without manual fiber layout.
- Eight to twelve web fibers and two to four flange fibers are often sufficient for standard structural steel models.
Example
from femora.core.model import Model
import femora.components.section.beam # noqa: F401
model = Model()
mat = model.material.uniaxial.steel01(
user_name="Steel",
Fy=50.0,
E0=29000.0,
b=0.01,
)
sec = model.section.beam.wf2d(
user_name="W14X90_Nonlinear",
material=mat,
d=14.0,
tw=0.44,
bf=14.5,
tf=0.71,
Nflweb=8,
Nflflange=4,
)
print(sec.tag)
Create a WFSection2d with validated dimensions and discretization.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_name
|
str
|
Unique identifier for the section. |
'Unnamed'
|
material
|
Union[int, str, Material]
|
Uniaxial material reference for the entire section. |
required |
d
|
float
|
Total section depth. |
required |
tw
|
float
|
Web thickness. |
required |
bf
|
float
|
Flange width. |
required |
tf
|
float
|
Flange thickness. |
required |
Nflweb
|
int
|
Number of fibers along the web depth. |
required |
Nflflange
|
int
|
Number of fibers along each flange width. |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the material cannot be resolved, or if any dimension is non-positive, or if fiber counts are not positive integers. |