needed mods

- adding qtime setter
- formatting issues
This commit is contained in:
Sam Hatchett
2013-07-19 17:36:04 -04:00
parent ba82aee97d
commit 15d187433f
4 changed files with 73 additions and 55 deletions

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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
**----------------------------------------------------------------
*/
{

View File

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