pystra.systems.KOfNSystem#
Use it: User guide · Worked example · Theory
- class KOfNSystem(children, k, name=None)[source]#
Bases:
SystemA system that fails when at least
kchild events fail.- Parameters:
children (
Iterable[Component|System|LimitState|Callable[...,Any]]) – Child components or subsystems.k (
int) – Number of failed children required for system failure.name (
str|None) – 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
Return the composed system as a PySTRA
LimitState.Return failure masks for each leaf component.
Evaluate all leaf component limit states.
Evaluate the equivalent scalar system limit state.
Return a boolean mask where the system is failed.
Return the composed system as a PySTRA
LimitState.Yield all leaf components in the system.
- as_limit_state()#
Return the composed system as a PySTRA
LimitState.- Return type:
- 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.
- 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: