ParallelSection
ParallelSection
ParallelSection(user_name: str = 'Unnamed', *, sections: Optional[List[Union[int, str, Section]]] = None)
Bases: Section
Section composed of multiple sections acting in parallel.
The Parallel section sums the forces and stiffnesses of its constituent sections at each integration point. It is ideal for modeling composite structural members or adding supplemental energy dissipation.
Tcl form
section Parallel <tag> <secTag1> <secTag2> ...
Note
- The constituent sections are assumed to share the same kinematic state (strains).
- Use the
add_sectionmethod to add components to a parallel section after creation.
Tip
- This is often used to model "base + augmentation" behavior where you want to keep the original member properties but add an additional layer of stiffness or damping.
Example
from femora.core.model import Model
import femora.components.section.composite # noqa: F401
import femora.components.section.beam # noqa: F401
model = Model()
sec1 = model.section.beam.elastic(user_name="Primary", E=29000.0, A=10.0, Iz=100.0)
sec2 = model.section.beam.elastic(user_name="Secondary", E=29000.0, A=2.0, Iz=20.0)
combined = model.section.composite.parallel(
user_name="CompositeMember",
sections=[sec1, sec2],
)
print(combined.tag)
Create a ParallelSection with validated constituent sections.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_name
|
str
|
User-specified name for the section. |
'Unnamed'
|
sections
|
Optional[List[Union[int, str, Section]]]
|
Optional list of constituent sections (objects, tags, or names). |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If constituent sections cannot be resolved. |
Methods:
add_section
Add a constituent section to the parallel combination.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
section_input
|
Union[int, str, Section]
|
Section reference (object, tag, or name). |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the section cannot be resolved. |