@@ -1355,7 +1355,12 @@ int DLLEXPORT EN_setoption(EN_Project p, int option, double value)
|
||||
|
||||
case EN_SP_GRAVITY:
|
||||
if (value <= 0.0) return 213;
|
||||
if (p->parser.Pressflag == PSI ||
|
||||
p->parser.Pressflag == KPA ||
|
||||
p->parser.Pressflag == BAR)
|
||||
{
|
||||
Ucf[PRESSURE] *= (value / hyd->SpGrav);
|
||||
}
|
||||
hyd->SpGrav = value;
|
||||
break;
|
||||
|
||||
@@ -2285,7 +2290,7 @@ int DLLEXPORT EN_getnodevalue(EN_Project p, int index, int property, double *val
|
||||
v = 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));
|
||||
}
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
Node[index].Ke = value;
|
||||
|
||||
@@ -453,10 +453,10 @@ void initunits(Project *pr)
|
||||
|
||||
strcpy(rpt->Field[PRESSURE].Units, PressUnitsTxt[parser->Pressflag]);
|
||||
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 == 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, "");
|
||||
ccf = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user