Skip to content

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_section method 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_section(section_input: Union[int, str, Section]) -> None

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.