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