Skip to content

PulseTimeSeries

PulseTimeSeries

PulseTimeSeries(tStart: float = 0.0, tEnd: float = 1.0, period: float = 1.0, width: float = 0.5, factor: float = 1.0, shift: float = 0.0)

Bases: TimeSeries

Periodic pulse load-factor time series.

This time series generates a repeating pulse between tStart and tEnd. It is commonly used for impulsive dynamic loading or simplified ground-motion pulses.

Tcl form

timeSeries Pulse <tag> <tStart> <tEnd> <period> -width <width> -factor <factor> -shift <shift>

Attributes:

Name Type Description
tStart

Start time of the pulse series.

tEnd

End time of the pulse series.

period

Pulse period.

width

Pulse width as a fraction of the period.

factor

Load-factor amplitude.

shift

Phase shift applied to the pulse train.

Example
from femora.core.model import Model

model = Model()
ts = model.time_series.pulse(
    tStart=0.1,
    tEnd=10.0,
    period=0.5,
    width=0.2,
    factor=2.0,
)
pattern = model.pattern.plain(time_series=ts)
print(ts.tag)

Create a periodic pulse time series.

Parameters:

Name Type Description Default
tStart float

Start time of the pulse series.

0.0
tEnd float

End time of the pulse series.

1.0
period float

Pulse period.

1.0
width float

Pulse width as a fraction of the period.

0.5
factor float

Load-factor amplitude.

1.0
shift float

Phase shift applied to the pulse train.

0.0

Raises:

Type Description
ValueError

If numeric arguments are invalid, if tStart is not less than tEnd, if period is not positive, or if width is not between 0 and 1.