Merge branch 'dev' into dev

This commit is contained in:
Abel Heinsbroek
2024-05-31 21:36:57 +02:00
committed by GitHub
7 changed files with 22 additions and 11 deletions

View File

@@ -54,3 +54,4 @@ This document describes the changes and updates that have been made in version 2
- 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.
- Fixed a bug in EN_setnodevalue with EN_EMITTER option that could cause NaN results.

View File

@@ -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)
{

View File

@@ -286,6 +286,7 @@ void closehyd(Project *pr)
{
freesparse(pr);
freematrix(pr);
freeadjlists(pr);
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -410,6 +410,7 @@ int closequal(Project *pr)
FREE(qual->FlowDir);
FREE(qual->SortedNodes);
}
freeadjlists(pr);
return errcode;
}

View File

@@ -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"