Table of Contents

Table of Contents

Flow Control

Flow Control

Overview and Key Concepts

The flow control is responsible for optimizing the flow through a network. Every object that is connected to the flow control is part of the network that this flow control will optimize. When the flow rates on an object have changed, that object may schedule a flow recalculation, for example at the time it predicts a tank full or empty, product reaching the end of a flow conveyor, or the mixer reaching the required amount for its current step. Some user actions trigger a recalculation instantly, for example when a flow port is opened or closed or a maximum flow rate is changed, FloWorks will signal the relevant flow control that it should re-optimize the flow through the network the changed object is part of.

Most models have one flow control that is automatically created when you add the first FloWorks object, such as a source or a tank, to the model. A newly created flow control has the 3D shape of an air traffic control tower. Since you will hardly interact with the object, it is possible to reduce it to a small flat object at ground level by selecting "Minimize control" from the flow control's properties window.

Having objects not connected to a flow control

In general you will want every FloWorks object in the model, whether it is a fixed object such as a source or a tank or a flow item such as a vessel or truck, to be connected to exactly one flow control. It is possible to remove an object from its flow control's members list, but flow rates will no longer be calculated for that object anymore. This option is only useful, for example, if you are running FloWorks in Express Mode, which has a limitation on the number of objects in a network, and you have many truck flow items waiting in a queue. In this case, the trucks do not need to have flow rates assigned until they actually connect to a tank, for example in a loading point, so you can disconnect all trucks except the active ones from the flow control, thereby reducing the number of members of the flow control.

Having more than one flow control

It is possible to have more than one flow control in your model. By default, when you drag a FloWorks object into your model from the library, it will automatically be connected to the first flow control in the model. If no flow control is present, one will be created at the location (0, 0, 0). Usually, having a single flow control that all the FloWorks objects in your model are connected to is sufficient. One reason to want to have more than one flow control, would be that you have multiple independent flow networks. In this case creating a separate flow control for each disjoint component of the network will speed up the calculations, as FloWorks will be able to optimize multiple networks with fewer objects and constraints, rather than one relatively large network. However, this is a refactoring step that you would usually only implement when you have already built your model and find that the optimization speed has an impact on the performance of your model.


The flow control has a minimal set of events: On Reset, On Message and On Draw. These are described on the Fixed Resource - Events page.

It adds an On Post Calculation event, which is called after the FloWorks engine has recalculated all the flow rates for objects attached to this flow control. It has no parameters.


The flow control does not set any states, it will always be in the idle state.


The flow control has four tabs with various properties. For more information about the properties on tabs, see:

The last three tabs are the standard tabs that are standard Flexsim pages. For more information about the properties on these tabs, see:


The members tab lists all flow objects whose flow rates are maintained by this flow control. Objects can be added using the Add button or the sampler, and removed using the Remove button. The order of the members is not relevant (with the rare exception of deciding which member of a shared resource gets its flow rates reduced first).

Remove flow control

The remove button at the top right of the settings page will remove the entire flow control from the model. This option is useful if you have accidentally included more flow controls than you need. To ensure that you do not accidentally break the model, you can only remove a flow control when it has no members. If you want to remove a flow control with members, you should first remove all the members using the remove button on the left; when the members list is clear you can delete the flow control.

Minimize control

This option toggles the display of the flow control from a prominent air traffic control tower shape to a small zero-height object that reduces its presence in the model.