Impact Event

Overview and Key concepts

impact events are used to set random downtime and recovery times for (groups of) objects in the model. Each impact event can have any number of object members and each object can be influenced by more than one impact event. By default an impact event is a shutdown, but by setting the impact factor to a value greater than zero, the capacity can be reduced while the object remains partially functional. A model may contain any number of impact events. If multiple impact events apply to the same object simultaneously, their impact factors are multiplied. For example, if a production unit has an impact factor of 0.5 (reduce to 50% of normal capacity) and a processor in that production unit is also impacted by an impact event with an impact factor of 0.5, it will produce at 25% of its normal capacity until one or both events are lifted, at which point it will return to 50% or 100%, respectively. If an impact event applies to multiple objects, the impact factor function will be evaluated for each of them, even when individual breakdowns are disabled. Hence they may have different impact on different objects. Whether the duration of the impact is the same for all depends on the value of the individual breakdowns setting described below.

More advanced functionality includes specifying if all connected members will breakdown together, or if the breakdown times will be individually calculated for each. For example, you can specify whether all processors in a production unit will be affected simultaneously, for example when the input is restricted, or individually to simulate the case of a breakdown of a single unit. If you only want the connected members to go down while they are in a specific state, for example to prevent processors to breakdown while they are idle, this can be specified as well.

The Functions Tab

The following picklists can be fired individually for each object, or for all the objects together depending on the checked state of "Break down members individually" from the members tab.

First Failure Time

A value, statistical distribution or FlexScript function that determines how long after the simulation start the impact event will first occur.

Up Time

A value, statistical distribution or FlexScript function that determines the Mean Time To Failure for the objects controlled by this impact event. This function determines how long those objects will run before they are impacted. The Up Time differs slightly from the term MTTF (Mean Time To Failure) that you may be familiar with, in that it is specifically defined as the span between the time that the object resumes from its last impact event and the time that it starts its next one.

Down Time

A value, statistical distribution or FlexScript function that determines the down time for the objects controlled by this impact event. This function determines how long they will stay impacted before resuming normal operations again. All of the controlled objects will go back to their original states at the same time.

Impact factor

A value, statistical distribution or FlexScript function that determines the impact factor on the affected object. By default this is set to zero, meaning that an impacted object will go into shutdown. An impact factor of 1 represents normal operation. As shown in the screenshot above, you may also enter a function in order to generate a random impact factor according to a statistical distribution. Using the Code Button () you may enter custom FlexScript, which allows a more elaborate calculation which may be based on external functions or the impacted object; in addition it allows additional logging. Note that if you enter a statistical distribution here, the Impact Factor will be evaluated once for every member of the breakdown when Individual Breakdowns is enabled.

On Break Down

This trigger is executed immediately before the impact factor is applied. If members don't break down individually, but simultaneously, this trigger is only executed once. It is possible to check for this in the script by comparing involved to current, and if they are equal obtaining the member list from members, as explained in the comment of the default script template.

On Repair

This trigger is executed immediately before the impact factor is lifted. Like the On Break Down trigger, it is only executed once, instead of once for each member, for each repair.

The Members Tab

On the members tab, you can select which object(s) in your model may be affected by this breakdown. The control buttons at the top have the following functions respectively:

  • will open an object selection popup where you can select multiple objects in the model. You can use the "plus" icons on the left to expand objects in a group, or click the type (e.g. "LoadingArmProcessors") to add all model objects of that type.
  • removes the selected member(s) from the list.
  • / reorders members up or down in the list
  • enters "Sample" mode. After clicking it, click any object in the model to add it as a member.

Not all object types can be affected by an impact event. If you attempt to add an object which is not compatible with the impact event through the "Add" or "Sample" button, an error will be shown. Note that despite the error message, all compatible members will be added. Members cannot be duplicated, any objects already in the list will be ignored.

The Impact Box around affected objects

Objects that are being impacted by one or more impact events have a box draw around them, similar to the fixed resource "object stopped" box, that indicates the severity of the impact factor.

The color of the box varies fluently according to the following table.

Impact factor Color
0% (all flow stopped)
25%
50%
100% (no impact)
200% (double flow)
∞ (unlimited flow)