Skip to content

Analyze Example: AT610 (-s -m)

This page documents a full analysis example driven by a custom problem file and includes the extracted tables from the generated Excel summary.

Note: Table values are rounded to 4 significant figures for readability. Very small/large values use scientific notation. Refer to the linked Excel/JSON artifacts for full precision. Note: Advanced solver diagnostics (for example lsf_mult and bnds_mult Lagrange multipliers) are listed in the Excel/JSON artifacts and are intentionally omitted from the tables below for readability.

Run Context

Problem module:

  • problems/AT610Problem.py

Recorded result set:

  • results/2026-03-15/14-26-51/AT610-5abe5.xlsx
  • results/2026-03-15/14-26-51/AT610-5abe5.json
  • results/2026-03-15/14-26-51/profile-5abe5.yaml

For your own runs, use the same naming pattern under a different timestamped folder:

  • results/<YYYY-MM-DD>/<HH-MM-SS>/<ProblemName>-<suffix>.xlsx
  • results/<YYYY-MM-DD>/<HH-MM-SS>/<ProblemName>-<suffix>.json
  • results/<YYYY-MM-DD>/<HH-MM-SS>/profile-<suffix>.yaml

Note: <YYYY-MM-DD>/<HH-MM-SS> and <suffix> are generated per run and will differ on your machine.

Profile and run mode from saved profile:

  • Profile used: default
  • run_type: analyze
  • include_sorm: true
  • include_mc: true
  • mc_with_is: false

Results path/ID convention used in this example:

  • Results are saved under results/<YYYY-MM-DD>/<HH-MM-SS>/ (date and time subfolders).
  • Each run gets a new random request ID, so the exact ID changes every time the analysis is run.
  • Output files include the last 5 digits of that request ID in their names.

Equivalent command shape:

python -m reliafy analyze <profile> -s -m

Option meaning in this command:

  • -s enables SORM (second-order reliability analysis).
  • -m enables Monte Carlo simulation.

Profile Customization

This example uses the default profile, but these options are configurable. See ../profile-reference.md.

  • SORM behavior: reliability_options.sor_method, sor_approximation, sor_fit_method, sor_fdm.
  • Monte Carlo behavior: reliability_options.mc_n, mc_max_cv, mc_seed, mc_remove_oob.
  • Run toggles in analyze mode: run_configuration.include_sorm, include_mc, mc_with_is.

Problem File Used

Source: Ang, A. H-S. and Tang, W. H., Probability Concepts in Engineering Planning and Design, Vol. II, Wiley, 1990, p. 368, Problem 6.10.

AT610Problem.py defines:

  • Stochastic variables: Y, Z, M
  • Distributions: lognormal, lognormal, gumbelmax
  • Correlation: corr(Y, Z) = 0.4
  • Limit state:
  • R = Y * Z
  • L = M
  • g = R - L

Extracted Results Worksheet Tables

The tables below are transcribed from the Results worksheet in AT610-5abe5.xlsx.

Header Information

Field Value
Problem AT610
Request ID 726e0fa551e94093aa14f99b3d55abe5
Run time 00 min 01.58 sec

FORM Results

| beta | pf | beta_count | hbeta_count | lsf_count | glsf_count | hlsf_count | nit | min_tries | min_method | lsf_mult | |---:|---:|---:|---:|---:|---:|---:|---:|---:|---| | 2.664 | 0.003857 | 15 | 15 | 7 | 6 | 6 | 10 | 1 | tr_interior_point |

SORM Results

beta pf lsf_class sor_method sor_approx sor_fit_meth lsf_count
2.649 0.004035 Hyperboloid SOSPA_H Taylor2 AnalyticAll 0

SORM LSF Fit Parameters

sospa_a sospa_b sospa_c
319.3 -102.9 -67.66
1.933e-12 1.552e-14
-295.0 18.55

SOSPA Diagnostics

at_mean ts wh uh E3 E4 E5
False -0.005182 -2.446 -3.848 -1.533 3.633 -10.82

Stochastic Variable Inputs and FORM Failure Point Outputs

Input definitions (var_type, moments/parameters, and bounds):

var_name var_type mean std param1 param2 lb ub truncated
Y LogNormal 40 5 3.681 0.1245 0 inf False
Z LogNormal 50 2.5 3.911 0.04997 0 inf False
M GumbelMax 1000 200 910.0 155.9 -inf inf False

FORM output values at the failure point (x, z, u, alpha, importance):

var_name x z u alpha importance
Y 33.78 -1.294 -1.294 -0.4857 -0.4307
Z 47.75 -0.8947 -0.4097 -0.1538 -0.1728
M 1613 2.293 2.293 0.8605 0.8858

User-Defined Correlation Inputs

var 1 var 2 cor_x cor_z
Y Z 0.4 0.4013

Monte Carlo Results

beta pf cv max_cv size %_removed cycles auto_size mc_with_is
2.664 0.003857 0.02934 0.05 300000 0 3 True False

Monte Carlo Variable Statistics and Correlations

var_name mean std %_oob cor_x row Y Z M
Y 40.01 5.009 0 Y 1.0 0.3967 -0.002751
Z 50.0 2.503 0 Z 0.3967 1.0 -0.00192
M 1001 200.4 0 M -0.002751 -0.00192 1.0

Notes Reported by Reliafy

  1. Validation: Stochastic variables definition and limit state function validation required 8 function calls.
  2. Validation: SORM sor_fit_method was changed from null to AnalyticAll because the LSF returns both gradient and Hessian and is compatible with the other reliability options.
  3. Validation: Validation of the limit state function's analytic gradient and Hessian required 34 function calls.
  4. FORM: Active bound multipliers reported for Y, Z, and M. If large relative to Beta (2.664), try truncating the statistical distributions and check if the reliability index changes significantly.
  5. Monte Carlo: Completed 3 cycles with 1.00e+05 samples per cycle.

Interpretation Snapshot

  • FORM and SORM are close (beta ~ 2.664 vs 2.649), which is typically expected for a smooth, mildly nonlinear limit state.
  • Monte Carlo estimate (beta ~ 2.664) is consistent with FORM/SORM and has acceptable precision (cv ~ 0.0293 < 0.05).
  • The sampled correlation matrix reproduces the intended Y-Z correlation (target 0.4, observed 0.397).

Generated Figures

The PDF result file for this run is saved as results/2026-03-15/14-26-51/AT610-5abe5.pdf. That PDF is composed of vector-based pages rather than embedded raster images, so the figures below are rendered from each PDF page and saved under docs/problem-authoring/images/.

Figure 1: Importance Factors

AT610 importance factors

Figure 2: SOSPA Fit Functions

AT610 SOSPA fit functions

Figure 3: Monte Carlo Histogram for Y

AT610 Monte Carlo histogram for Y

Figure 4: Monte Carlo Histogram for Z

AT610 Monte Carlo histogram for Z

Figure 5: Monte Carlo Histogram for M

AT610 Monte Carlo histogram for M

Figure 6: Histogram of Limit State Function Values

AT610 histogram of limit state function values

Figure 7: Histogram of Load and Resistance Values

AT610 histogram of load and resistance values

Reproducing This Example

  1. Ensure AT610Problem.py exists in problems/.
  2. Run an analyze profile with SORM and MC enabled.
  3. Open the timestamped folder under results/<date>/<time>/.
  4. Use *.xlsx (Results worksheet) for tabular summaries and *.json for machine-readable values.

For this run specifically:

  • Folder path: results/2026-03-15/14-26-51/
  • Request ID: 726e0fa551e94093aa14f99b3d55abe5
  • Last-5 suffix used in file names: 5abe5