Commit Graph

566 Commits

Author SHA1 Message Date
Abel Heinsbroek
93a0b3671b Merge branch 'dev' into dev 2024-05-31 21:36:57 +02:00
Lew Rossman
8b6be71956 Merge pull request #788 from OpenWaterAnalytics/dev-rename_emitter_backflow_keyword
Changes EMITTER BACKFLOW keyword
2024-05-29 08:25:19 -04:00
Lew Rossman
7b334875f8 Merge pull request #797 from lbutler/big-fix-emitter-coefficient
Fix emitter-related NaN errors from EN_setnodevalue API
2024-05-29 08:23:56 -04:00
Lew Rossman
375823851a Merge pull request #791 from zannads/dev-netadjlist_fix
Fix Issue #789 - free network Adjlist
2024-05-29 08:22:48 -04:00
lbutler
a74171fa26 Fix emitter-related NaN errors by initializing zero EmitterFlow to 1.0.
Co-Authored-By: Lew Rossman <LRossman@outlook.com>
2024-05-28 22:18:29 -04:00
Dennis
d50c673321 Fix Issue #790 - incorrect number of pipes
The pipe counter was not decreased if the element was a pipe.
2024-05-23 10:33:30 +03:00
Dennis
9307913c5b Proposed Fix for Issue #789
See the comment on the Issue.
2024-05-23 10:24:29 +03:00
Lew Rossman
7e66114863 Changes EMITTER BACKFLOW keyword
This change avoids a conflict between the EMITTER EXPONENT and EMITTER BACKFLOW keywords when running a v2.3 input file in the v2.2 EPANET GUI.
2024-05-11 12:37:52 -04:00
Abel Heinsbroek
9637f5c092 change names of new functions to ENgetnodevalues and ENgetlinkvalues 2024-04-24 15:20:59 +02:00
Abel Heinsbroek
4dff3bd054 add ENgetnodesvalues and ENgetlinksvalues methods 2024-04-23 11:31:17 +02:00
Lew Rossman
c24f334208 Update validate.c
Fixes false negative when checking if a tank's min/max levels fall within its volume curve (see issue #767 ).
2024-03-19 14:38:47 -04:00
Lew Rossman
2f4e4e5139 Merge pull request #771 from OpenWaterAnalytics/dev-tank_overflow_fix
Account for mass lost in tank overflow
2024-03-18 13:37:07 -04:00
Lew Rossman
6d6f244a5f Merge pull request #766 from lbutler/update-readme-jan-2024
Update release notes and remove depreciated constants
2024-03-13 09:51:56 -04:00
Lew Rossman
482f658df4 Account for mass lost in tank overflow
This change addresses issue #769.
2024-03-13 09:22:33 -04:00
Lew Rossman
5c90eafdbe Update validate.c
Fixes bug in checking that tank min/max levels are within volume curve.
2024-01-25 12:21:09 -05:00
lbutler
c6ab471b5b Update release notes and remove depreciated constants 2024-01-09 14:14:19 -05:00
Lew Rossman
e7f9e26347 Update validate.c 2023-10-05 14:59:10 -04:00
Lew Rossman
653ffac514 Update input3.c 2023-10-05 12:10:08 -04:00
Lew Rossman
c0700c83ee Refactored validate.c 2023-10-05 11:37:13 -04:00
Lew Rossman
5a03def497 Merge branch 'dev' into dev-EN_openX 2023-10-04 10:09:02 -04:00
Lew Rossman
10d5079d75 Add EN_openX function
EN_openX allows an EPANET input file to be opened even if it has errors. This required re-arranging code, mainly in input3.c, so that default values are assigned to an object before its input line is parsed.
2023-10-04 09:53:05 -04:00
Luke Butler
05c0528862 Update EN_setcurvetype to support EN_VALVE_CURVE 2023-09-15 11:53:02 -04:00
Luke Butler
cfc06321a6 Remove recursion in getclosedlink
The function getclosedlink in report.c uses recursion to find closed links when reporting on disconnections.

In very large networks, it’s possible for the recursion to exhaust the memory on the call stack which then causes EPANET to crash.

