pystra.reliability.system_form.SystemFORM#
Use it: User guide · Worked example · Theory
- class SystemFORM(model, system, *, options=None, on_failure='raise', 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 transformation into independent normal coordinates, including the same Rosenblatt order. Homogeneous nested series/parallel systems are flattened; mixed topologies are rejected. Use original-system Monte Carlo for general topologies.
- Parameters:
model (
StochasticModel) – Shared variables, constants and dependence model.system (
SeriesSystem|ParallelSystem) – System failure event.options (
FORMOptions|None) – Component FORM settings. DDM gradients must use full model ordering.on_failure (
Literal['raise','return']) – On a component’s nonconvergence or a failed integration, raiseAnalysisError, which carries the unconverged record in.result, or return that record.maxpts (
int) – Maximum integration points per multivariate normal CDF call.abseps (
float) – Requested absolute and relative integration tolerances. These are numerical targets, not certified error bounds or FORM model errors.releps (
float) – Requested absolute and relative integration tolerances. These are numerical targets, not certified error bounds or FORM model errors.
Notes
run()returns aSystemFORMResultwith each component’s FORM record, the correlation of the linearized normal scores (neither the physical-variable nor the binary-failure correlation), the bounds on the linearized event and the pairwise intersections.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
Initialize the model's isoprobabilistic transformation.
Run each unique component once, then integrate the system event.
- run()[source]#
Run each unique component once, then integrate the system event.
Returns a
SystemFORMResult.- Return type:
- init_run()#
Initialize the model’s isoprobabilistic transformation.
Uses the explicit copula or calibrates the legacy Gaussian Nataf correlation. Must be called at the start of every
run()method in subclasses.- Return type:
None