Reliability Analysis in SystemModeler 4.1
Explore the contents of this article with a free Wolfram SystemModeler trial. Today we are proud to announce the release of Wolfram SystemModeler 4.1. We will present some of the news in blog posts, beginning with this one, in which we will highlight the new reliability functionality.
We will illustrate this with an example, and you can try it out by downloading a trial version of SystemModeler and this example model, and a trial of the Wolfram Hydraulic library.
Most people probably have experiences with things they bought and liked, but that then suddenly failed for some reason. During the last few years we have both experienced this problem, including a complete engine breakdown in Johan’s car (the engine had to be replaced), and Jan’s receiver, which suddenly went completely silent (the receiver had to be sent in for repair and have its network chip replaced).
In both cases it caused problems for the customers (us) as well as for the producer. These are just a couple of examples, and we’re sure you have your own.
Consumer electronics, satellite systems, and flight systems all have different reasons for valuing reliability.
In general, a failure might imply warranty costs, like replacing the network chip of the receiver; huge complications in repairing, as for the car engine, or even more for a satellite; or even risk of human life, as with airplanes.
This raises the question how combining system simulation models with uncertainty quantification can be used to improve system reliability and functionality.
With the addition of system reliability analysis to SystemModeler, the reliabilities of systems can be computed from the reliabilities of the components. Let’s have a look.
Let’s start at the component level with a hydraulic pipe, and compute the probability that the hydraulic pipe fails:
Diagram for a pipe with normal operation, restricted operation, leaking operation, and blocked operation.
This is a relatively small and simple component, with three different failure modes: it can leak, it can be blocked, or it can be restricted.
Here’s a system incorporating three pipes in which we can examine the different failure modes:
A model with three pipes, one cylinder, and one pump. Pumping the fluid will lead to the cylinder pushing its rod out and a change of the measured position.
Fault detected! The measured position is not moving at all in the simulation with the blocked pipe.
By looking at what the simulation results should be compared to what they are, we can detect different failures and generate a list of candidates for what the culprit is. This is studied in the area of fault diagnosis and failure detection, which we won’t pursue here. In the remainder of this post, we’ll focus instead on the overall reliabilities of systems like these.
The pipe can be illustrated as a traditional fault tree, where failure in any of the leaf nodes results in system failure:
Fault tree for a pipe.
In the new Reliability view in SystemModeler, we can specify the lifetime distributions of the individual components:
The Reliability view in SystemModeler, where lifetime distributions are assigned to individual components.
Next we construct the fault tree for the pipe by specifying that a leak, or a restriction, or a blockage will lead to system failure:
Reliability view for a component with multiple lifetime distributions inside it. Here the fault tree is specified, by entering the Boolean expression for the configuration.
Now the fault tree is available for analysis in the Wolfram Language:
The WSMModelReliability function can return a FailureDistribution (when using a fault tree), a ReliabilityDistribution (when using a reliability block diagram), or the lifetime distribution of a component. The traditional way to illustrate the reliability of components or systems is by using the SurvivalFunction, which describes the probability that the system works at time t. For one pipe, it looks like this:
This distribution behaves as any probability distribution in the Wolfram Language. More than 30 properties can be computed from it, for example, the conditional probability that the pipe will last for longer than 20,000 hours given that it worked at 10,000 hours:
(The sign is the Conditioned operator, and is the Distributed descriptor. The code above could be read out as: “The probability that a basic pipe still works after 20,000 hours if it worked for the first 10,000 hours”.)
Systems are, of course, made up of many pipes. Here is the schematic for the hydraulic power plant of a Cessna aircraft flap system, which incorporates several basic pipe components:
The hydraulic power plant of a Cessna aircraft flap system, with one tank, two pumps, multiple valves, and fifteen pipes.
SystemModeler automatically detects that the pipes in the power plant have reliability annotations and can compute the reliability of the entire system from them. The first question we’ll ask is how much worse will the reliability be for the hydraulic power system as compared to the individual pipe:
Comparison of the reliability of one pipe and the hydraulic power system.
We can see that a system with many pipes performs far worse than a single one, which is not completely unexpected. This is an illustration of the “weakest link” phenomenon: failure in one pipe will cause system failure.
If we look at the same components in the flap system of the aircraft, we see a similar story.
Next we put the hydraulic power plant and the flap system together (a total of 75 components). In SystemModeler this is as easy as specifying that we want “hydraulicPower and flaps”.
Reliability view for the full Cessna aircraft. Here the reliability distribution is specified using the two components “hydraulicPower” and “flaps”.
The reliability functions for the different parts of the system.
The reliability of the combined system is less than the reliabilities of the flap and hydraulic power subsystems, a property that generalizes to all systems and subsystems when using connections that depend on a single failure.
Finally, let us find out which components are most cost-effective to improve. The Wolfram Language includes nine different importance measure functions, starting from the very basic StructuralImportance and going to more advanced measures. Let’s find out which failure in the basic pipe to improve:
The improvement potential for the different failures in a pipe.
The improvement importance describes how much the system reliability would be increased by replacing a component with a perfect component. The improvement importance is a relative measure, so for a figure to make sense, it has to be put in context with the other components in the system. From the plot it’s clear that figuring out ways to avoid the pipe becoming restricted would improve the reliability for the system the most. We can do the same thing for the full system and compare the flap system to the hydraulic power system:
The improvement potential for the hydraulic power system is strictly higher than the flap system’s improvement potential.
From this plot we can learn a couple of things. First, it pays off more to improve the hydraulic power system compared to the flap system throughout the full lifetime of the system. Second, it actually pays off more and more as the ratio between the power plant and the flaps starts at 1.66 (hard to see in the plot, but easier when comparing the real numbers) and from there is strictly increasing. For example, at time 3,788h, when the hydraulic power plant has the highest value, the ratio between the two is 2.08, and at time 10,000h the ratio is 3.38.
Reliability analysis can show you where to concentrate your engineering effort to produce the most reliable products, estimate where failure will happen, and price warranties accordingly.
For more on what’s new in SystemModeler 4 as well as examples, free courses, and fully functional trial software, check out the SystemModeler website.
In a previous blog post, “Modeling Aircraft Flap System Failure Scenarios with SystemModeler,” the impact of an electrical failure was studied, and the blog post “Reliability Mathematics with Mathematica” gives an in-depth look on the reliability analysis functionality in Mathematica. Finally, in the free course “Modeling Safety-Critical Systems,” you can learn how component faults can be modeled and how their effect on system behavior can be simulated.