Example: Using Custom Reliability Outputs to Report Throughput Calculations

In some cases, to make your model logic more transparent, you may want to define your own “custom” outputs for a Reliability element.  These outputs can be functions of local properties of the Reliability element itself (e.g., it’s Status), or, if the element is being modeled as a system, they may be outputs (or functions of outputs) of elements inside the Reliability element (e.g., a throughput if the element represented some processing step).

To facilitate this, GoldSim allows you to create these custom outputs via an Output Interface Definition section on the Results tab of Reliability elements.

The model file Throughput.gsm, found in the Reliability Examples folder in your GoldSim directory directory (accessed by selecting File | Open Example... from the main menu), provides an example of such an application.     

The model is of a process tank where materials from a prior process are mixed with a catalyst.   The product of the chemical reaction between the components is then pumped out of the tank.   The chemicals involved tend to "foul" the tank and other components with deposits as the process is running.   This reduces throughput from nominal by a rate of 10% for every year since a preventative maintenance event was undertaken.  

The tank is also equipped with an agitator that increases throughput (by mixing the three components more thoroughly).   The process will still produce product if the agitator fails, but at a much lower rate.   The agitator is replaced during a yearly preventative maintenance event if it has failed. 

Child elements within the parent element (i.e., the Tank) are used to represent the behavior of the pumps.  The intake, exhaust and catalyst pumps must all be functional for the process to be successful.  The Tank itself has two failure modes (a fatal, structural failure mode, and a non-fatal failure mode for the agitator) plus a preventative maintenance event triggered at the start of each year. 

Within the parent element, in addition to the three pumps, there are two elements that track the degree of fouling, as well as the throughput:

The Throughput is computed as a function of the fouling losses and the current operating state of the system.  In particular, if the Tank has fatally failed (due to a pump failure, or a structural failure), the throughput is zero.  If only the agitator has failed, the throughput is reduced by 50%.  If there are no failures, the throughput is the design throughput for the process.

The output is referenced directly as an output of the Tank element (as “Process_Tank.Throughput”), and a single realization is plotted below:

A screenshot of a social media post

Description automatically generated

As can be seen, the throughput starts at 500 l/hr, slowly decreases due to fouling, occasionally decreases by 50% due to agitator failure, and sometimes goes to zero, due to either fatal failures or preventive maintenance. A preventive maintenance returns the throughput to 500 l/hr.

Related Topics…

Learn more about: