Quantitative Risk Analysis Using Simulation
In a previous issue of Reliability HotWire, we discussed how one can perform risk analysis by using fault trees to calculate the probability of occurrence of any severe system-level effect. The process involved building a fault tree in BlockSim from an effect that appeared in multiple FMEAs in Xfmea.
In this article, we will take this risk analysis one step further by using the probability of occurrence of an effect as calculated by the fault tree to investigate the probability of observing other outcomes of interest. We will do this by taking advantage of the new integrated interface between the Synthesis versions of BlockSim and RENO. As we will see, the analysis performed in RENO will essentially resemble an event tree analysis that is commonly performed in safety engineering.
Assume that we are developing a new chandelier. In Xfmea, we have created the system hierarchy and the FMEAs for the critical components, as shown in the following figure.
Fire is one of the possible effects that appear in our FMEAs. Assume that we want to further investigate the probability of a fire event given the occurrence scales that we’ve specified for the underlying causes. To do this, we can build a fault tree in BlockSim by choosing Insert > Build from Synthesis > Build Effect FTs from Synthesis. We then enter "fire" as the criterion to filter the effects, as shown in the following figure.
We select all the effects and generate the fault tree. The next figure shows the resulting fault tree, along with the calculated probability of occurrence of fire at 5,000 hours of operation.
Now assume that we want to investigate the probability of observing other outcomes given the presence of fire. To do this, we first publish a single reliability model for the fault tree by choosing Analysis > Share > Publish Analytical Model. We name the model "Fire_FT."
Next, we manually create a flowchart in RENO that leads to outcomes such as "House burned," "Water damage," "Injuries" or "No damage." For this example, let's use the following assumptions:
- If a fire occurs, there is a 20% chance of someone noticing the fire.
- If the fire goes unnoticed, there is a 95% chance that the alarm system will be activated.
- If activated, there is a 90% chance that the fire station will receive the alert.
- If the fire station receives the alert, there is a 90% chance that the fire truck will get to the scene on time.
- If all else fails, there is a 90% chance that the sprinklers will work.
The following figure shows the flowchart that models the problem.
The first block — named "Thermal Event"— represents the probability of a fire. We set the block to calculate the probability of fire at 5,000 hours based on the Fire_FT model, as shown next.
The next block — named "Noticed?" — is a binary node that calculates the probability of someone noticing the fire ("true" path) and the probability of the fire going unnoticed ("false" path). In this case, the output for the "true" path is the incoming value multiplied by the probability of someone noticing the fire (0.2 or 20%), and the output of the "false" path is the incoming value multiplied by the complement of that probability value (0.8 or 80%).
The rest of the binary nodes in the flowchart ("Alarm Activated," "Sprinkler Activated," etc.) work in a similar manner using the given assumptions.
Finally, the end outcomes are modeled using result storage blocks. As an example, the following picture shows the properties for the "Injuries" outcome. In this case, the result storage block is configured to sum the number of times that injuries occurred and normalize the result (i.e., divide the sum by the total number of simulations).
Now if we simulate the flowchart, it will estimate the probability of each possible outcome, as shown next.
The probability of each outcome is calculated by multiplying the probability of fire by the probabilities that lead to the outcome. In the "Injuries" outcome, for example, the probabilities that lead to this outcome are as follows:
- 0.8 probability that the fire goes unnoticed
- 0.05 probability that alarm system failed
- 0.1 probability that sprinkler failed
Therefore, the probability of injuries given the fact that a fire has started is 0.004 or 0.4%. The following table shows a summary of the probability of each outcome given the presence of fire.
|Outcome||Probability of Occurrence Given the Presence of Fire|
Based on the Fire_FT model, the probability of fire is 0.017365 or 1.7365%. If we multiply this value by the probability of injuries given the presence of fire (0.004 or 0.4%), the result would be 0.000069 or 0.0069%. This is similar to the result shown in the RENO flowchart.
The results shown in the flowchart can also be presented as a bar chart, as shown next.
So far, we've dealt with fixed probabilities for each event. However, one might want to investigate what the effect of each probability is on the final outcomes. This can be done by using sensitivity analysis, where we vary the probability of occurrence of one or two events multiple times and simulate each case to obtain the probability of occurrence of the outcomes.
The following picture shows the RENO simulation window with the sensitivity analysis settings. In this example, we vary the probability that the sprinkler will work between 70% and 90%, and the probability that the alarm will be activated between 70% and 95%.
Once the simulations are complete, the Simulation Results Explorer will show the resulting probabilities for each outcome. For example, the following table shows the results for the "Injuries" outcome given different probabilities of the Alarm or Sprinkler being activated.
For example, if the probability of the sprinkler being activated is 70% (compared to 90% in the original example) and the probability of the alarm being activated is 80% (compared to 95% in the original example) then the probability of injuries is 0.0834% (compared to 0.0069% in the original example).
In this article we illustrated how to perform risk analysis using simulation in RENO. We first created a fault tree using the causes of multiple FMEAs within a system hierarchy that lead to a specific undesirable effect. We then used the probability of occurrence of that effect as the starting block of a flowchart in RENO in order to calculate the probability of occurrence of other outcomes. Finally, we performed sensitivity analysis in order to investigate the effect of specific assumptions on those outcomes.