needed mods
- adding qtime setter - formatting issues
This commit is contained in:
@@ -121,7 +121,6 @@
|
||||
08FB7794FE84155DC02AAC07 /* epanet */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2298EBDB16B17DBD0088A6DC /* LemonTiger */,
|
||||
22322FA8106836A000641384 /* Include */,
|
||||
08FB7795FE84155DC02AAC07 /* Source */,
|
||||
1AB674ADFE9D54B511CA2CBB /* Products */,
|
||||
@@ -132,12 +131,12 @@
|
||||
08FB7795FE84155DC02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
22322F701068369500641384 /* enumstxt.h */,
|
||||
22322F711068369500641384 /* epanet.c */,
|
||||
22322F751068369500641384 /* hydraul.c */,
|
||||
22322F701068369500641384 /* enumstxt.h */,
|
||||
22322F721068369500641384 /* funcs.h */,
|
||||
22322F731068369500641384 /* hash.c */,
|
||||
22322F741068369500641384 /* hash.h */,
|
||||
22322F751068369500641384 /* hydraul.c */,
|
||||
22322F761068369500641384 /* inpfile.c */,
|
||||
22322F771068369500641384 /* input1.c */,
|
||||
22322F781068369500641384 /* input2.c */,
|
||||
@@ -174,13 +173,6 @@
|
||||
name = Include;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2298EBDB16B17DBD0088A6DC /* LemonTiger */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = LemonTiger;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
|
||||
@@ -97,8 +97,9 @@
|
||||
#define EN_PERIODS 9
|
||||
#define EN_STARTTIME 10 /* Added TNT 10/2/2009 */
|
||||
#define EN_HTIME 11
|
||||
#define EN_HALTFLAG 12
|
||||
#define EN_NEXTEVENT 13
|
||||
#define EN_QTIME 12
|
||||
#define EN_HALTFLAG 13
|
||||
#define EN_NEXTEVENT 14
|
||||
|
||||
#define EN_ITERATIONS 0
|
||||
#define EN_RELATIVEERROR 1
|
||||
@@ -250,7 +251,7 @@ extern "C" {
|
||||
int DLLEXPORT ENsettimeparam(int, long);
|
||||
int DLLEXPORT ENsetoption(int, EN_API_FLOAT_TYPE);
|
||||
int DLLEXPORT ENsetstatusreport(int);
|
||||
int DLLEXPORT ENsetqualtype(int, char *, char *, char *);
|
||||
int DLLEXPORT ENsetqualtype(int qualcode, char *chemname, char *chemunits, char *tracenode);
|
||||
|
||||
//LemonTiger functions
|
||||
/* See testLT.c for a LemonTiger test */
|
||||
|
||||
107
src/epanet.c
107
src/epanet.c
@@ -1974,7 +1974,7 @@ int DLLEXPORT ENsetnodevalue(int index, int code, EN_API_FLOAT_TYPE v)
|
||||
if (j < 0 || j > Npats) return(205);
|
||||
source->Pat = j;
|
||||
}
|
||||
else
|
||||
else // code == EN_SOURCETYPE
|
||||
{
|
||||
j = ROUND(value);
|
||||
if ( j < CONCEN || j > FLOWPACED) return(251);
|
||||
@@ -2348,44 +2348,69 @@ int DLLEXPORT ENsettimeparam(int code, long value)
|
||||
*/
|
||||
}
|
||||
if (value < 0) return(202);
|
||||
switch(code)
|
||||
{
|
||||
case EN_DURATION: Dur = value;
|
||||
if (Rstart > Dur) Rstart = 0;
|
||||
break;
|
||||
case EN_HYDSTEP: if (value == 0) return(202);
|
||||
Hstep = value;
|
||||
Hstep = MIN(Pstep, Hstep);
|
||||
Hstep = MIN(Rstep, Hstep);
|
||||
Qstep = MIN(Qstep, Hstep);
|
||||
break;
|
||||
case EN_QUALSTEP: if (value == 0) return(202);
|
||||
Qstep = value;
|
||||
Qstep = MIN(Qstep, Hstep);
|
||||
break;
|
||||
case EN_PATTERNSTEP: if (value == 0) return(202);
|
||||
Pstep = value;
|
||||
if (Hstep > Pstep) Hstep = Pstep;
|
||||
break;
|
||||
case EN_PATTERNSTART: Pstart = value;
|
||||
break;
|
||||
case EN_REPORTSTEP: if (value == 0) return(202);
|
||||
Rstep = value;
|
||||
if (Hstep > Rstep) Hstep = Rstep;
|
||||
break;
|
||||
case EN_REPORTSTART: if (Rstart > Dur) return(202);
|
||||
Rstart = value;
|
||||
break;
|
||||
case EN_RULESTEP: if (value == 0) return(202);
|
||||
Rulestep = value;
|
||||
Rulestep = MIN(Rulestep, Hstep);
|
||||
break;
|
||||
case EN_STATISTIC: if (value > RANGE) return(202);
|
||||
Tstatflag = (char)value;
|
||||
break;
|
||||
case EN_HTIME: Htime = value;
|
||||
break;
|
||||
default: return(251);
|
||||
switch(code)
|
||||
{
|
||||
case EN_DURATION:
|
||||
Dur = value;
|
||||
if (Rstart > Dur) Rstart = 0;
|
||||
break;
|
||||
|
||||
case EN_HYDSTEP:
|
||||
if (value == 0) return(202);
|
||||
Hstep = value;
|
||||
Hstep = MIN(Pstep, Hstep);
|
||||
Hstep = MIN(Rstep, Hstep);
|
||||
Qstep = MIN(Qstep, Hstep);
|
||||
break;
|
||||
|
||||
case EN_QUALSTEP:
|
||||
if (value == 0) return(202);
|
||||
Qstep = value;
|
||||
Qstep = MIN(Qstep, Hstep);
|
||||
break;
|
||||
|
||||
case EN_PATTERNSTEP:
|
||||
if (value == 0) return(202);
|
||||
Pstep = value;
|
||||
if (Hstep > Pstep) Hstep = Pstep;
|
||||
break;
|
||||
|
||||
case EN_PATTERNSTART:
|
||||
Pstart = value;
|
||||
break;
|
||||
|
||||
case EN_REPORTSTEP:
|
||||
if (value == 0) return(202);
|
||||
Rstep = value;
|
||||
if (Hstep > Rstep) Hstep = Rstep;
|
||||
break;
|
||||
|
||||
case EN_REPORTSTART:
|
||||
if (Rstart > Dur) return(202);
|
||||
Rstart = value;
|
||||
break;
|
||||
|
||||
case EN_RULESTEP:
|
||||
if (value == 0) return(202);
|
||||
Rulestep = value;
|
||||
Rulestep = MIN(Rulestep, Hstep);
|
||||
break;
|
||||
|
||||
case EN_STATISTIC:
|
||||
if (value > RANGE) return(202);
|
||||
Tstatflag = (char)value;
|
||||
break;
|
||||
|
||||
case EN_HTIME:
|
||||
Htime = value;
|
||||
break;
|
||||
|
||||
case EN_QTIME:
|
||||
Qtime = value;
|
||||
break;
|
||||
|
||||
default:
|
||||
return(251);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
@@ -2396,8 +2421,8 @@ int DLLEXPORT ENsetoption(int code, EN_API_FLOAT_TYPE v)
|
||||
** Input: code = option code (see TOOLKIT.H)
|
||||
** v = option value
|
||||
** Output: none
|
||||
** Returns: error code
|
||||
** Purpose: sets value for an analysis option
|
||||
** Returns: error code
|
||||
** Purpose: sets value for an analysis option
|
||||
**----------------------------------------------------------------
|
||||
*/
|
||||
{
|
||||
|
||||
@@ -233,7 +233,7 @@ int runqual(long *t)
|
||||
Htime = hydtime + hydstep;
|
||||
}
|
||||
else {
|
||||
// stepwise calculation
|
||||
// stepwise calculation - hydraulic results are already in memory
|
||||
for (int i=1; i<= Ntanks; ++i) {
|
||||
QTankVolumes[i-1] = Tank[i].V;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user