How a Pool Computes its
Primary Output (the Quantity)
Numerically, GoldSim approximates the integral represented by a Pool A stock element that integrates and conserves flows of materials. A Pool is a more powerful version of a Reservoir (it has additional features to more easily accommodate multiple inflows and outflows). as a sum:
In these equations, ∆ti is the timestep A discrete interval of time used in dynamic simulations. length just prior to time ti (typically this will be constant in the simulation), and Quantity(tn) is the value at end of timestep n. Note that the Quantity at time ti is a function of the Inflows and Outflows at previous timesteps (but is not a function of these flows at time ti).
Note that if you specify Upper or Lower Bounds for a Pool, the equation shown above is constrained by the specified bounds (i.e., the Quantity cannot exceed the Upper Bound and can not be less than the Lower Bound).
Pools, Reservoirs and Integrators use the same numerical integration An approximate solution to an integral equation, carried out by discretizing a variable (e.g., time) into discrete intervals. method, referred
to as
The key assumption involved in this integration method is that at any point in time, the rates (Inflows and Outflow Requests) represent the rates over the next timestep, and those rates are assumed to be constant over the timestep. Euler Integration is discussed in additional detail in Appendix F of the GoldSim User’s Guide.
Note: Euler integration is the simplest and most common method for numerical integration. However, if the timestep is large, this method can lead to significant errors. This is particularly important for certain kinds of systems in which the error is cumulative (e.g., sustained oscillators such as a pendulum). In these cases, these errors can be reduced by using Containers with Internal Clocks, which allow you to locally use a much smaller timestep.
Learn more
- Browser View of a Pool Element
- Defining Upper and Lower Bounds for a Pool
- How a Pool Computes its Primary Output (the Quantity)
- How a Pool Computes the Individual Outflows
- How a Pool Computes the Overflow
- How a Pool Computes the Total Outflow
- Instantaneously Replacing the Current Quantity in a Pool
- Modeling Discrete Changes to a Pool
- Pool Elements
- Specifying Discrete Additions and Withdrawals to a Pool
- Specifying the Dimensions and Initial Quantity for a Pool
- Specifying the Inflow Rates for a Pool
- Specifying the Outflow Requests for a Pool
- Using the Is_Full Output of a Pool