Skip to content

Commit

Permalink
Merge pull request #797 from lbutler/big-fix-emitter-coefficient
Browse files Browse the repository at this point in the history
Fix emitter-related NaN errors from EN_setnodevalue API
  • Loading branch information
LRossman authored May 29, 2024
2 parents 3758238 + 48934c7 commit 7b33487
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 0 deletions.
1 change: 1 addition & 0 deletions ReleaseNotes2_3.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,4 @@ This document describes the changes and updates that have been made in version 2
- `EN_PRESS_UNITS` can now be used with `EN_getoption` and `EN_setoption` to get or set the pressure unit used in EPANET.
- Continuous barrier functions were added to constrain emitter flows to allowable values.
- The `EN_openx` function has been added to enable the opening of input files with formatting errors through the API. This allows users to continue using toolkit functions even when such errors are present.
- Fixed a bug in EN_setnodevalue with EN_EMITTER option that could cause NaN results.
1 change: 1 addition & 0 deletions src/epanet.c
Original file line number Diff line number Diff line change
Expand Up @@ -2429,6 +2429,7 @@ int DLLEXPORT EN_setnodevalue(EN_Project p, int index, int property, double valu
if (value < 0.0) return 209;
if (value > 0.0) value = pow((Ucf[FLOW] / value), hyd->Qexp) / Ucf[PRESSURE];
Node[index].Ke = value;
if (hyd->EmitterFlow[index] == 0.0) hyd->EmitterFlow[index] = 1.0;
break;

case EN_INITQUAL:
Expand Down

0 comments on commit 7b33487

Please sign in to comment.