pystra.system_form.SystemFORM#
- class SystemFORM(system, stochastic_model, analysis_options=None, *, maxpts=1000000, abseps=1e-10, releps=1e-05)[source]#
Bases:
AnalysisObjectApproximate a series or parallel system using component tangent planes.
All components use the same complete stochastic model and Nataf transform. Homogeneous nested series/parallel systems are flattened; mixed topologies are rejected. Use original-system Monte Carlo for general topologies.
- Parameters:
system (SeriesSystem or ParallelSystem) – System failure event.
stochastic_model (StochasticModel) – Shared variables, constants and dependence model.
analysis_options (AnalysisOptions, optional) – Component FORM settings. DDM gradients must use full model ordering.
maxpts (int, optional) – Maximum integration points per multivariate normal CDF call.
abseps (float, optional) – Requested absolute and relative integration tolerances. These are numerical targets, not certified error bounds or FORM model errors.
releps (float, optional) – Requested absolute and relative integration tolerances. These are numerical targets, not certified error bounds or FORM model errors.
- component_results#
Component names mapped to completed Form objects (beta, alpha, design points and convergence residuals).
- Type:
dict
- correlation#
Correlation of linearized normal scores, alpha @ alpha.T. This is neither the physical-variable nor binary-failure correlation matrix.
- Type:
ndarray
- bounds#
Ditlevsen bounds for a series system; marginal/Frechet bounds for a parallel system. These bound the linearized event only.
- Type:
tuple
- intersections#
Pairwise failure probabilities of the component tangent planes.
- Type:
ndarray
Notes
Exact up to integration error for affine limit states in standard normal space. Nonlinear components remain first-order approximations, and FORM can find a local rather than global design point. Normal integration may vary between runs; tight tolerances do not certify rare-tail accuracy.
Methods
Return -Phi^-1(Pf), the equivalent system reliability index.
Return the system FORM probability after a successful run.
Initialise the Nataf transformation before the analysis loop.
Run each unique component once, then integrate the system event.
Print the approximation and bounds for its linearized event.
- init_run()#
Initialise the Nataf transformation before the analysis loop.
Computes the modified (Nataf) correlation matrix and its factorisation. Must be called at the start of every
run()method in subclasses.