Updating docs for tank overflow feature

This commit is contained in:
Lew Rossman
2019-06-17 09:54:26 -04:00
parent 9669742ab3
commit 2bec884e3c
2 changed files with 16 additions and 6 deletions

View File

@@ -131,6 +131,11 @@ for the thread-safe API. Some additional points regarding the new **PDA** option
- This implementation of **PDA** assumes that the same parameters apply to all nodes in the network. Extending the framework to allow different parameters for specific nodes is left as a future feature to implement.
- Pmin is allowed to equal to Preq. This condition can be used to find a solution that results in the smallest amount of demand reductions needed to insure that no node delivers positive demand at a pressure below Pmin.
## Tank Overflows
EPANET has always prevented tanks from overflowing by closing any links that supply inflow to a full tank. A new option `EN_CANOVERFLOW`, has been added to the list of Tank node properties. When set to 1 it will allow its tank to overflow when it becomes full. The spillage rate is returned in the tank's EN_DEMAND property. The default value for `EN_CANOVERFLOW` is 0 indicating that the tank cannot overflow.
For the input file, a new field has been appended to the data supplied for each tank in the `[TANKS]` section of the file. A value of **YES** indicates that the tank can over flow while **NO** (the default) indicates that it cannot. For the volume curve field that precedes it, an asterisk (*) can be used if the tank does not utilize a volume curve.
## Improved Water Quality Mass Balance
As described by [Davis et al. (2018)](https://www.drink-water-eng-sci.net/11/25/2018/dwes-11-25-2018.pdf) EPANET's water quality simulations can result in some significant mass balance errors when modeling short term mass injections (errors are much smaller for continuous source flows). The entire water quality engine has been re-written to eliminate these errors. It still uses the Lagrangian Time Driven transport method but now analyzes each network node in topologically sorted order rather than in arbitrary order.
@@ -208,6 +213,8 @@ Access to the following global energy options have been added to `EN_getoption`
- `EN_DEMANDCHARGE` (price per maximum kW of energy consumption)
## New API Constants
### Node value types:
- `EN_CANOVERFLOW`
### Link value types:
- `EN_PUMP_STATE`

View File

@@ -912,21 +912,24 @@ One line for each junction containing:
- Nominal diameter, ft (m)
- Minimum volume, cubic ft (cubic meters)
- Volume curve ID (optional)
- Overflow indicator (<b>YES / NO</b>) (optional)
__Remarks:__
1. Water surface elevation equals bottom elevation plus water level.
2. Non-cylindrical tanks can be modeled by specifying a curve of volume versus water depth in the @ref CurvesPage section.
3. If a volume curve is supplied the diameter value can be any non-zero number
4. Minimum volume (tank volume at minimum water level) can be zero for a cylindrical tank or if a volume curve is supplied.
5. A network must contain at least one tank or reservoir.
5. If the overflow indicator is \b YES then the tank is allowed to overflow once it reaches it maximum water level. The default is no overflow.
6. If the tank does not use a volume curve then an asterisk (*) can be used as a placeholder for it if an overflow indicator is specified.
7. A network must contain at least one tank or reservoir.
__Example:__
@code
[TANKS]
;ID Elev. InitLvl MinLvl MaxLvl Diam MinVol VolCurve
;-----------------------------------------------------------
;Cylindrical tank
T1 100 15 5 25 120 0
;ID Elev. InitLvl MinLvl MaxLvl Diam MinVol VolCurve Overflow
;---------------------------------------------------------------------
;Cylindrical tank that can overflow
T1 100 15 5 25 120 0 * YES
;Non-cylindrical tank with arbitrary diameter
T2 100 15 5 25 1 0 VC1