If a loop is used instead of recursion, EPANET will not crash with very large disconnections
2023-09-14 16:00:34 -04:00
Sam Hatchett
d0ab568a5d using int/bool convention instead of new enum type 2023-09-13 09:14:57 -04:00
Sam Hatchett
06a43cdb4e adds api support for enabling/disabling controls and rules 2023-09-12 14:51:44 -04:00
Lew Rossman
a2c0ff7889 Fix trace node id parser error 2023-09-11 18:23:49 -04:00
Lew Rossman
6aa2a21327 Change PCV settings from fraction to percent 2023-08-17 14:54:59 -04:00
0tkl
2f63e513f0 fix potential memory leaks
Co-authored-by: Lew Rossman <LRossman@cinci.rr.com>
2023-08-10 12:32:28 +08:00
0tkl
b860f9b16f add a default value to controlIndex 2023-08-09 15:38:41 +08:00
0tkl
434cd68a23 fix potential deref of a null pointer 2023-08-05 01:20:09 +08:00
Lew Rossman
353ba4eb34 Allow API to get/set type of status report
The existing EN_setstatusreport function only allows one to set the level of status reporting and not retrieve this value. A new EN_STATUS_REPORT constant was added, to be used with EN_setoption and EN_getoption, to provide read/write access to the level of status reporting.
2023-07-19 09:15:25 -04:00
Lew Rossman
3acfb6dae3 Added retrieval of emitter flow to the API 2023-07-06 15:35:30 -04:00
Lew Rossman
789d42f248 Merge pull request #732 from OpenWaterAnalytics/dev-controls
Allow simple controls to set valves OPEN/CLOSED
2023-06-08 10:37:45 -04:00
Lew Rossman
a9079b023b Allow simple controls to set valves OPEN/CLOSED 2023-05-13 12:29:35 -04:00
james uber
f709c199bc correct error in adjustpumpparams() where a curveindex was being used instead of the pump index 2023-04-22 17:40:25 -04:00
james uber
7ae9c28e1a setlinkvalue missing a break statement 2023-04-15 12:57:01 -04:00
Lew Rossman
583cca01ca Merge pull request #721 from OpenWaterAnalytics/dev-PDA-coeffs
Use barrier functions for PDA & emitters
2023-04-15 11:01:08 -04:00
Luke Butler
9cde32080a added function updateruleunits 2023-03-30 16:22:58 -04:00
Lew Rossman
9c79a65171 Use barrier functions for PDA & emitters
Uses continuous barrier functions to constrain PDA demands and emitter flows to allowable values (see J. Hydroinformatics, 24:697, 2022).
2023-03-29 10:35:14 -04:00
Luke Butler
6bc1efaf1c Check pressure units in metric are not set to PSI 2023-03-16 16:21:55 -04:00
Luke Butler
4beebbd470 Add EN_PRESS_UNITS to EN_getoption & EN_setoption 2023-03-16 16:13:49 -04:00
Luke Butler
8e68b77f61 Updated outfile to support cubic meters/sec 2023-02-20 10:24:11 -05:00
Luke Butler
843f1f4e37 Added support for cubic meters per second (CMS) 2023-02-20 09:43:42 -05:00
Luke Butler
3856a6310d Fixes incorrect hour set with >9 input tokens
If you create a simple control with nine or more input tokens, the logic skips over assigning the hour variable and EPANET will activate the control at hour zero.
2023-02-15 14:46:39 -05:00
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
869e441fe8 Revise status test for full/empty tanks
Simplifies status check for links connected to full/empty tanks and now includes case where link connects two tanks.
2023-02-03 11:29:05 -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
Lew Rossman
f60102105a Ignore errors in coords. read from file
Ignores errors when reading node & link vertex coordinates from an input file. Also when saving a project to an input file, the [DEMANDS] section only includes non-zero demands.
See issues #603 and #174 .
2023-01-26 12:50:26 -05:00
Elad Salomons
e2df3e87ac Adding support for VB
Also supporting C89 compiler.
2023-01-19 20:45:30 +02:00
Sam Hatchett
2705f8adc1 Merge branch 'dev' into 681-request-additional-api-function-for-getting-finer-grained-time-step-information 2023-01-19 11:52:18 -05:00