NREL / EnergyPlus

EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.
https://energyplus.net
Other
1.06k stars 379 forks source link

HPWH Rated Coil Bypass Factor being calculated at simulation elevation instead of sea level #5110

Closed nmerket closed 8 years ago

nmerket commented 8 years ago

When a heat pump water heater is used at anywhere at elevation, the StdBaroPress for that elevation is used to calculate the rated coil bypass factor for that unit when it should use the barometric pressure at sea level.

   ** Severe  ** For object = Coil:WaterHeating:AirToWaterHeatPump:Wrapped, name = "HPWH COIL_1"
   **   ~~~   ** Calculated outlet air relative humidity greater than 1. The combination of
   **   ~~~   ** rated air volume flow rate, total cooling capacity and sensible heat ratio yields coil exiting
   **   ~~~   ** air conditions above the saturation curve. Possible fixes are to reduce the rated total cooling
   **   ~~~   ** capacity, increase the rated air volume flow rate, or reduce the rated sensible heat ratio for this coil.
   **   ~~~   ** If autosizing, it is recommended that all three of these values be autosized.
   **   ~~~   ** ...Inputs used for calculating cooling coil bypass factor.
   **   ~~~   ** ...Inlet Air Temperature     = 19.72 C
   **   ~~~   ** ...Outlet Air Temperature    = 6.20 C
   **   ~~~   ** ...Inlet Air Humidity Ratio  = 8.756020E-003 kgWater/kgDryAir
   **   ~~~   ** ...Outlet Air Humidity Ratio = 8.015009E-003 kgWater/kgDryAir
   **   ~~~   ** ...Total Cooling Capacity used in calculation = 1303.60 W
   **   ~~~   ** ...Air Mass Flow Rate used in calculation     = 8.319111E-002 kg/s
   **   ~~~   ** ...Air Volume Flow Rate used in calculation   = 8.542249E-002 m3/s
   **   ~~~   ** ...Air Volume Flow Rate per Watt of Rated Cooling Capacity is also out of bounds at = 6.5528207E-005 m3/s/W
   **   ~~~   **  During Warmup, Environment=PLANT DD, at Simulation time=01/01 00:00 - 00:01

@jmaguire1

mjwitte commented 8 years ago

Hmm, not sure that would be consistent with the general standard air density assumptions in EnergyPlus which generally use the standard barometric pressure at the local elevation. Have you found anywhere in EnergyPlus that uses sea level? @rraustad ?

nmerket commented 8 years ago

I'm sorry, I was not clear in my description. This is only a problem when calculating the rated CBF because they're rated at sea level barometric pressure. In operation it should, of course, use the barometric pressure at altitude.

mjwitte commented 8 years ago

My question still stands, because EnergyPlus reports many other rated values. e.g. Rated Sensible Heat Ratio.

jmaguire1 commented 8 years ago

I'm not sure I follow your question. If EnergyPlus is doing a calculation using the rated humidity and air temperature, why wouldn't you also use the rated air pressure?

mjwitte commented 8 years ago

Rated can mean a lot of different things. In EnergyPlus, Rated Air Volume Flow Rates get converted into mass flow using the standard density at the local elevation (not sea level). So, right or wrong, if all the rated values are to be consistent with each other, it seems the rated CBF should also be at the local elevation. But I'm not 100% certain about this, so will wait for @rraustad or @Nigusse to chime in.

rraustad commented 8 years ago

The DX coil is rated at standard pressure, which is hidden in the mass flow rate conversion:

DXCoil.RatedAirMassFlowRate = DXCoil.RatedAirVolFlowRate * PsyRhoAirFnPbTdbW( StdBaroPress, RatedInletAirTemp, RatedInletAirHumRat, RoutineName ); Then the coil gets sized based on sizing data and this air mass flow rate.

StdBaroPress = 101325.0; (this does not get converted based on elevation)

On 8/17/2015 3:04 PM, Michael J. Witte wrote:

/Rated/ can mean a lot of different things. In EnergyPlus, Rated Air Volume Flow Rates get converted into mass flow using the standard density at the local elevation (not sea level). So, right or wrong, if all the rated values are to be consistent with each other, it seems the rated CBF should also be at the local elevation. But I'm not 100% certain about this, so will wait for @rraustad https://github.com/rraustad or @Nigusse https://github.com/Nigusse to chime in.

