Unlike
accumulative tank farms, where control decisions are typically triggered by discrete operational events such as tank filling, product shipment, or tank switching, a
flowing tank farm behaves as a continuously balanced hydraulic system. Since all equivalent tanks operate in parallel and share a common inventory, there are no individual tank events that naturally indicate when control actions should be performed.
Instead, the overall hydraulic state of the tank farm becomes the primary source of control information. Parameters such as the current inventory level, deviation from the target inventory, inlet flow, outlet flow, and pumping state provide a complete picture of the system and allow control decisions to be made continuously throughout the simulation.
For this reason, flowing tank farms are typically controlled by periodically evaluating their operating state rather than reacting to discrete events. During each control cycle, application code can monitor the rtank farm, adjust the target inventory, or dynamically recalculate the outlet flow required by downstream process units. This periodic control strategy provides a simple and predictable mechanism for implementing application-specific operating logic.
This approach is particularly important when a flowing tank farm is located
inside a refinery rather than at the refinery boundary. In such configurations, the tank farm primarily serves as a hydraulic buffer between interconnected process units, while the downstream unit continuously determines the required discharge rate according to its current production capacity. The runtime control API therefore provides the mechanisms required to monitor the operating state of the tank farm and dynamically coordinate product transfer between interconnected refinery units.