Apply impact factor

Overview and Key Concepts

The Apply impact factor activity applies a multiplicative impact factor to the maximum allowed flow rate through an object. Note that in FloWorks, you cannot specify the exact flow rate: the flow control will recalculate the flow rates (if necessary) and may always assign less flow if there are constraints elsewhere in the network.

Connectors

The Apply impact factor activity only allows one connector out. See Adding and Connecting Activities for more information.

Properties

The following image shows properties for the Apply impact factor activity:

Each of these properties will be explained in the following sections.

Name

Used to change the name of the activity. See Name for more information about this property.

Font

The Font button opens a window to edit the activity's background color and font properties. See Font for more information about this property.

Statistics

The Statistics button opens the activity's statistics window. See Statistics for more information about this property.

Object(s)/ Group / Array

Use the Object(s) / Group / Array box to specify the object(s) you want the activity to affect. You can specify a single object (using the eyedropper tool or a model.find() command), an object group (flat or nested) or an array of objects and/or groups. When a token enters the activity, the expression will be parsed recursively such that arrays of groups or groups will be properly handled.

Event Object

Specify a treenode that uniquely identifies this object. Impact factors with a different event object will stack multiplicatively, e.g. if you first apply a factor of 0.5 with event object A, and then a factor of 0.5 with event object B, the maximum flow rate will be reduced to 25% (0.5 × 0.5) of the nominal value. When you then apply a factor of 1 with event object A, the maximum flow rate will be 50% of the nominal value: the factor 0.5 of event object B still applies.

Impact Factor

Define the multiplicative factor to be defined here. For example, a factor of 1 means no change relative to the previous rate (which is the base rate multiplied by the impact factors for all other event objects). A factor of 0 means no flow is allowed, regardless of any other impact factors being applied. A value between 0 and 1 temporarily reduces the allowed flow through the object. A factor greater than 1 temporarily increases the maximum allowed flow (again, relative to the base rate plus all other impact factors in effect).

Apply Factor To Input / Output Ports

For content-holding objects, such as tanks and mixers, you can choose whether to apply the input factor only to the input ports, only to the output ports, or both. For non-content-holding objects, you can check any combination of the boxes (except both off) to apply the impact factor to the maximum flow rate of the object.

Reset to 1

When the impact factor is only applied to either the input or the output, the impact factor of the other side will be unaffected.

For example, if you first apply an impact factor of 0 on the Input Ports only, the input will be reduced to 0 and the output ports will remain open. If you then apply an impact factor of 0 on the Output Ports only, with the same event object, both the input and output will be closed. This setup is shown in the image on the left, below.

By switching "Reset to 1" on for the input in the second Apply Impact Factors activity, the input impact factor will be reset to 1, resulting in only the output of the object being stopped. This situation is shown in the image on the right.

In the image on the left, once both activities have been executed, an impact factor of 0 will be active on both the input and the output. In the image on the right, once both activities have been executed, an impact factor of 0 will be active only on the output, the input will have an impact factor of 1 (that is, no impact).

Override Flow State

By default, the flow object that the impact factor is applied to will update its state accordingly. For example, a flow processor will go into Idle state and a tank will go into the state appropriate for its current content (for example, empty, filling, full, etc.). You can use the Override Flow State field to force the object to go into another state as long as the impact factor is active.

Note that the state override only applies to the FloWorks state (state profile 1) and only for as long as the impact factor is not 1.