— Reply to this email directly or view it on GitHub https://github.com/NREL/EnergyPlus/issues/5110#issuecomment-131931486.

Richard Raustad Florida Solar Energy Center 1679 Clearlake Road Cocoa, FL 32922 Ph: (321)638-1454 http://www.fsec.ucf.edu/en/

Program Director Electric Vehicle Transportation Center http://evtc.fsec.ucf.edu/

mjwitte commented 8 years ago

@rraustad That's what it is initialized to in DataEnvironment.cc, but WeatherManager changes it

            StdBaroPress = 101.325 * std::pow( 1.0 - 2.25577e-05 * Elevation, 5.2559 );
            StdBaroPress *= 1000.0;
            StdRhoAir = PsyRhoAirFnPbTdbW( StdBaroPress, constant_twenty, constant_zero );
rraustad commented 8 years ago

OK, I missed that in the search.

On 8/17/2015 3:28 PM, Michael J. Witte wrote:

@rraustad https://github.com/rraustad That's what it is initialized to in DataEnvironment.cc, but WeatherManager changes it

|StdBaroPress = 101.325 * std::pow( 1.0 - 2.25577e-05 * Elevation, 5.2559 ); StdBaroPress *= 1000.0; StdRhoAir = PsyRhoAirFnPbTdbW( StdBaroPress, constant_twenty, constant_zero ); |

— Reply to this email directly or view it on GitHub https://github.com/NREL/EnergyPlus/issues/5110#issuecomment-131936711.

Richard Raustad Florida Solar Energy Center 1679 Clearlake Road Cocoa, FL 32922 Ph: (321)638-1454 http://www.fsec.ucf.edu/en/

Program Director Electric Vehicle Transportation Center http://evtc.fsec.ucf.edu/

nmerket commented 8 years ago

Yes, and when I put it in the debugger, it's definitely the modified version from the weather manager.

EnergyArchmage commented 8 years ago

I just ran into this today and ended up using this locally

Psychrometrics::PsyRhoAirFnPbTdbW( 101325.0, 20.0, 0.0);

mjwitte commented 8 years ago

@EnergyArchmage Why? Searching for 101325 reveals quite a few places where this is being used. Seems we should have a constant for StdBaroPressSeaLevel (or such) so it's clear when one is being used vs the one at elevation. But when is it right to use sea level vs local elevation and is this being done properly everywhere.

EnergyArchmage commented 8 years ago

I agree, if it existed in a general place I would use it.

nmerket commented 8 years ago

Just created a new branch and pull request #5116 with:

EnergyArchmage commented 8 years ago

As to when, I now believe it can be technically correct to use a non-elevation adjusted density and pressure in certain special situations when converting "catalog" type, rated performance data that are expected to be given for sea level. Because to do otherwise is to ignore that catalog data are (typically) only given for sea level, and the less dense air at elevation does impact performance. Only rating point data used to scale or otherwise characterize the general performance of equipment should use STP (101325 PA, 20C, dry air (ala NIST); the actual primary inputs and calculations for simulating operation should use elevation-adjusted pressure and density, as is usual now. For example in the four pipe model I am working on, the user design air flow rate is normalized by dividing by a catalog rating point air flow rate. My current plan is that the numerator gets elevation-adjusted density when converting to mass flow but the denominator gets sea level density when converting to mass flow. This allows scaling performance properly I think. If both were using elevation adjusted density, then the catalog rating point will have been magically and silently transferred to be the same at elevation which seems wrong.

It is conceptually difficult and needs to be thought through on a case by case basis to figure out places where existing models may need to be improved. But for example, good candidates for investigation would be thinks like the rated air flows for different speed levels in the variable speed coils.

mjwitte commented 8 years ago

Good points. It seems that capacities also need to be scaled in a similar manner. If one hard sizes the flow and capacity at a given speed, for example, if both are assumed to be at sea level, then the capacity corresponds to that higher mass flow rate and should be derated when the simulation adjusts that to a smaller mass flow rate due to elevation.

nmerket commented 8 years ago

Heads up: I made some more pushes to #5116 towards fixing this. Any review would be appreciated.