Section
Section
Bases: ABC
Abstract base class for all sections with manager-owned tagging.
Section objects do not self-register and do not assign their own tags.
A :class:~femora.core.section_manager.SectionManager owns lifecycle
operations, tag assignment, removal, and retagging for a local model context.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
section_type
|
str
|
The type of section (e.g., 'section'). |
required |
section_name
|
str
|
The specific section name for OpenSees (e.g., 'Elastic'). |
required |
user_name
|
str
|
User-specified name for the section. |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
tag |
Optional[int]
|
Manager-assigned OpenSees tag. It remains |
_owner |
Optional[Any]
|
Reference to the owning manager, or |
Attributes
Methods:
_require_tag
Return the assigned tag or fail if the instance is unmanaged.
Returns:
| Type | Description |
|---|---|
int
|
The manager-assigned integer tag. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If this section has not been added to a manager. |
to_tcl
abstractmethod
Convert the section to a TCL string representation for OpenSees.
Returns:
| Type | Description |
|---|---|
str
|
TCL command string for this section. |
resolve_material
Resolve material using the owner manager when possible.
resolve_materials_dict
resolve_materials_dict(materials_input: Dict[str, Union[int, str, 'Material']]) -> Dict[str, 'Material']
Resolve a dictionary of material references.
resolve_section
Resolve another section using the owner manager when possible.
resolve_material_reference
staticmethod
resolve_material_reference(material_input: Union[int, str, 'Material', None]) -> Optional['Material']
Resolve a material object passed directly to an unmanaged section.
get_materials
Return materials used by this section for dependency tracking.