pystra.system.KofNSystem#

class KofNSystem(children, k, name=None)[source]#

Bases: System

A system that fails when at least k child events fail.

Parameters:
  • children (Iterable) – Child components or subsystems.

  • k (int) – Number of failed children required for system failure.

  • name (str, optional) – System name.

Notes

This event-counting representation is intended for simulation, enumeration, and topology construction. Its equivalent limit-state value preserves the failure sign but is discontinuous, so it is generally not a smooth FORM/SORM limit state.

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.

getLimitState

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.

component_failure_masks(**kwargs)#

Return failure masks for each leaf component.

component_values(**kwargs)#

Evaluate all leaf component limit states.

Returns:

Mapping component names to their evaluated limit-state values.

Return type:

dict

Raises:

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

property components#

Flat tuple of all leaf components in the system.

evaluate(**kwargs)#

Evaluate the equivalent scalar system limit state.

failure_mask(**kwargs)#

Return a boolean mask where the system is failed.

getLimitState()#

Return the composed system as a Pystra LimitState.

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

iter_components()#

Yield all leaf components in the system.