Commit Graph

18 Commits

Author SHA1 Message Date
Lew Rossman
409a600455 Improved flow checks for full and empty tanks
Improves  the way link flow into full and out of empty tanks is checked. Also corrects the head loss and gradient calculation for constant horsepower pumps at very low and very high flow rates (this was affecting one of the examples used to test the full/empty tank fix).
2021-04-16 17:01:54 -04:00
Lew Rossman
1501204f5f Refactor of hydcoeffs.c
Simplifies and unifies how limit on head gradient at low flow is handled.
2019-10-04 10:01:41 -04:00
Lew Rossman
da1253f4ea Fixes bugs in pump and demand head loss gradients 2019-09-26 11:01:01 -04:00
Lew Rossman
a89f339525 PDA fixes 2019-07-22 09:50:41 -04:00
Lew Rossman
c9b836973e Removes _DEBUG directives from all source files
This commit removes the #ifdef _DEBUG statements at the top of all source code files per issue #482. It also updates the doc files to stress that the speedup observed for hydraulic analysis with the MMD node re-ordering method only applies to single period runs.
2019-05-13 23:49:19 -04:00
Michael Tryby
84bf6f98d0 Cleaning up include statements adding crtdbg.h 2019-04-03 15:55:23 -04:00
Lew Rossman
3ce0361c1d Network validity checks added to openhyd()
Checks on illegal valve connections made whenever API creates a new link, changes its end nodes, or changes its type.
2018-12-20 08:36:05 -05:00
Lew Rossman
107483bee8 Avoid possible divide by zero in hydcoeffs.c 2018-12-04 09:50:01 -05:00
Lew Rossman
9a540cc0f4 Code cleanup
1. Added a standard header to each code module and removed obsolete comments.
2. Re-named several of the sub-structs in the project struct and re-arranged some of their contents.
3. Re-named _defaultModel to _defaultProject.
4. Removed the need to call EN_createproject and EN_deleteproject when working with the default project.
5. Made X & Y coords. part of Snode properties instead of a separate struct.
6. Moved the non-API functions in epanet.c into a new module named project.c.
7. Re-factored the quality module so that it uses the same nodal adjacency lists as the hydraulics solver.
8. Re-factored the sparse matrix module (smatrix.c) to be more memory efficient.
9. Restricted line lengths to < 90 columns.
10. Grouped the placement of functions in EPANET2.H and EPANET.C by category.
2018-11-27 14:22:06 -05:00
Lew Rossman
7443cea9d4 Fixes #172 (adjust controls when node/link is deleted) & EN_addrule added
- Deleting controls with node/link deletion made conditional.
- New EN_addrule function added along with a test file.
- Rule structures re-named & rules.c heavily modified.
- Issue with exceeding limit on number of temporary file names fixed.
- VB declaration and DEF files updated.
2018-11-07 23:09:47 -05:00
Lew Rossman
e45a23c4ef More robust method for handling zero/low flows (#164) 2018-09-12 10:38:01 -04:00
Lew Rossman
dab7be8446 Updates to fix zero flow (#164) and D-W eqn. (#199) issues 2018-09-11 13:15:15 -04:00
Lew Rossman
836d9c3668 Revert "Fixes zero flow issue (#164) and DW eqn. (#199)"
This reverts commit 6b808c03ab.
2018-09-11 11:04:47 -04:00
Lew Rossman
6b808c03ab Fixes zero flow issue (#164) and DW eqn. (#199) 2018-09-11 09:48:01 -04:00
Lew Rossman
b5e3986e6b Pressure Dependent Demands added to address issue 163 2018-08-09 10:42:47 -04:00
Lew Rossman
f5a1b9e518 Reverted to legacy Darcy-Weisbach method 2018-06-21 12:05:51 -04:00
Lew Rossman
e9303de078 Fixes to implement issue #161 2018-06-19 10:30:02 -04:00
Lew Rossman
b3ab8ea2c7 Addresses issue #161
Adds new options HEADERROR and FLOWCHANGE to provide more rigorous criteria for hydraulic convergence. Also breaks HYDRAUL.C into 3 separate files to improve code readability.
2018-06-16 11:02:18 -04:00