diff --git a/build/Xcode/epanet/epanet.xcodeproj/project.pbxproj b/build/Xcode/epanet/epanet.xcodeproj/project.pbxproj index f2d2e6f..30d1018 100644 --- a/build/Xcode/epanet/epanet.xcodeproj/project.pbxproj +++ b/build/Xcode/epanet/epanet.xcodeproj/project.pbxproj @@ -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 = ""; }; - 2298EBDB16B17DBD0088A6DC /* LemonTiger */ = { - isa = PBXGroup; - children = ( - ); - name = LemonTiger; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ diff --git a/include/epanet2.h b/include/epanet2.h index f54ff9b..d851a43 100644 --- a/include/epanet2.h +++ b/include/epanet2.h @@ -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 */ diff --git a/src/epanet.c b/src/epanet.c index 998dd44..d3e0be7 100755 --- a/src/epanet.c +++ b/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 **---------------------------------------------------------------- */ { diff --git a/src/quality.c b/src/quality.c index f7925df..d17af7c 100755 --- a/src/quality.c +++ b/src/quality.c @@ -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; }