pystra.loads.LoadCombination#

Use it: User guide · Worked example · Theory

class LoadCombination(*, cases, limit_state=None, constants=None, roles=None, leading_actions=None, correlation=None)[source]#

Bases: object

Named probabilistic cases, with optional factor-calibration metadata.

Parameters:
  • cases (Mapping[str, Mapping[str, Distribution | Constant] | Sequence[Distribution | Constant]]) – Case names mapped to named distributions/constants or sequences thereof.

  • limit_state (Callable | None) – Limit-state function. No analysis is run by this object.

  • constants (Mapping[str, Distribution | Constant] | Sequence[Distribution | Constant] | None) – Common constants; case variables may not duplicate these names.

  • roles (VariableRoles | None) – Explicit roles, required by specialist factor calibration.

  • leading_actions (Mapping[str, Sequence[str]] | None) – Case names mapped to tuples of leading variable-action names.

  • correlation (DataFrame | None) – Physical Pearson correlations labeled by random-variable names.

Notes

Input objects are copied. Accessors and model construction return copies, so candidate overrides cannot mutate the stored case definitions.

Methods

case

Return a copy of one case; default to the first case.

from_actions

Generate cases from explicitly supplied maximum/companion marginals.

stochastic_model

Build an isolated model; reject unknown or misnamed overrides.

turkstra

Generate FBC leading/companion cases using Turkstra's rule.

property limit_state: Callable | None#

Failure-event callable supplied with the case specification.

property roles: VariableRoles | None#

Validated, immutable resistance/other/action metadata.

property case_names: tuple[str, ...]#

Stable case order.

property cases: dict#

Independent copies of all cases.

property constants: dict#

Independent copies of common constants.

property leading_actions: Mapping[str, tuple[str, ...]]#

Read-only case-to-leading-action metadata.

case(case_name=None)[source]#

Return a copy of one case; default to the first case.

Return type:

dict

stochastic_model(case_name=None, *, overrides=None)[source]#

Build an isolated model; reject unknown or misnamed overrides.

Return type:

StochasticModel

classmethod from_actions(*, maxima, companions, resistance, other=None, constants=None, leading_actions=None, limit_state=None, correlation=None)[source]#

Generate cases from explicitly supplied maximum/companion marginals.

Both mappings use the action names as keys. With no leading metadata, generate one case per action, named <action>_max. No reference-period conversion is inferred; use turkstra() for FBC processes.

Return type:

LoadCombination

classmethod turkstra(variable, reference_period, *, limit_state=None, resistance=None, permanent=None, other=None, constants=None, correlation=None, companion_duration='leading_interval')[source]#

Generate FBC leading/companion cases using Turkstra’s rule.

The leading marginal is the maximum over reference_period. A companion uses the leading process’s basic interval by default, or 'point_in_time' or an explicitly supplied duration. Units must agree.

Return type:

LoadCombination