The fluidtank is a simple Fluid Object that can receive and send material at the same time. The modeller decides the maximum capacity of the Tank and up to three points (called "marks") that will cause triggers to fire when the content in the Tank reaches them.
Details
The fluidtank is the most generic of the Fluid Objects. It can receive and send material at the same time. The modeller has complete access to the variables that control the input and output rates. They are also given two functions that fire at the end of every tick. These functions are called "AdjustOutputRates" and "AdjustInputRates". They are used to changed the values of the input or output rates during a model run.
The Tank can start a model with no content, or with a set amount. If the tank begins with content, that is all it will create during a run. It may continue to receive material from upstream, however. Starting with a fixed content value is very useful for models that have a fixed amount of material that will enter. If the modeller wants a constant or infinite stream of incoming material, they should use a FluidGenerator instead.
The Tank has a maximum capacity that the modeller defines. The content of the Tank will never go above this value. If, at the end of a tick, the Ticker calculates that the Tank should receive more than it can currently hold, only the material required to fill the Tank will be transferred.
The modeller can define three points that will cause triggers to fire when the content of the Tank reaches them. These points are called "Marks". Whenever the content of a Tank passes one of these marks (either rising or falling), a trigger is fired. The user can use that trigger to open or close ports, send messages, change rates, or many other things. If two or more marks are set for the same value, the trigger for only one of them will fire. For example, if the low mark and the mid mark are both set to 10, when the content in the Tank changes from 9 to 10 only the trigger for the low mark will fire.
States
Empty - The Tank has no material in it.
Not Empty - The Tank has some material in it.
Full - The Tank's maximum capacity has been reached, it will not receive any material unless it can send some out.
Properties pages
Tank
Marks
Triggers
FluidLevelDisplay
Labels
General