Performs a probabilistic damage tolerance analysis using explicit Monte Carlo sampling

Share:

Description

The main focus of the crackR package is on the sequential importance sampling approach to probabilistic damage tolerance analysis. As part of the work creating that approach, an explicit sampling routine was created for validation of results. It proceeds by repeatedly simulating the life cycle, flight-by-flight, and finding the first flight to failure for each trial. This approach requires many millions of samples to yield useful SFPOF estimates, but provided a sanity check for the results of the sequential importance sampling routine. Scheduled inspections may be included. If there are no scheduled inspections, the user may utilize importance sampling to set the initial state and drastically speed up convergence of the SFPOF estimates. The parameters for running this analysis are the same as those of the sequential importance sampling routine.

Usage

1
2
3
4
5
6
7
crackRmc(parameters)
## S3 method for class 'Sing'
crackRmc(parameters)
## S3 method for class 'Mult'
crackRmc(parameters)
## S3 method for class 'CD'
crackRmc(parameters)

Arguments

parameters

Object of class parametersSing, parametersMult, or parametersCD (or a list that looks like one of these classes, which are simply lists themselves.)

Details

Several items in the input list of parameters are either specific to the explicit MC approach, or important for it. ismc.bool indicates whether importance sampling should be used to set the initial state, in which case the function will look for, for example, the distribution sampling function ifs.rsamp to set the initial state instead of ifs.ractual. Np is the number of trials in this case; be warned, millions will take a VERY long time, so I suggest starting with 1,000 to check the speed on your machine. For a detailed description of each input parameter, see the provided examples (cp4).

Value

A crackRresults object, along with an additional list of the raw data from the MC run for later re-processing.

Note

This function could benefit strongly from parallelization, so let me know if you intend to use this function and we can probably get that going.

Author(s)

Keith Halbert <keith.a.halbert@gmail.com>

References

Halbert, K. "Estimation of Probability of Failure for Damage-Tolerant Aerospace Structures" PhD Thesis, Temple University Department of Statistics, Philadelphia, PA, Apr 2014

See Also

crackRmc

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
data(cp7ext)
cp7ext.ismc <- cp7ext
## importance sampling run (much faster)
cp7ext.ismc$ismc.bool <- TRUE
## this is very few samples for demo only
cp7ext.ismc$Np <- 2000
## only one inspection interval may be included with importance sampling
cp7ext.ismc$inspections <- data.frame(flt.interval=3000, type=1)
## set a low SFPOF minimum so we can see results
cp7ext.ismc$sfpof.min <- 1e-30
out.ismc <- crackRmc( cp7ext.ismc )
plot(out.ismc)