From 6639ce9b3e96aff69f751c195bf9568e37817013 Mon Sep 17 00:00:00 2001 From: Sam Hatchett Date: Mon, 9 Dec 2019 09:56:50 -0500 Subject: [PATCH] adding contributor to notes --- ReleaseNotes2_2.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/ReleaseNotes2_2.md b/ReleaseNotes2_2.md index fa9160f..07bdf91 100644 --- a/ReleaseNotes2_2.md +++ b/ReleaseNotes2_2.md @@ -12,7 +12,7 @@ one would use: `EN_getnodevalue(ph, nodeIndex, EN_ELEVATION, &elev)` -where `ph` is the handle assigned to the project. +where `ph` is the handle assigned to the project. Two new functions have been added to the API to manage the creation and deletion of project handles. `EN_createproject` creates a new project along with its handle, while `EN_deleteproject` deletes a project. An example of using the thread-safe version of the API is shown below: ``` @@ -47,32 +47,32 @@ int buildandrunEpanet(char *rptfile) err = EN_createproject(&ph); if (err) return err; EN_init(ph, rptfile, "", EN_GPM, EN_HW); - + //Add a junction node with 710 ft elevation and 500 gpm demand EN_addnode(ph, "J1", EN_JUNCTION, &index); EN_setjuncdata(ph, index, 710, 500, ""); - + // Add a reservoir node at 800 ft elevation EN_addnode(ph, "R1", EN_RESERVOIR, &index); EN_setnodevalue(ph, index, EN_ELEVATION, 800); - + // Add a 5280 ft long, 14-inch pipe with C-factor of 100 // from the reservoir to the demand node EN_addlink(ph, "P1", EN_PIPE, "R1", "J1", &index); EN_setpipedata(ph, index, 5280, 14, 100, 0); - + // Solve for hydraulics and report nodal results EN_setreport(ph, "NODES ALL"); err = EN_solveH(ph); if (!err) err = EN_report(ph); - + // Close and delete the project EN_close(ph); EN_deleteproject(ph); return err; } ``` -Instead of using `EN_open` to load data from a file, `EN_init` is used to initialize a project with the names of its report and binary files, and its flow units and head loss formula. The legacy-style API has a complementary set of functions for building networks from code. +Instead of using `EN_open` to load data from a file, `EN_init` is used to initialize a project with the names of its report and binary files, and its flow units and head loss formula. The legacy-style API has a complementary set of functions for building networks from code. ## Additional Convergence Parameters @@ -82,13 +82,13 @@ Two new analysis options have been added to provide more rigorous convergence cr `EN_FLOWCHANGE` is the largest change in flow that any network element (link, emitter, or pressure-dependent demand) can have for hydraulic convergence to occur. It is specified in whatever flow units the project is using. The default value of 0 indicates that no flow change limit applies. -These new parameters augment the current `EN_ACCURACY` option which always remains in effect. In addition, both `EN_HEADERROR` and `EN_FLOWCHANGE` can be used as parameters in the `EN_getstatistic` (or `ENgetstatistic`) function to retrieve their computed values (even when their option values are 0) after a hydraulic solution has been completed. +These new parameters augment the current `EN_ACCURACY` option which always remains in effect. In addition, both `EN_HEADERROR` and `EN_FLOWCHANGE` can be used as parameters in the `EN_getstatistic` (or `ENgetstatistic`) function to retrieve their computed values (even when their option values are 0) after a hydraulic solution has been completed. ## More Efficient Node Re-ordering EPANET's hydraulic solver requires solving a system of linear equations over a series of iterations until a set of convergence criteria are met. The coefficient matrix of this linear system is square and symmetric. It has a row for each network node and a non-zero off-diagonal coefficient for each link. The numerical effort needed to solve the linear system can be reduced if the nodes are re-ordered so that the non-zero coefficients cluster more tightly around the diagonal. -EPANET's original node re-ordering scheme has been replaced by the more efficient **Multiple Minimum Degree (MMD)** algorithm. On a series of eight networks ranging in size from 7,700 to 100,000 nodes MMD reduced the solution time for a single period (steady state) hydraulic analysis, where most of the work is for node-reordering, by an average of 55%. Since MMD did not reduce the time needed to solve the linear equations generated at each iteration of the hydraulic solver longer extended period simulations will not exhibit a similar speedup. +EPANET's original node re-ordering scheme has been replaced by the more efficient **Multiple Minimum Degree (MMD)** algorithm. On a series of eight networks ranging in size from 7,700 to 100,000 nodes MMD reduced the solution time for a single period (steady state) hydraulic analysis, where most of the work is for node-reordering, by an average of 55%. Since MMD did not reduce the time needed to solve the linear equations generated at each iteration of the hydraulic solver longer extended period simulations will not exhibit a similar speedup. ## Improved Handling of Near-Zero Flows @@ -98,7 +98,7 @@ The hydraulic solver has been modified to use a linear head loss v. flow relatio ## Pressure Dependent Demands -EPANET has always employed a Demand Driven Analysis (**DDA**) when modeling network hydraulics. Under this approach nodal demands at a given point in time are fixed values that must be delivered no matter what nodal heads and link flows are produced by a hydraulic solution. This can result in situations where required demands are satisfied at nodes that have negative pressures - a physical impossibility. +EPANET has always employed a Demand Driven Analysis (**DDA**) when modeling network hydraulics. Under this approach nodal demands at a given point in time are fixed values that must be delivered no matter what nodal heads and link flows are produced by a hydraulic solution. This can result in situations where required demands are satisfied at nodes that have negative pressures - a physical impossibility. To address this issue EPANET has been extended to use a Pressure Driven Analysis (**PDA**) if so desired. Under **PDA**, the demand D delivered at a node depends on the node's available pressure P according to: @@ -165,7 +165,7 @@ With this change EPANET 2.2 now produces perfect mass balances when tested again |`EN_deleterule`|Deletes a rule-based control from the project| |`EN_setnodeid`|Changes the ID name for a node| |`EN_setjuncdata` |Sets values for a junction's parameters | -|`EN_settankdata` |Sets values for a tank's parameters| +|`EN_settankdata` |Sets values for a tank's parameters| |`EN_setlinkid`|Changes the ID name for a link| |`EN_setlinknodes`|Sets a link's start- and end-nodes| |`EN_setlinktype`|Changes the type of a specific link| @@ -212,7 +212,7 @@ In addition to these new functions, a tank's volume curve `EN_VOLCURVE` can be s - `EN_PUMP_ECOST` (average energy price) - `EN_PUMP_EPAT` (energy pricing pattern) - `EN_LINKPATTERN` (speed setting pattern) - + Access to the following global energy options have been added to `EN_getoption` and `EN_setoption`: - `EN_GLOBALEFFIC` (global pump efficiency) - `EN_GLOBALPRICE` (global average energy price per kW-Hour) @@ -262,7 +262,7 @@ Access to the following global energy options have been added to `EN_getoption` - `EN_WALLORDER` - `EN_TANKORDER` - `EN_CONCENLIMIT` - + ### Simulation statistic types: - `EN_MAXHEADERROR` - `EN_MAXFLOWCHANGE` @@ -286,8 +286,8 @@ Access to the following global energy options have been added to `EN_getoption` - `EN_PDA` ## Documentation -Doxygen files have been created to generate a complete Users Guide for version 2.2's API. The guide's format is similar to the original EPANET Programmer's Toolkit help file and can be produced as a set of HTML pages, a Windows help file or a PDF document. - +Doxygen files have been created to generate a complete Users Guide for version 2.2's API. The guide's format is similar to the original EPANET Programmer's Toolkit help file and can be produced as a set of HTML pages, a Windows help file or a PDF document. + ## Authors contributing to this release: (In alphabetical order) - Demetrios Eliades @@ -295,5 +295,5 @@ Doxygen files have been created to generate a complete Users Guide for version 2 - Marios Kyriakou - Lewis Rossman - Elad Salomons + - Markus Sunela - Michael Tryby -