Commit Graph

72 Commits

Author SHA1 Message Date
Lew Rossman 847fa82139 Add emitter backflow option
Adds a global hydraulic option to allow backflow or not through emitter elements. To maintain backward compatibility the default is YES.
2023-02-05 15:16:20 -05:00
Lew Rossman 2f8561632f Allows string literals as arguments in C++ clients
See issue #651. Also addresses issue #602.
2023-01-29 12:34:58 -05:00
Sam Hatchett 30c511ca78 Merge branch 'dev' into 683-request-better-logging-functionality 2023-01-19 09:01:43 -05:00
Lew Rossman 6db17193f5 New positional control valve added 2022-08-16 11:47:44 -04:00
Sam Hatchett 41887e9016 adds client callback API function 2022-07-27 16:37:49 -04:00
Lew Rossman afda609223 Adds get/set for default demand pattern to toolkit 2022-01-14 08:50:33 -05:00
Lew Rossman bca3b99b88 Fixes error in energy usage for tank pumps 2020-09-20 19:37:15 -04:00
Lew Rossman 951c7ce727 Refactor tank mixing zone volume
Addresses issue #597.
2020-07-11 17:12:49 -04:00
Corey McNeish f358e39728 Make node degree list local to factorize 2020-04-11 11:33:28 -07:00
Lew Rossman 7aadc83ddf Adds link vertex get/set functions to the API 2019-10-29 16:33:40 -04:00
Lew Rossman b640a8685c Adds EN_getresultindex function to the API
See issue #546 . Also fixes a small bug in project.c.
2019-10-26 11:25:09 -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 a89f339525 PDA fixes 2019-07-22 09:50:41 -04:00
Lew Rossman 85e2f2c187 Identifies overflowing tank in Status Report 2019-06-20 15:00:18 -04:00
Lew Rossman 9669742ab3 Adds tank overflow feature 2019-06-17 09:16:04 -04:00
Lew Rossman efb189ac39 Fix refactor of types.h 2019-05-14 00:00:03 -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
Lew Rossman 365ab00dcb Refactors the API's demand editing functions 2019-05-09 10:26:40 -04:00
Michael Tryby 901a802f21 Passing open and close test 2019-04-18 16:16:02 -04:00
Michael Tryby 880bdfffba Work in progress
compiles with warnings, definitely not working
2019-04-12 18:00:36 -04:00
Lew Rossman edcd4b69c7 Eliminates use of temporary linked lists to process Patterns & Curves (issue #449) 2019-04-05 13:02:39 -04:00
Lew Rossman 83ffc1cfc7 Removed the EN_DEFDEMANDPAT option
See issue #429. Also allowed the EN_HEADLOSSFORM option to be changed if the solver is not active.
2019-04-03 10:25:37 -04:00
Lew Rossman 18f65eb8b0 Replace fixed-sized comment strings with dynamic strings 2019-03-17 19:54:51 -04:00
Lew Rossman 0cfa45e52e New updates to address compiler warnings (issue #370)
In addition to addressing compiler warnings, argument names in the API function prototypes were made more consistent and descriptive. Also additional Doxygen comments were added in preparation for producing a more thorough documentation of the API.
2019-01-19 16:56:19 -05:00
Lew Rossman 628fffc718 Added additional network building features (#367) 2019-01-02 10:33:58 -05:00
Lew Rossman f1175b1f92 Error reporting fixes and re-formatting (issue #358) 2018-12-15 15:13:19 -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
Michael Tryby ad4969ea1b Rolling back errormanager 2018-11-19 16:40:40 -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 ee335ab077 Fixes bug #172 (adjust controls & rules when node/link added or deleted)
- Also adds new API function EN_deletecontrol
- Updates and re-arranges entries in the VBA and VB.Net headers
2018-10-31 11:32:01 -04:00
Lew Rossman 39fcfa2162 Fixed bug setting pump curve params (#314) and in setting demand categories
-Split off calc. of a pump's curve coeffs. from getpumpparams to updatepumpparams.
- Fixed problem with initializing node demand category when default demand pattern set before node is created.
- Increased MAXLINE to 1024 to accomodate increase in MAXMSG.
- Replaced EN_geterror calls in input2.c with geterrmsg (it's bad form to call API functions in the body of the library)
2018-10-25 09:39:28 -04:00
Lew Rossman 60a79de4a9 Fixed bug in hash.c
A bug in the delete function in hash.c was preventing the unit test of the new set ID API functions from running properly. In fixing this bug the entire hash table code was refactored to make it look more like the mempool service routines. Also the need to copy the string passed into the table's insert function was eliminated.
2018-10-18 10:03:09 -04:00
Lew Rossman 1fce14efb8 Increased size of MAXMSG to 255 (#189) 2018-10-15 11:34:25 -04:00
Lew Rossman 7c021cf533 Fixed water quality mass balance issue (#160) 2018-10-09 12:53:20 -04:00
Elad Salomons cc21b55b68 Read and write demand categories names
Fixes #290
2018-09-22 11:19:05 +03:00
Lew Rossman e45a23c4ef More robust method for handling zero/low flows (#164) 2018-09-12 10:38:01 -04:00
Lew Rossman 6e73b6a4f5 Made mempool.c threadsafe (#234) 2018-09-03 10:29:41 -04:00
Michael Tryby bdc05058ca Resolving merge conflicts 2018-08-27 09:38:46 -04:00
Michael Tryby f495d2c707 Merge branch 'dev' into contributor-lr 2018-08-24 16:09:21 -04:00
Michael Tryby 75e400cf44 Merging changes from upstream dev 2018-08-22 15:09:33 -04:00
Elad Salomons 4e48c31147 Fix PumpType and CurveType enums
Also adds a general \default curve type. Fixes #208.
2018-08-15 07:37:19 +03:00
Lew Rossman b5e3986e6b Pressure Dependent Demands added to address issue 163 2018-08-09 10:42:47 -04:00
Michael Tryby 4723336726 Adding errormanager to toolkit api 2018-07-13 11:47:47 -04:00
Michael Tryby ff2c851b1c Merging latest from dev, trying to get import lib generated 2018-07-03 17:38:40 -04:00
Lew Rossman 86ffbcf614 Improved node re-ordering method (Issue #162) 2018-07-02 13:55:41 -04:00
Lew Rossman e9303de078 Fixes to implement issue #161 2018-06-19 10:30:02 -04:00
Lew Rossman d5194ffb81 Merge branch 'contributor-lr' of https://github.com/LRossman/EPANET into contributor-lr 2018-06-16 11:12:59 -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
Michael Tryby d374e7bf1a Changing MAXFNAME from 260 back to 259 2018-06-15 10:41:52 -04:00
Lew Rossman a73b2d7508 #defined MAXFNAME as 260 instead of L_tmpnam_s 2018-06-09 12:07:44 -04:00