11
src/epanet.c
11
src/epanet.c
@@ -1355,7 +1355,12 @@ int DLLEXPORT EN_setoption(EN_Project p, int option, double value)
|
|||||||
|
|
||||||
case EN_SP_GRAVITY:
|
case EN_SP_GRAVITY:
|
||||||
if (value <= 0.0) return 213;
|
if (value <= 0.0) return 213;
|
||||||
Ucf[PRESSURE] *= (value / hyd->SpGrav);
|
if (p->parser.Pressflag == PSI ||
|
||||||
|
p->parser.Pressflag == KPA ||
|
||||||
|
p->parser.Pressflag == BAR)
|
||||||
|
{
|
||||||
|
Ucf[PRESSURE] *= (value / hyd->SpGrav);
|
||||||
|
}
|
||||||
hyd->SpGrav = value;
|
hyd->SpGrav = value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2285,7 +2290,7 @@ int DLLEXPORT EN_getnodevalue(EN_Project p, int index, int property, double *val
|
|||||||
v = 0.0;
|
v = 0.0;
|
||||||
if (Node[index].Ke > 0.0)
|
if (Node[index].Ke > 0.0)
|
||||||
{
|
{
|
||||||
ecfTmp = (parser->Unitsflag == US) ? (PSIperFT * hyd->SpGrav) : (MperFT * hyd->SpGrav);
|
ecfTmp = (parser->Unitsflag == US) ? (PSIperFT * hyd->SpGrav) : MperFT;
|
||||||
v = Ucf[FLOW] / pow((ecfTmp * Node[index].Ke), (1.0 / hyd->Qexp));
|
v = Ucf[FLOW] / pow((ecfTmp * Node[index].Ke), (1.0 / hyd->Qexp));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -2533,7 +2538,7 @@ int DLLEXPORT EN_setnodevalue(EN_Project p, int index, int property, double valu
|
|||||||
if (value < 0.0) return 209;
|
if (value < 0.0) return 209;
|
||||||
if (value > 0.0)
|
if (value > 0.0)
|
||||||
{
|
{
|
||||||
ecfTmp = (parser->Unitsflag == US) ? (PSIperFT * hyd->SpGrav) : (MperFT * hyd->SpGrav);
|
ecfTmp = (parser->Unitsflag == US) ? (PSIperFT * hyd->SpGrav) : MperFT;
|
||||||
value = pow((Ucf[FLOW] / value), hyd->Qexp) / ecfTmp;
|
value = pow((Ucf[FLOW] / value), hyd->Qexp) / ecfTmp;
|
||||||
}
|
}
|
||||||
Node[index].Ke = value;
|
Node[index].Ke = value;
|
||||||
|
|||||||
@@ -453,10 +453,10 @@ void initunits(Project *pr)
|
|||||||
|
|
||||||
strcpy(rpt->Field[PRESSURE].Units, PressUnitsTxt[parser->Pressflag]);
|
strcpy(rpt->Field[PRESSURE].Units, PressUnitsTxt[parser->Pressflag]);
|
||||||
pcf = PSIperFT * hyd->SpGrav; // Default to PSI
|
pcf = PSIperFT * hyd->SpGrav; // Default to PSI
|
||||||
if (parser->Pressflag == METERS) pcf = MperFT * hyd->SpGrav;
|
if (parser->Pressflag == METERS) pcf = MperFT;
|
||||||
if (parser->Pressflag == KPA) pcf = KPAperPSI * PSIperFT * hyd->SpGrav;
|
if (parser->Pressflag == KPA) pcf = KPAperPSI * PSIperFT * hyd->SpGrav;
|
||||||
if (parser->Pressflag == BAR) pcf = BARperPSI * PSIperFT * hyd->SpGrav;
|
if (parser->Pressflag == BAR) pcf = BARperPSI * PSIperFT * hyd->SpGrav;
|
||||||
if (parser->Pressflag == FEET) pcf = 1.0 * hyd->SpGrav;
|
if (parser->Pressflag == FEET) pcf = 1.0;
|
||||||
|
|
||||||
strcpy(rpt->Field[QUALITY].Units, "");
|
strcpy(rpt->Field[QUALITY].Units, "");
|
||||||
ccf = 1.0;
|
ccf = 1.0;
|
||||||
|
|||||||
Reference in New Issue
Block a user