Fan power calculation for variable speed Fan:OnOff
I am modeling a multispeed coil (Coil:Cooling:DX:Multispeed) and a variable speed fan using the Fan:OnOff object (I want it to be able to cycle). According to the documentation, if you wish to model a variable speed fan you need to provide a fan curve that represents the ratio of actual fan power to rated fan power when a change in fan speed occurs. If my understanding of the documentation is correct, for example, if my rated fan power is 1000W and that my fan is running at a PLR of 0.6 and that my curve returns a value of 0.4 my actual fan power should be 400W. I tried with several different curves but I couldn’t get my fan power to be calculated according to my interpretation.
To get a better understanding of what EnergyPlus is doing, I took a quick peek at the source code. I noticed that on line 1926 through 1930 there is an if/else statement that sets the fan run time fraction equals to the part load ratio if “OnOffFanPartLoadFraction” is equal to 1. In the case where my fan’s “OnOffFanPartLoadFRaction” is 1 but is running at a PLR < 1, then the fan runtime fraction used in the fan power calculation is going to be equal to my PLR and used as is in the fan power calculation. I ran hourly reports and for all hours where my fan PLR was < 1 but the fan RTF = 1, I divided the fan power calculated by EnergyPlus by the hourly PLR and got the fan power I was expecting to get, which for the previous example (rated fan power 1000W, at a PLR of 0.6 output of the curve 0.4) EnergyPlus is returning a fan power = 1000 * 0.6 * 0.4, whereas if my understanding of the documentation is correct it should return 1000 * 0.4.
To get what I wanted, I created a new curve based on the regression of the output of my original curve divided by the PLR as a function of the PLR. However, I am still curious to know what is going on, if I am just not interpreting the documentation properly or if there is something going on with the code or if something else in my model could be causing this behavior.
EDIT:
@rraustad: Thank you for providing an explanation of the code. Perhaps my question was not well written because I’m not sure you understood what I am trying to do. In short, I would like the fan power to be calculated using a fan power modifier that is function of the fan part load ratio. In DOE-2, this can be done using the FAN-EIR-FPLR keyword which is defined as follows:
FAN-EIR-FPLR is a “curve that gives the ratio of fan electric energy to full-load fan electric energy, as a function of part-load ratio […]”
In my EnergyPlus model I have to use a Fan:OnOff object since I ...
You did not say whether you are using the fan efficiency curve and what your exponential curve looks like. The example file PackagedTerminalHeatPump has example fan power:
... and fan efficiency as:
P.S. at PLR = 0.4 your curve output is negative. Min PLR should be 0.43333
I am not using a fan efficiency curve. I am using a minimum curve output of 0.4 to avoid negative values. My exponential curve has C1 = -0.7647, C2 = 1.7647 and C3 = 1.
Email me your idf so I can see how your inputs are handled in the fan object.
Looks like it's working as intended. Add a report variable for Fan Electric Power and change the reporting frequency from hourly to detailed for ALL report variables so you can see them side-by-side.