Skip to content

MultipleSupportPattern

MultipleSupportPattern

MultipleSupportPattern()

Bases: Pattern

OpenSees MultipleSupport excitation pattern for multi-support boundary loading.

This pattern is used to model structures excited by spatially varying ground motions at different support nodes. It contains and manages a collection of ImposedMotion constraints, automatically registering and deduplicating referenced ground motions.

Tcl form

pattern MultipleSupport <patternTag> { <groundMotion...> <imposedMotion...> }

Note
  • Ground motions referenced by the attached imposed motions are automatically registered and deduplicated by tag inside the rendered Tcl command block.
  • Interpolated ground motions will have their dependencies emitted automatically before the dependent ground motion.
Example
from femora.core.model import Model

model = Model()
accel = model.time_series.path(dt=0.01, filePath="support.acc")
gm = model.ground_motion.plain(accel=accel)
pattern = model.pattern.multiple_support()
pattern.add_imposed_motion(node_tag=10, dof=1, ground_motion=gm)
print(pattern.tag)

Create an empty multiple-support excitation pattern.

Methods:

add_imposed_motion

add_imposed_motion(node_tag: int, dof: int, ground_motion: GroundMotion) -> ImposedMotion

Create and attach an imposed support motion constraint to this pattern.

Parameters:

Name Type Description Default
node_tag int

Tag of the node where the support motion is imposed.

required
dof int

1-based degree-of-freedom direction.

required
ground_motion GroundMotion

Managed ground motion defining the prescribed excitation history.

required

Returns:

Name Type Description
ImposedMotion ImposedMotion

The created and attached ImposedMotion instance.

Raises:

Type Description
ValueError

If any input fails validation or if the ground motion belongs to a different Model.

get_imposed_motions

get_imposed_motions() -> List[ImposedMotion]

Return the imposed motions currently attached to this pattern.

Returns:

Type Description
List[ImposedMotion]

List[ImposedMotion]: A shallow copy of attached ImposedMotion instances in insertion order.

clear_imposed_motions

clear_imposed_motions() -> None

Remove all imposed motions from this pattern.