pystra.fbc.FBCProcess#
- class FBCProcess(name, parent, basic_interval)[source]#
Bases:
objectFerry-Borges-Castanheta rectangular-wave load process.
The Ferry-Borges-Castanheta (FBC) model represents a load process as a sequence of independent rectangular pulses of equal duration. Within each basic interval the process is constant; between intervals a new value is drawn from the interval parent distribution.
This class is intentionally a small distribution factory. It does not run a reliability analysis and does not create load combinations by itself. It only returns ordinary Pystra distribution objects that can be added to a
StochasticModelor used inLoadCombinationcases.Load combinations are a separate modelling choice. For example,
pystra.loadcomb.LoadCombination.turkstra()uses FBC process objects to generate leading-action cases according to Turkstra’s rule.- Parameters:
name (str) – Name of the load process. This must match the name of
parentand the corresponding argument in the limit-state function.parent (Distribution) – Distribution of the process value in one basic interval.
basic_interval (float) – Duration of one rectangular-wave interval, in the same time units used for
durationarguments passed tomaximum().
Notes
For a duration \(T\) and basic interval \(\tau\), the maximum is represented by
Maximum(parent, N=T/tau). Durations shorter than one basic interval are treated as one interval.Examples
>>> import pystra as ra >>> Q = ra.FBCProcess( ... "Q", parent=ra.Gumbel("Q", 0.89, 0.2), basic_interval=1/52 ... ) >>> Q.point_in_time() >>> Q.maximum(duration=50)
Methods
Create a process from a known maximum distribution.
Return the number of basic intervals in a duration.
Return the distribution of the process maximum.
Return the interval parent distribution.
- classmethod from_maximum(name, maximum, maximum_duration, basic_interval)[source]#
Create a process from a known maximum distribution.
This is useful when a code or model supplies, for example, an annual maximum distribution but the FBC process requires the distribution of one basic interval. The interval parent is inferred using
MaxParent.- Parameters:
name (str) – Process and random-variable name.
maximum (Distribution) – Distribution of the maximum over
maximum_duration.maximum_duration (float) – Duration represented by
maximum.basic_interval (float) – Basic interval of the rectangular-wave process.
- Returns:
Process whose parent distribution is inferred from
maximum.- Return type:
- interval_count(duration=None, n=None)[source]#
Return the number of basic intervals in a duration.
Either
durationornmay be supplied, but not both. Durations shorter than one basic interval are treated as one interval, which is the parent distribution.- Parameters:
duration (float, optional) – Duration over which the process is observed.
n (float, optional) – Direct number of basic intervals.
- Returns:
Number of basic intervals used in the maximum distribution.
- Return type:
float
- point_in_time()[source]#
Return the interval parent distribution.
- Returns:
Distribution of the process value in one basic interval.
- Return type:
- maximum(duration=None, n=None)[source]#
Return the distribution of the process maximum.
- Parameters:
duration (float, optional) – Duration over which the maximum is taken.
n (float, optional) – Direct number of basic intervals over which the maximum is taken.
- Returns:
Distribution of the maximum over the requested duration or number of intervals.
- Return type: