| SYS_PROB-class | R Documentation |
The SYS_PROB class represents a probabilistic system
consisting of one or more limit-state functions (SYS_LSF)
and a set of reliability algorithms (PROB_MACHINE).
It allows the execution of reliability analyses for serial or parallel systems, aggregation of single limit-state results, and system-level probability evaluation.
Each limit-state function may include multiple random variables
(PROB_BASEVAR) with different probability distributions.
The transformation between mean/standard deviation and the
native distribution parameters is handled automatically.
Normal ("norm"):
mean = \mu, standard deviation = \sigma.
Parameters: mean, sd.
Lognormal ("lnorm"):
defined by mean m and sd s.
Parameters:
\mu = \log\left( \frac{m}{\sqrt{1 + (s/m)^2}} \right),
\sigma = \sqrt{ \log\left( 1 + (s/m)^2 \right) }.
shifted Lognormal ("slnorm"):
defined by Mean m, Sd s and x0.
Parameters:
\mu = \log\left( \frac{m-x0}{\sqrt{1 + (s/(m-x0))^2}} \right),
\sigma = \sqrt{ \log\left( 1 + (s/(m-x0))^2 \right) }.
Gumbel ("gumbel", package "evd"):
location-scale type I extreme value distribution.
Parameters:
location = \mu - \gamma \cdot \beta,
where \gamma is the Euler-Mascheroni constant,
and
\beta = \frac{\sigma \sqrt{6}}{\pi}.
Gamma ("gamma"):
shape-scale parameterization.
Parameters:
k = \frac{\mu^2}{\sigma^2},
\theta = \frac{\sigma^2}{\mu}.
Exponential ("exp"):
rate \lambda or scale \theta = 1/\lambda.
Parameter:
\lambda = 1/\mu.
Beta ("beta"):
bounded on [0,1].
Parameters:
\alpha = \mu t,
\beta = (1 - \mu) t,
with
t = \frac{\mu (1-\mu)}{\sigma^2} - 1.
Weibull ("weibull"):
shape k and scale \lambda.
k is determined numerically from the coefficient of variation,
with the empirical approximation
k \approx \left( \frac{\sigma}{\mu} \right)^{-1.086}
as fallback,
\lambda = \frac{\mu}{\Gamma\left(1 + \frac{1}{k}\right)}.
Empirical ("emp"):
non-parametric distribution defined by observed sample.
Parameter: obs = numeric vector of observations.
The empirical CDF is constructed from the ordered sample.
Duplicate values are allowed but may trigger a warning.
Student t ("st"):
marginal density of a normal-gamma model describing uncertainty
in \mu and \sigma.
Hyperparameters:
(m, s, n, \nu).
Log-Student t ("lt"):
marginal density of a log-normal-gamma model describing uncertainty
in \mu and \sigma.
Hyperparameters:
(m, s, n, \nu).
The types '"binom"' and '"unif"' are reserved for future extensions. The package automatically checks consistency between mean, standard deviation and coefficient of variation.
Methods available in this class:
* '$runMachines()' - executes all solution algorithms for each limit state function. * '$calculateSystemProbability()' - computes system reliability using bounds or Monte Carlo based methods ('MC_IS', 'MC_CRUDE', 'MC_SubSam'). * '$printResults()' - prints a detailed report to console or file. * '$saveProject(level)' - saves results at different detail levels.
The class is built on setRefClass and therefore uses mutable fields.
All objects ('PROB_BASEVAR', 'SYS_LSF', ...) are expected to be already
**checked** (via the 'check()' method) before they are passed to 'SYS_PROB'.
sys_inputList of 'SYS_LSF' objects - the individual limit-state functions.
sys_typeCharacter string, '"serial"' or '"parallel"'. Used by 'calculateSystemProbability()'.
probMachinesList of 'PROB_MACHINE' objects - the analysis methods.
res_singleList of results per machine for each limit-state function.
res_sysList of results for the system-level reliability calculation.
beta_singleMatrix of \beta-values obtained from the single-problem analyses.
beta_sysMatrix of \beta-values obtained from the system reliability calculations.
params_sysList that stores the parameter sets used in Monte-Carlo runs.
debug.levelNumeric verbosity level (0 = silent, 1 = basic, 2 = detailed).
calculateSystemProbability(calcType = "simpleBounds", params = list())Calculates the system probability if more than one lsf is given and a system_type (serial or parallel) is set. If calcType is empty (or simpleBounds), only simple bounds are computed from the single results of runMachines() (the machines can be FORM, SORM, ...). If calcType is MCIS, an importance sampling method for systems is used (serial and parallel systems). If calcType is MCC, a crude Monte Carlo simulation of the system limit-state function is used. If calcType is MCSUS, subset simulation of the system limit-state function is used. A system analysis with FORM or SORM is not available. You can pass arguments to methods via the params field, while the argument has to be a named list (for example check the vignette).
printResults(path = "")TesiproV can create a report file with all the necessary data for you. If you provide a path (or filename, without ending) it will store the data there, otherwise it will report to the console. Set the path via setwd() or check it via getwd().
runMachines()Starts solving all given problems (sys_input) with all given algorithms (probMachines). First checks that all analysis methods are loaded before validating limit-state functions.
saveProject(level, filename = "tesiprov_project")You can save your calculation project with saveProject(). There are four different levels of detail to save 1st Level: Only the beta values 2nd Level: The result Objects of single or systemcalculation 3th Level: All The Probablity System Object, including limit state functions, machines and solutions 4th Level: An image of your entire workspace
(C) 2021-2026 K. Nille-Hauf, T. Feiri, M. Ricker, T. Lux – Hochschule Biberach (until 2022), TU Dortmund University - Chair of Structural Concrete (since 2023)
ps <- SYS_PROB(
sys_input = list(SYS_LSF(), SYS_LSF()),
probMachines = list(PROB_MACHINE()),
sys_type = "serial"
)
## Not run:
ps$runMachines()
ps$beta_sys
ps$res_sys
ps$printResults("example_1")
ps$saveProject(4, "example_1")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.