Profile Configuration Reference
This page provides a complete reference for all options available in YAML profile files. Profiles control configuration for analysis, design, and simulation runs, including plotting options and reporting settings.
Profile Structure
A profile YAML file contains four main sections:
- reporting_options: Report generation settings
- rfad_plot_options: Reliability-based Failure Assessment Diagram settings
- lsf_plot_options: Limit State Function plot settings
- reliability_options: Reliability analysis, SORM, Monte Carlo, Importance Sampling, and optimization settings
Reporting Options
Options for saving analysis results and visualizations.
| Option | Type | Default | Description |
|---|---|---|---|
save_plots_to_pdf |
bool | true |
Whether to save all generated plots in PDF format |
save_plots_to_pickle |
bool | true |
Whether to save figure objects in pickle format for later retrieval and editing |
save_excel_summary |
bool | true |
Whether to save the numerical results summary to an Excel file |
Example:
reporting_options:
save_plots_to_pdf: true
save_plots_to_pickle: true
save_excel_summary: true
RFAD Plot Options
Options for Reliability-based Failure Assessment Diagram (RFAD) visualization.
| Option | Type | Default | Range/Values | Description |
|---|---|---|---|---|
n_x_points |
int | 30 |
[5, 60] | Number of grid points along the first variable axis |
n_y_points |
int | 29 |
[5, 60] | Number of grid points along the second variable axis |
plot_beta |
bool | true |
- | Whether to plot the safety index (reliability index beta) contours |
plot_alphas |
bool | true |
- | Whether to plot alpha values (normalized sensitivity factors) for each variable |
plot_base_point |
bool | true |
- | Whether to plot the base point (mean of input variables) on the diagram |
with_labels |
bool | true |
- | Whether to add text labels to the base point on the diagram |
ignore_axis_funcs |
bool | false |
- | Whether to ignore axis transformation functions and plot in original variable space |
view |
str or tuple | "auto" |
"auto", "default", "XY", "XZ", "YZ", "-XY", "-XZ", "-YZ" (case-insensitive) or tuple of 3 floats (elevation, azimuth, roll) in degrees |
View orientation for 3D perspective |
cmap |
str or list | "plasma" |
Valid matplotlib colormap name or list of shape (n, 4) with RGBA values in [0, 1] where 1 ≤ n ≤ 256 | Colormap specification |
type |
str | "surface" |
"contour", "surface" |
Plot visualization type |
Example:
rfad_plot_options:
n_x_points: 30
n_y_points: 29
plot_beta: true
plot_alphas: true
plot_base_point: true
with_labels: true
ignore_axis_funcs: false
view: "auto"
cmap: "plasma"
type: "surface"
LSF Plot Options
Options for Limit State Function (LSF) 3D visualization.
| Option | Type | Default | Range/Values | Description |
|---|---|---|---|---|
n_x_points |
int | 30 |
[5, 60] | Number of grid points along the first variable axis |
n_y_points |
int | 29 |
[5, 60] | Number of grid points along the second variable axis |
plot_base_point |
bool | true |
- | Whether to plot the base point (mean of input variables) on the LSF surface |
plot_failure_point |
bool | true |
- | Whether to plot the design point (Most Probable Point of Failure) on the LSF surface |
with_labels |
bool | true |
- | Whether to add text labels to the base and failure points |
ignore_axis_funcs |
bool | false |
- | Whether to ignore axis transformation functions and plot in original variable space |
view |
str or tuple | "auto" |
"auto", "default", "XY", "XZ", "YZ", "-XY", "-XZ", "-YZ" (case-insensitive) or tuple of 3 floats (elevation, azimuth, roll) in degrees |
View orientation for 3D perspective |
cmap |
str or list | "plasma" |
Valid matplotlib colormap name or list of shape (n, 4) with RGBA values in [0, 1] where 1 ≤ n ≤ 256 | Colormap specification |
type |
str | "surface" |
"contour", "surface" |
Plot visualization type |
Example:
lsf_plot_options:
n_x_points: 30
n_y_points: 29
plot_base_point: true
plot_failure_point: true
with_labels: true
ignore_axis_funcs: false
view: "auto"
cmap: "plasma"
type: "surface"
Reliability Options
Options for reliability calculations and related numerical settings. This section collects tolerances, algorithm choices, finite-difference settings, plotting flags, Monte Carlo controls and various checks used across FORM, SORM, inverse problems and design optimization routines.
FORM and Inverse FORM Settings
These settings apply to both FORM and Inverse FORM.
Optimization algorithm
Reliafy CLI does not use the traditional Hasofer-Lind Rackwitz-Fiessler (HL-RF) algorithm found in many reliability textbooks and commercial tools. Instead, FORM and Inverse FORM rely on scipy.optimize.minimize as the optimizer, using the method parameter set to "trust-constr" for smooth limit-state functions and "COBYQA" for non-smooth ones. This provides access to the full scipy minimizer feature set, including variable bounds and general constraints, which the classical HL-RF cannot handle.
| Option | Type | Default | Range | Description |
|---|---|---|---|---|
form_xtol |
float | 0.0001 |
[1e-8, 1e-2] | Tolerance for FORM termination (variable changes) |
form_gtol |
float | 0.0001 |
[1e-8, 1e-2] | Tolerance for FORM termination (Lagrangian gradient norm changes) |
form_maxiter |
int | 1000 |
[1, ∞) | Maximum iterations for FORM |
form_random_start |
bool | false |
- | Use a random starting point for FORM |
form_seed |
int or null | null |
- | Random seed for FORM/Inverse FORM random starts |
Design Optimization Settings
| Option | Type | Default | Range | Description |
|---|---|---|---|---|
design_xtol |
float | 0.001 |
[1e-8, 1e-2] | Tolerance for design optimization termination (variable changes) |
design_gtol |
float | 0.001 |
[1e-8, 1e-2] | Tolerance for design optimization termination (Lagrangian gradient norm changes) |
design_maxiter |
int | 1000 |
[1, ∞) | Maximum iterations for design optimization |
design_random_start |
bool | false |
- | Use a random starting point for design optimization |
design_seed |
int or null | null |
- | Random seed for design optimization random starts |
General Reliability Settings
| Option | Type | Default | Values | Description |
|---|---|---|---|---|
alpha_direction |
str | "outward" |
"outward", "inward" |
Direction convention for the alpha vector |
use_nearest_correlation |
bool | false |
- | Controls fallback behavior when Cholesky decomposition of the correlation matrix fails. If false, the run stops with an error. If true, Reliafy attempts to replace the matrix with a nearest positive semidefinite (PSD) correlation matrix using the method in Higham and Strabić (2011). |
qn_epsilon |
float | 1e-8 |
[1e-8, 1e-2] | Tolerance used by the quasi-Newton SR1 (Symmetric Rank 1) update when sor_fit_method is set to SR1 |
SORM Settings
| Option | Type | Default | Values | Description |
|---|---|---|---|---|
sor_method |
str | "SOSPA_H" |
"Breitung", "Tvedt3T", "TvedtSI", "TvedtDI", "Hohenbichler", "Koyluoglu", "ZhaoEmpirical", "SOSPA_L", "SOSPA_H", "IFFT" |
SORM method to use |
sor_approximation |
str | "Paraboloid" |
"Paraboloid", "Taylor2" |
SORM approximation type |
sor_fit_method |
str or null | null |
"FiniteDiff", "ZhaoPF", "Kiureghian", "SR1", "AnalyticAll", null (auto) |
Method for SORM limit state function fitting |
sor_fit_delta_factor |
float | 1.0 |
[0.1, 10.0] | Factor used to scale the method-recommended delta when numerically estimating SORM fit parameters for ZhaoPF and Kiureghian methods |
sor_fdm |
str | "forward" |
"central", "forward", "backward" |
Finite-difference method for gradient and Hessian (used when sor_fit_method is FiniteDiff) |
sor_fdm_hess_form |
str | "full" |
"full", "diagonal" |
Hessian form for finite-difference approximation (used when sor_fit_method is FiniteDiff) |
force_curvatures |
bool | false |
- | Force curvature computations even if not strictly required by selected SORM options |
SORM References
Use these references as starting points for method details and derivation nuances. Keep in mind that explanations on this page are intentionally brief and implementation-focused.
sor_method
"Breitung": Breitung, K. (1984). "Asymptotic approximations for multinormal integrals." J. Eng. Mech., ASCE, 110(3), 357–366. →"Tvedt3T","TvedtSI","TvedtDI": Although not the original reference, Der Kiureghian, A., Lin, H.-Z., and Hwang, S.-J. (1987) provides a thorough description of these methods in Appendix I — "Second-order reliability approximations." J. Eng. Mech., ASCE, 113(8), 1208–1225. →"Hohenbichler": Hohenbichler, M., and Rackwitz, R. (1988). "Improvement of second-order reliability estimates by importance sampling." J. Eng. Mech., ASCE, 114(12), 2195–2199. →"Koyluoglu": Köylüoğlu, H. U., and Nielsen, S. R. K. (1994). "New approximations for SORM integrals." Structural Safety, 13(4), 235–246. →"ZhaoEmpirical": Zhao, Y.-G., and Ono, T. (1999a). "New approximations for SORM: Part 1." J. Eng. Mech., ASCE, 125(1), 79–85. →"SOSPA_L","SOSPA_H":- Hu, Z., and Du, X. (2018). "Saddlepoint approximation reliability method for quadratic functions in normal variables." Structural Safety, 71, 24–32. →
- Du, X., and Sudjianto, A. (2004). "A saddlepoint approximation method for uncertainty analysis." Proc. ASME IDETC/CIE 2004, Paper DETC2004-57269, pp. 445–452. →
- Additional SOSPA reference
"IFFT":- Zhao, Y.-G., and Ono, T. (1999b). "New approximations for SORM: Part 2." J. Eng. Mech., ASCE, 125(1), 86–93. →
- Tvedt, L. (1990). "Distribution of quadratic forms in normal space—application to structural reliability." J. Eng. Mech., ASCE, 116(6), 1183–1197. →
- Der Kiureghian, A., Lin, H.-Z., and Hwang, S.-J. (1987). "Second-order reliability approximations." J. Eng. Mech., ASCE, 113(8), 1208–1225. →
sor_approximation
Paraboloid: Local quadratic fit of the failure surface at the design point, using principal curvatures.Taylor2: Second-order Taylor expansion of the limit-state function at the design point.- Reference: Tvedt, L. (1990). "Distribution of quadratic forms in normal space-application to structural reliability." J. Eng. Mech., ASCE, 116(6), 1183-1197. →
sor_fit_method
FiniteDiff: numerical differentiation tooling — numdifftoolsSR1: quasi-Newton symmetric rank-one update — Wikipedia: Symmetric rank-oneKiureghian: point-fitting procedure following Der Kiureghian, A. (2022). Structural and System Reliability. Cambridge University Press.ZhaoPF: point-fitting procedure — Zhao and Ono (1999a) above.AnalyticAll: uses user-provided analytic gradient and Hessian from the problem definition.null(auto): Reliafy selects the most appropriate fit strategy based on available problem information.
sor_fit_delta_factor
- Applies to
ZhaoPFandKiureghianfit methods as a scaling factor on the method-recommended point-fitting step size. Keep default unless Reliafy diagnostics suggest adjustment.
IFFT Settings (for IFFT-based SORM)
| Option | Type | Default | Range | Description |
|---|---|---|---|---|
ifft_std_domain |
float | 16.0 |
[2, 24] | Standard deviations covered when computing IFFT of characteristic functions |
ifft_n |
int | 4096 |
[2^8, 2^16], powers of 2 | Number of points used in IFFT |
plot_ifft_funcs |
bool | true |
- | Generate diagnostic plots for IFFT operations |
SOSPA Settings (for SOSPA-based SORM)
| Option | Type | Default | Description |
|---|---|---|---|
plot_sospa_funcs |
bool | true |
Generate diagnostic plots for SOSPA characteristic functions and derivatives |
Derivative Checking
These options validate user-provided derivatives against numerical finite differences.
| Option | Type | Default | Values | Description |
|---|---|---|---|---|
check_lsf_diffs_wrtx |
bool | false |
- | Validate user-provided LSF derivatives against numerical diffs w.r.t. real-space variables |
check_lsf_diffs_wrtu |
bool | true |
- | Validate user-provided LSF derivatives against numerical diffs w.r.t. standard-normal (U-space) variables |
lsf_diffs_check_method |
str | "forward" |
"central", "forward", "backward", "complex" |
Method for LSF derivative checks |
check_varscf_diffs_wrtx |
bool | false |
- | Validate user-provided stochastic variables constraints (real-space) |
check_varscf_diffs_wrtu |
bool | true |
- | Validate user-provided stochastic variables constraints (U-space) |
varscf_diffs_check_method |
str | "forward" |
"central", "forward", "backward", "complex" |
Method for stochastic variables constraint derivative checks |
check_dof_diffs |
bool | true |
- | Validate user-provided design objective function derivatives against numerical diffs |
dof_diffs_check_method |
str | "forward" |
"central", "forward", "backward", "complex" |
Method for design objective function derivative checks |
check_dcf_diffs |
bool | true |
- | Validate user-provided design constraint function derivatives against numerical diffs |
dcf_diffs_check_method |
str | "forward" |
"central", "forward", "backward", "complex" |
Method for design constraint function derivative checks |
Monte Carlo Settings
| Option | Type | Default | Range | Description |
|---|---|---|---|---|
mc_n |
float or null | null |
[1e3, 1e8] or null (auto) |
Monte Carlo sample size (null means automatic) |
mc_max_cv |
float | 0.05 |
[0.01, 1.0] | If mc_n is null, MC runs in cycles until the estimated failure-probability CV is <= mc_max_cv |
mc_seed |
int or null | null |
- | Random seed for Monte Carlo simulations; set a value for repeatable results, or leave as null to allow small run-to-run differences |
mc_remove_oob |
bool | true |
- | Remove out-of-bounds samples during MC simulation (bounds or constraint violations) |
Importance Sampling Settings
| Option | Type | Default | Values/Range | Description |
|---|---|---|---|---|
is_method |
str | "kde" |
"kde", "mixture", "mcmc", "mpp_normal" |
Importance sampling proposal method |
is_kde_bandwidth |
str or float | "scott" |
"scott", "silverman" or positive float |
Bandwidth selection method for KDE or numeric value |
is_mixture_components |
int | 6 |
[1, 16] | Number of mixture components for mixture IS methods |
is_mixture_cov_type |
str | "full" |
"full", "tied", "diag", "spherical" |
Covariance type for mixture IS methods |
is_fit_samples |
int | 2000 |
[100, 100000] | Number of samples to collect for fitting the proposal distribution (for KDE and mixture IS) |
MCMC Importance Sampling Settings
| Option | Type | Default | Range | Description |
|---|---|---|---|---|
is_mcmc_chains |
int | 5 |
[1, 100] | Number of parallel Metropolis chains to run during MCMC proposal fitting; a practical starting point is about 2 times the number of stochastic variables |
is_mcmc_chain_length |
int | 500 |
[100, 10000] | Length of each MCMC chain during proposal fitting |
is_mcmc_thinning |
int | 3 |
[1, 100] | Number of samples skipped between retained samples in each MCMC chain during proposal fitting |
is_mcmc_burnin |
int | 200 |
[100, 1000] | Number of samples to discard as burn-in during MCMC proposal fitting |
is_mcmc_fit_method |
str | "kde" |
"kde", "mixture" |
Method used to fit the MCMC proposal distribution |
IS References
Use these references as starting points for method details and implementation background. Keep in mind that explanations on this page are intentionally brief and implementation-focused.
is_method: "kde"
KernelDensityfrom scikit-learn — sklearn.neighbors.KernelDensity. Bandwidth selection follows theis_kde_bandwidthoption ("scott"or"silverman"rules, or a numeric value).
is_method: "mixture"
BayesianGaussianMixturefrom scikit-learn — sklearn.mixture.BayesianGaussianMixture. Number of components and covariance type are controlled byis_mixture_componentsandis_mixture_cov_type.
is_method: "mcmc"
- Xiao, S., and Nowak, W. (2022). "Reliability sensitivity analysis based on a two-stage Markov chain Monte Carlo simulation." Aerospace Science and Technology, 130, 107938. →
- Cotter, S. L., Roberts, G. O., Stuart, A. M., and White, D. (2013). "MCMC methods for functions: modifying old algorithms to make them faster." Statistical Science, 28(3), 424–446. →
- Roberts, G. O., and Rosenthal, J. S. (2007). "Coupling and ergodicity of adaptive Markov chain Monte Carlo algorithms." Journal of Applied Probability, 44(2), 458–475. →
is_method: "mpp_normal"
- Centers the importance sampling proposal distribution on the Most Probable Point (MPP), also called the design point or failure point. The MPP is the point on the limit-state surface closest to the origin in standard normal space, found by FORM. A Gaussian proposal centered there concentrates samples near the dominant failure region. See the FORM method and the textbooks listed on the home page.
Example:
reliability_options:
# FORM
form_xtol: 0.0001
form_gtol: 0.0001
form_maxiter: 1000
form_random_start: false
form_seed: null
# Design
design_xtol: 0.001
design_gtol: 0.001
design_maxiter: 1000
design_random_start: false
design_seed: null
# General
alpha_direction: "outward"
use_nearest_correlation: false
qn_epsilon: 1e-8
# SORM
sor_method: "SOSPA_H"
sor_approximation: "Paraboloid"
sor_fit_method: null
sor_fit_delta_factor: 1.0
sor_fdm: "forward"
sor_fdm_hess_form: "full"
force_curvatures: false
# IFFT
ifft_std_domain: 16.0
ifft_n: 4096
plot_ifft_funcs: true
# SOSPA
plot_sospa_funcs: true
# Derivative checking
check_lsf_diffs_wrtx: false
check_lsf_diffs_wrtu: true
lsf_diffs_check_method: "forward"
check_varscf_diffs_wrtx: false
check_varscf_diffs_wrtu: true
varscf_diffs_check_method: "forward"
check_dof_diffs: true
dof_diffs_check_method: "forward"
check_dcf_diffs: true
dcf_diffs_check_method: "forward"
# Monte Carlo
mc_n: null
mc_max_cv: 0.05
mc_seed: null
mc_remove_oob: true
# Importance Sampling
is_method: "kde"
is_kde_bandwidth: "scott"
is_mixture_components: 6
is_mixture_cov_type: "full"
is_fit_samples: 2000
is_mcmc_chains: 5
is_mcmc_chain_length: 500
is_mcmc_thinning: 3
is_mcmc_burnin: 200
is_mcmc_fit_method: "kde"
Notes
- Enum-style fields accept either the enum member name (case-insensitive) or the enum value
- Out-of-range or invalid values trigger a profile validation error
- Set
form_seed,design_seed, and/ormc_seedto a non-null integer for repeatable runs when random number generation is involved