In this tutorial task, you will build a basic FloWorks model that introduces some of the core fluid objects. You will learn about the two ‘flow rules’: preferred flow, which is similar to the ‘send to first available port’ of fixed resources, and balanced flow, which will maintain a fixed ratio between flows through different ports.
Step 1 Start
Note that as soon as you add the first object to the model, FlexSim automatically creates another object called a flow control. All the objects that form a fluid network together need to be registered to a flow control. Whenever something happens that may change the flow rates in the model, such as a connection opening or closing, a flow capacity changing or a tank becoming full or empty, all the flow rates will be recalculated. The flow control will do this by building up a mathematical model of the connections between all flow objects and optimizing this to maximize the flow through the system. For now, you need not worry about this because all objects you create in the model will automatically link to the flow control.
Double click on one of the tanks and change the following properties:
- Change the name to MilkTank.
- Change the maximum content to 30,000 liters.
- On the Flow tab, set the maximum inflow rate to 3 liters per second (assuming you have selected seconds as your model time unit; otherwise use the conversion button).
On the other tank, change the properties as follows:
- Change the name to CreamTank.
- Change the maximum content to 1,500 liters.
- Change the product type of the tank to 2.
- Set the maximum inflow rate to the same value, 3 liters per second.
Connect the flow source to the pump, and the pump to both of the tanks.
Run the model and observe the behavior. While the model is running, you can click on the various objects to see some basic statistics.
Step 2 Two different flow rules
Notice that despite the fact that you increased the flow rates on the tanks, the total flow through the system is still just one liter per second. By carefully checking the statistics of the objects while the model is running, you will eventually find the culprit: the maximum flow rate from the source is still set to 1. Despite the fact that the downstream objects have more capacity, the source is constraining the total amount of flow through the system.
Let's rectify this situation by changing the maximum flow rate of the source to 999999. Double click on the source, and on the Flow tab adjust the flow rate; or click on the source once and use the Quick Properties panel.
Now when you run the model, you will see both tanks filling up at the same time initially, with a total flow rate of 6 from the source being distributed over the two tanks. Once the smaller tank is full, the source will automatically reduce its output to match the available downstream capacity.
The flow rule we are using is called ‘Preferred order’. It is similar to the ‘Send to first available port’ option in the Send to Port option of Fixed Resources, which you use by default to route flow items. It means that wherever possible, the first output connector will get the maximum flow rate that is permitted by both ends. If the source object has any flow capacity left, it will try to assign as much of that as possible to the second output port, then to the third, and so on. In other words, the higher the output arrow, the higher its priority when dividing all available flow capacity.
You will now learn about the other built-in rule, which specifically models the physical splitting of streams. Two objects that use this rule by default are the Blender and the Splitter. They maintain a fixed ratio between the input or output ports, respectively. Assume that the input stream is split into 93% skimmed milk and 7% fat (cream). Disconnect the tanks from the pump, and add a Splitter object in between.
On the Flow tab of the Splitter, enter a ratio of 93% and 7% in the Outflow Rule tab.
- Which flow rates do you expect?
- When you run the model, you can check the result. Does it match your expectations?
The flow source now generates approximately 3.226 liters per second. 93% of that is 3 liters per second, giving the Skimmed Milk tank its maximum flow capacity. The remainder of the flow is assigned to the Cream tank.
Step 3 Creating two products
As the final step in the model, you will output two products based on the available ingredients:
- Skimmed milk (100% from the Milk tank)
- Whole milk (97% regular milk + 3% cream)
Add two new tanks to the model: SkimmedMilkTank and WholeMilkTank. Set their product types to 3 and 4 respectively and a maximum inflow rate of 10 L/s each. Also set the outflow rate of the two original tanks (MilkTank and CreamTank) to 10 L/s.
Connect the Milk tank to a flow valve, which connects to the Skimmed Milk tank. The flow will be limited by the maximum rates on the tanks so you can leave the pump at its default settings.
Connect the Milk source at the start of the model and the cream tank to a blender, which connects to the Whole Milk tank. Split the input ports in a ratio of 97 to 3.
The capacity of the cream tank is a bit small; increase it to 10,000 L.
The model should now look like this:
In this task you have learned about inline blending and splitting. In the next tutorial task, you'll learn how to use a flow mixer to create products from predefined recipes. Also, you will learn how to define products by their name instead of a numeric identifier. Continue to Tutorial Task 1.2 - Adding a product table and a mixer.