Skip to content

Commit

Permalink
Corrected function argument to ffCon
Browse files Browse the repository at this point in the history
For #3146
  • Loading branch information
mwetter committed Nov 10, 2022
1 parent c1ace10 commit b6b12bd
Show file tree
Hide file tree
Showing 14 changed files with 113 additions and 100 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ initial algorithm
x=1,
c=sta[iSta].perCur.capFunFFCon,
xMin=sta[iSta].perCur.ffConMin,
xMax=sta[iSta].perCur.ffConMin),
xMax=sta[iSta].perCur.ffConMax),
msg="Capacity as a function of normalized water mass flow rate at the condenser",
curveName="sta[" + String(iSta) + "].perCur.capFunFFCon");

Expand All @@ -37,7 +37,7 @@ initial algorithm
x=1,
c=sta[iSta].perCur.EIRFunFF,
xMin=sta[iSta].perCur.ffConMin,
xMax=sta[iSta].perCur.ffConMin),
xMax=sta[iSta].perCur.ffConMax),
msg="EIR as a function of normalized water mass flow rate at the condenser",
curveName="sta[" + String(iSta) + "].perCur.EIRFunFFCon");
end for;
Expand Down Expand Up @@ -65,21 +65,21 @@ if stage > 0 then
//-------------------------Cooling capacity modifiers----------------------------//

cap_FFCon[iSta] = Buildings.Fluid.Utilities.extendedPolynomial(
x=ff[iSta],
x=ffCon[iSta],
c=sta[iSta].perCur.capFunFFCon,
xMin=sta[iSta].perCur.ffConMin,
xMax=sta[iSta].perCur.ffConMin);
xMax=sta[iSta].perCur.ffConMax);
//-----------------------Energy Input Ratio modifiers--------------------------//
EIR_FFCon[iSta] = Buildings.Fluid.Utilities.extendedPolynomial(
x=ff[iSta],
x=ffCon[iSta],
c=sta[iSta].perCur.EIRFunFFCon,
xMin=sta[iSta].perCur.ffConMin,
xMax=sta[iSta].perCur.ffConMin)
xMax=sta[iSta].perCur.ffConMax)
"Cooling capacity modification factor as function of flow fraction";
//------------ Correction factor for flow rate outside of validity of data ---//
corFacCon[iSta] =Buildings.Utilities.Math.Functions.smoothHeaviside(
x=ffCon[iSta] - sta[iSta].perCur.ffConMin/4,
delta=max(Modelica.Constants.eps, sta[iSta].perCur.ffConMin/4));
delta=max(Modelica.Constants.eps, sta[iSta].perCur.ffConMin/8));

Q_flow[iSta] = corFac[iSta]*corFacCon[iSta]*cap_T[iSta]*cap_FF[iSta]*cap_FFCon[iSta]*sta[iSta].nomVal.Q_flow_nominal;
EIR[iSta] = corFac[iSta]*corFacCon[iSta]*EIR_T[iSta]*EIR_FF[iSta]*EIR_FFCon[iSta]/sta[iSta].nomVal.COP_nominal;
Expand Down Expand Up @@ -147,15 +147,22 @@ if stage > 0 then
revisions="<html>
<ul>
<li>
February 17, 2017 by Yangyang Fu:<br/>
First implementation.
November 8, 2022, by Michael Wetter:<br/>
Corrected calculation of performance which used the wrong upper bound, and
which used <code>ff</code> instead of <code>ffCon</code> for calculating <code>cap_FFCon</code>.<br/>
This is for
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/3146\">issue 3146</a>.
</li>
<li>
October 21, 2019, by Michael Wetter:<br/>
Ensured that transition interval for computation of <code>corFac</code> is non-zero.<br/>
This is for
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/1202\">issue 1202</a>.
</li>
<li>
February 17, 2017 by Yangyang Fu:<br/>
First implementation.
</li>
</ul>

</html>"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ initial algorithm
x=1,
c=sta[iSta].perCur.capFunFF,
xMin=sta[iSta].perCur.ffMin,
xMax=sta[iSta].perCur.ffMin),
xMax=sta[iSta].perCur.ffMax),
msg="Capacity as a function of normalized mass flow rate ",
curveName="sta[" + String(iSta) + "].perCur.capFunFF");

Expand All @@ -107,7 +107,7 @@ initial algorithm
x=1,
c=sta[iSta].perCur.EIRFunFF,
xMin=sta[iSta].perCur.ffMin,
xMax=sta[iSta].perCur.ffMin),
xMax=sta[iSta].perCur.ffMax),
msg="EIR as a function of normalized mass flow rate ",
curveName="sta[" + String(iSta) + "].perCur.EIRFunFF");
end for;
Expand Down Expand Up @@ -183,7 +183,7 @@ if stage > 0 then
x=ff[iSta],
c=sta[iSta].perCur.capFunFF,
xMin=sta[iSta].perCur.ffMin,
xMax=sta[iSta].perCur.ffMin);
xMax=sta[iSta].perCur.ffMax);
//-----------------------Energy Input Ratio modifiers--------------------------//
EIR_T[iSta] =Buildings.Utilities.Math.Functions.smoothMax(
x1=Buildings.Utilities.Math.Functions.biquadratic(
Expand All @@ -196,12 +196,12 @@ if stage > 0 then
x=ff[iSta],
c=sta[iSta].perCur.EIRFunFF,
xMin=sta[iSta].perCur.ffMin,
xMax=sta[iSta].perCur.ffMin)
xMax=sta[iSta].perCur.ffMax)
"Cooling capacity modification factor as function of flow fraction";
//------------ Correction factor for flow rate outside of validity of data ---//
corFac[iSta] =Buildings.Utilities.Math.Functions.smoothHeaviside(
x=ff[iSta] - sta[iSta].perCur.ffMin/4,
delta=max(Modelica.Constants.eps, sta[iSta].perCur.ffMin/4));
delta=max(Modelica.Constants.eps, sta[iSta].perCur.ffMin/8));

end for;
else //cooling coil off
Expand Down Expand Up @@ -400,6 +400,12 @@ so that both are zero if <i>ff &lt; ff<sub>min</sub>/4</i>, where
revisions="<html>
<ul>
<li>
November 8, 2022, by Michael Wetter:<br/>
Corrected calculation of performance which used the wrong upper bound.<br/>
This is for
<a href=\"https://github.com/ibpsa/modelica-ibpsa/issues/3146\">issue 3146</a>.
</li>
<li>
October 21, 2019, by Michael Wetter:<br/>
Ensured that transition interval for computation of <code>corFac</code> is non-zero.<br/>
This is for
Expand Down

Large diffs are not rendered by default.

0 comments on commit b6b12bd

Please sign in to comment.