Skip to content

UniformExcitation

UniformExcitation

UniformExcitation(dof: int, time_series: TimeSeries, vel0: float = 0.0, factor: float = 1.0)

Bases: Pattern

Uniform excitation pattern for identical support motion in one DOF direction.

This pattern applies one managed acceleration time series as boundary excitation to a selected global degree-of-freedom direction at all support nodes. It references a time series directly rather than a ground motion object.

Tcl form

pattern UniformExcitation <tag> <dof> -accel <tsTag> [-vel0 <vel0>] [-fact <factor>]

Note
  • Use model.time_series.path(...) or another managed acceleration history before creating this pattern.
  • OpenSees reports nodal responses relative to the support motion, so absolute motion interpretation requires post-processing care.
Example
from femora.core.model import Model

model = Model()
accel = model.time_series.path(dt=0.01, filePath="ground_motion.acc")
pattern = model.pattern.uniform_excitation(
    dof=1,
    time_series=accel,
    vel0=0.0,
    factor=1.0,
)
print(pattern.tag)

Create a uniform excitation pattern with validated inputs.

Parameters:

Name Type Description Default
dof int

1-based excitation direction (e.g., 1 for X, 2 for Y, 3 for Z).

required
time_series TimeSeries

Managed acceleration TimeSeries object that defines the excitation history.

required
vel0 float

Initial velocity, typically 0.0 unless starting from a known non-zero velocity state.

0.0
factor float

Scale factor applied to the acceleration time series.

1.0

Raises:

Type Description
ValueError

If dof is not a positive integer, or if time_series is not a managed TimeSeries instance.