Pool elements can be instantaneously impacted by a discrete change signal. Moreover, a Pool can also produce (emit) discrete change signals.
The Definition tab of the Pool dialog has special input fields for accepting a discrete change signal:
Discrete changes to the Pool are entered in the Discrete Change fields (Additions or Withdrawals).
If the checkbox to the left of Additions in the Pool dialog is checked, then:
• the input field is activated; and
• if the Pool has an Upper Bound, a new output called Discrete_Overflow is created on the element.
The Additions input accepts discrete change signals which have a positive value Add instruction. It also accepts discrete change signals which have a Replace instruction. The dimensions of the discrete change signal must be the same as those of the Quantity Units.
When a Pool receives a Discrete Change Addition with an Add instruction, it instantaneously adds the value of the signal to the Quantity of the Pool. When a Pool receives a Discrete Change Addition with a Replace instruction, it instantaneously replaces the Quantity of the Pool with the value of the signal.
If the Pool has an Upper Bound and this is exceeded by the Discrete Change Addition, the Quantity is fixed at the Upper Bound, and the Pool produces (emits) a discrete change signal (Discrete_Overflow) which represents the amount of the Discrete Change Addition which "overflowed" the Pool.
Note: If you have specified an Upper or Lower Bound, and choose to Replace the current value of a Pool, the replacement value must be within the bounds (or GoldSim will display a fatal error message).
If the checkbox to the left of Withdrawals is checked, then
• the input field is activated; and
• a new output called Discrete_Withdrawals is created on the element.
The Withdrawals input only accepts discrete change signals which have a positive value and an Add instruction. The dimensions of the discrete change signal must be the same as those of the Quantity Units.
When a Pool receives a Discrete Change Withdrawal, it instantaneously subtracts the value of the signal from Quantity of the Pool. In addition, a discrete change signal (Discrete_Withdrawals) which echoes the Discrete Change Withdrawal Request that was removed from the Reservoir is automatically emitted.
If the Pool has a Lower Bound and the Discrete Change Withdrawal forces the Pool to go below this value, the Quantity is fixed at the Lower Bound, and the Pool produces (emits) a discrete change signal (Discrete_Withdrawals) which represents the actual Discrete Change Withdrawal that was removed from the Pool (i.e., the difference between the Quantity prior to the withdrawal and the Lower Bound).
A Pool can accept multiple Discrete Changes (both Additions and Withdrawals). This is indicated in the input field by separating the individual discrete change signals by semi-colons (e.g., Change1; Change2; Change3).
You can also specify the multiple discrete changes using the Multiple Discrete Signals button, which displays a table listing the multiple discrete change signals:
Learn more about: