Merge branch 'dev' into dev
This commit is contained in:
@@ -53,4 +53,5 @@ 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.
|
||||
- The `EN_getnodesvalues` and `EN_getlinksvalues` were added to retrieve a property value for all nodes or links in the network.
|
||||
- The `EN_getnodesvalues` and `EN_getlinksvalues` were added to retrieve a property value for all nodes or links in the network.
|
||||
- Fixed a bug in EN_setnodevalue with EN_EMITTER option that could cause NaN results.
|
||||
|
||||
@@ -2449,6 +2449,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:
|
||||
@@ -3428,6 +3429,12 @@ int DLLEXPORT EN_deletelink(EN_Project p, int index, int actionCode)
|
||||
if (net->Valve[i].Link > index) net->Valve[i].Link -= 1;
|
||||
}
|
||||
|
||||
// Reduce the number of pipes count by one if it is a pipe.
|
||||
if (linkType == PIPE)
|
||||
{
|
||||
net->Npipes--;
|
||||
}
|
||||
|
||||
// Delete any pump associated with the deleted link
|
||||
if (linkType == PUMP)
|
||||
{
|
||||
|
||||
@@ -286,6 +286,7 @@ void closehyd(Project *pr)
|
||||
{
|
||||
freesparse(pr);
|
||||
freematrix(pr);
|
||||
freeadjlists(pr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
Project: OWA EPANET
|
||||
Version: 2.2
|
||||
Version: 2.3
|
||||
Module: inpfile.c
|
||||
Description: saves network data to an EPANET formatted text file
|
||||
Authors: see AUTHORS
|
||||
Copyright: see AUTHORS
|
||||
License: see LICENSE
|
||||
Last Updated: 04/30/2023
|
||||
Last Updated: 05/11/2024
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
@@ -682,7 +682,7 @@ int saveinpfile(Project *pr, const char *fname)
|
||||
fprintf(f, "\n PATTERN %s", net->Pattern[hyd->DefPat].ID);
|
||||
fprintf(f, "\n DEMAND MULTIPLIER %-.4f", hyd->Dmult);
|
||||
fprintf(f, "\n EMITTER EXPONENT %-.4f", 1.0 / hyd->Qexp);
|
||||
fprintf(f, "\n EMITTER BACKFLOW %s", BackflowTxt[hyd->EmitBackFlag]);
|
||||
fprintf(f, "\n BACKFLOW ALLOWED %s", BackflowTxt[hyd->EmitBackFlag]);
|
||||
fprintf(f, "\n VISCOSITY %-.6f", hyd->Viscos / VISCOS);
|
||||
fprintf(f, "\n DIFFUSIVITY %-.6f", qual->Diffus / DIFFUS);
|
||||
fprintf(f, "\n SPECIFIC GRAVITY %-.6f", hyd->SpGrav);
|
||||
|
||||
10
src/input3.c
10
src/input3.c
@@ -7,7 +7,7 @@ Description: parses network data from a line of an EPANET input file
|
||||
Authors: see AUTHORS
|
||||
Copyright: see AUTHORS
|
||||
License: see LICENSE
|
||||
Last Updated: 09/28/2023
|
||||
Last Updated: 05/11/2024
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
@@ -1832,7 +1832,7 @@ int optionchoice(Project *pr, int n)
|
||||
** UNBALANCED STOP/CONTINUE {Niter}
|
||||
** PATTERN id
|
||||
** DEMAND MODEL DDA/PDA
|
||||
** EMITTER BACKFLOW YES/NO
|
||||
** BACKFLOW ALLOWED YES/NO
|
||||
**--------------------------------------------------------------
|
||||
*/
|
||||
{
|
||||
@@ -1956,11 +1956,11 @@ int optionchoice(Project *pr, int n)
|
||||
hyd->DemandModel = choice;
|
||||
}
|
||||
|
||||
// EMITTER BACKFLOW
|
||||
else if (match(parser->Tok[0], w_EMITTER))
|
||||
// Emitter BACKFLOW ALLOWED
|
||||
else if (match(parser->Tok[0], w_BACKFLOW))
|
||||
{
|
||||
if (n < 2) return 0;
|
||||
if (!match(parser->Tok[1], w_BACKFLOW)) return -1;
|
||||
if (!match(parser->Tok[1], w_ALLOWED)) return -1;
|
||||
choice = findmatch(parser->Tok[2], BackflowTxt);
|
||||
if (choice < 0) return setError(parser, 2, 213);
|
||||
hyd->EmitBackFlag = choice;
|
||||
|
||||
@@ -410,6 +410,7 @@ int closequal(Project *pr)
|
||||
FREE(qual->FlowDir);
|
||||
FREE(qual->SortedNodes);
|
||||
}
|
||||
freeadjlists(pr);
|
||||
return errcode;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
Project: OWA EPANET
|
||||
Version: 2.2
|
||||
Version: 2.3
|
||||
Module: text.h
|
||||
Description: string constants used throughout EPANET
|
||||
Authors: see AUTHORS
|
||||
Copyright: see AUTHORS
|
||||
License: see LICENSE
|
||||
Last Updated: 02/05/2023
|
||||
Last Updated: 05/11/2024
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
#define w_TOLERANCE "TOLER"
|
||||
#define w_EMITTER "EMIT"
|
||||
#define w_BACKFLOW "BACK"
|
||||
#define w_ALLOWED "ALLOW"
|
||||
|
||||
#define w_PRICE "PRICE"
|
||||
#define w_DMNDCHARGE "DEMAN"
|
||||
|
||||
Reference in New Issue
Block a user