By default, a Reservoir element has two outputs: the Value (which has the same name as the element) and a Withdrawal_Rate. In the absence of a Lower Bound, the Withdrawal_Rate output is exactly equal to the Withdrawal Requests/Rate of Change input.
To illustrate the use of the Withdrawal_Rate output, consider an example in which Reservoir1 flows into Reservoir2 (i.e., the Withdrawal_Rate output from Reservoir1 is the Additions/Rate of Change input for Reservoir2). One way to build this model is as follows:
By using the Withdrawal_Rate output, however, this model can become more transparent:
As can be seen, by linking the Withdrawal_Rate output from Reservoir1 to the Additions/Rate of Change input of Reservoir2, it becomes visually much clearer that Reservoir1 flows into Reservoir2.
Although the visual advantage of using the Withdrawal_Rate output is important, there is a much more important reason to use this output. In the first example above, the Data element serves as both an input to Reservoir1 (as the Withdrawal Requests/Rate of Change) and an input to Reservoir2 (as the Additions/Rate of Change). Note, however, that as will be discussed in detail in the next topic, if a Lower Bound is specified for the Reservoir, the Withdrawal_Rate output is not necessarily identical to the Withdrawal Requests/Rate of Change input. In particular, if Reservoir1 hits its Lower Bound, the Data element no longer necessarily represents the actual amount being added to Reservoir2. The actual amount being added might be restricted and hence might be less than Data element Outflow_from_1. This is because the Data element represents the requested rate of withdrawal, but this is not necessarily the actual rate of withdrawal that is possible (there might not be enough material available). As a result, such a structure could cause you to artificially create material in this model!
Note: Because ignoring the Withdrawal_Rate output when a Reservoir reaches its Lower Bound (and the withdrawal is restricted) could result in a significant error in your model, GoldSim generates a warning message whenever a Reservoir reaches its Lower Bound such that the requested withdrawal cannot be delivered AND the Withdrawal_Rate output is not referenced by another element.
Note: If you are modeling a system that has multiple distinct withdrawals (particularly if the Reservoir can reach its Lower Bound), you likely will want to use a slightly more powerful version of the Reservoir, referred to as a Pool.
Learn more about:
Defining Upper and Lower Bounds for a Reservoir