Set maximum flow

Overview and Key Concepts

The Set maximum flow activity sets the maximum preferred flow rate(s) for one or more specified objects. 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 Set maximum flow activity only allows one connector out. See Adding and Connecting Activities for more information.

Properties

The following image shows properties for the Set maximum flow 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.

Maximum flow rate

Specify the new maximum (or preferred) flow rate. If the Object(s) / Group / Array field evaluates to multiple objects, this expression will be checked for each object separately (and passed in as the involved parameter).

If you want to block all flow you can use the "No flow" option from the dropdown, although it is suggested to use another activity such as switch to filling, switch to releasing, open or close flow, or, for more finegrained control, open or close flow.

The "Unconstrained" option will make the specified flow non-constraining. Note that in each flow (source to tank, tank to sink, source to sink) at least one connection must be constraining; FloWorks does not allow infinite flows through any connection.

Condition

If the condition is not set to "Always", the activity will only perform its functionality when the condition returns true. If the Object(s) / Group / Array field evaluates to multiple objects, the condition will be checked for each object separately (and passed in as the involved parameter).

The dropdown suggests a few common conditions, such as only working on objects that currently have inflow, or are below their maximum content. You can use it to implement logical conditions (e.g. only open output if a tank is full), but also for model constraints (e.g. only do something with output port 2 if the involved object has at least two output objects).