pystra.systems.TieSetSystem#

Use it: User guide · Worked example · Theory

class TieSetSystem(tie_sets, components=None, name=None)[source]#

Bases: System

A system described by tie sets.

Each tie set is a group of components that keeps the system safe when all components in that set are safe. The system fails only when all tie sets have failed.

Parameters:
  • tie_sets (Iterable[Iterable[str | Component | System | LimitState | Callable[..., Any]]]) – Tie sets. Entries may be components, subsystems, callables, or string names when components is supplied.

  • components (dict[str, Component | System | LimitState | Callable[..., Any]] | Iterable[Component | System | LimitState | Callable[..., Any]] | None) – Component catalogue used to resolve string names in tie_sets.

  • name (str | None) – System name.

Methods

as_limit_state

Return the composed system as a PySTRA LimitState.

component_failure_masks

Return failure masks for each leaf component.

component_values

Evaluate all leaf component limit states.

evaluate

Evaluate the equivalent scalar system limit state.

failure_mask

Return a boolean mask where the system is failed.

get_limit_state

Return the composed system as a PySTRA LimitState.

iter_components

Yield all leaf components in the system.

as_limit_state()#

Return the composed system as a PySTRA LimitState.

Return type:

LimitState

component_failure_masks(**kwargs)#

Return failure masks for each leaf component.

Return type:

dict[str, bool | ndarray]

component_values(**kwargs)#

Evaluate all leaf component limit states.

Returns:

Mapping component names to their evaluated limit-state values.

Return type:

dict[str, ndarray]

Raises:

ValueError – If duplicate component names would make the mapping ambiguous.

property components: tuple[Component, ...]#

Flat tuple of all leaf components in the system.

evaluate(**kwargs)#

Evaluate the equivalent scalar system limit state.

Return type:

float | ndarray

failure_mask(**kwargs)#

Return a boolean mask where the system is failed.

Return type:

bool | ndarray

get_limit_state()#

Return the composed system as a PySTRA LimitState.

This legacy-style alias mirrors the existing PySTRA getter naming.

Return type:

LimitState

iter_components()#

Yield all leaf components in the system.

Return type:

Iterator[Component]