A Reservoir models the behavior of a tank with an infinitely thin tube underneath. The throughput of liquid going out of the tube is proportional to the square root of the height of liquid. This non-linear model becomes much more difficult to resolve by analytical way if we would like to connect many reservoirs each to the other. However we can simulate the leakage process by the same way as it was described bellow by taking in account two types of influences – throughputs of connected reservoirs and gravitational influences. The connections between Reservoirs are made in the same way as for elastic links (i.e. event channels) and the gravitational influences are broadcast by the same Flat Gravity component. All we need is to change the appropriate equation inCompute action. The basic scheme is the same as for satellites and elastic links.
Thus a complex system can be decomposed and the elementary behaviors and even some objects can be reused using this approach.
This example demonstrates two reservoirs with one half-duplex connection. You can add some quantity of liquid in each Reservoir using the Blob element (drag-and-drop it to the appropriate Reservoir and click).[Remark : there is an experimental facility which allows to change the reservoir size by ALT-key + mouse. Works not everywhere.]