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.14k stars 392 forks source link

Fatal error for autosizing when using WaterHeater:Mixed #10574

Closed CarlosOchoaIERC closed 3 months ago

CarlosOchoaIERC commented 4 months ago

Issue overview

Similar to #10464 , there is a fatal error when forward translating an old file and asking to autosize the WaterHeater:Mixed

Severe DualSetPointWithDeadBand: Unanticipated combination of heating and cooling loads - report to EnergyPlus Development Team ~~~ occurs in Zone=BLOCK1:ZONE1 During Warmup, Environment=DUBLIN ANN HTG 99.6% CONDNS DB, at Simulation time=02/21 00:00 - 00:10 ~~~ LoadToHeatingSetPoint=NAN, LoadToCoolingSetPoint=NAN ~~~ Zone Heating Set-point=20.00 ~~~ Zone Cooling Set-point=20.00 ~~~ Zone TempDepZnLd=2367.13 ~~~ Zone TempIndZnLd=NAN ~~~ Zone ThermostatSetPoint=20.00

The issue disappears if the water tank is provided with a fixed volume. All the schedules cover the relevant DesignDays.

Details

Some additional details for this issue (if relevant):

jmarrec commented 4 months ago

@CarlosOchoaIERC Can you attach the IDF file to reproduce please?

CarlosOchoaIERC commented 4 months ago

Solar Colector 10 m2 - PV 20 m2-Customized.zip Hi, I'm attaching the file as zip since GitHub says it does not support .idf

jmarrec commented 4 months ago

@CarlosOchoaIERC so this file runs fine, and has no WaterHeater:Mixed that has an autosized volume. It has 4 Waterheater:Mixed objects, which one am I supposed to set to autosized volume?

Trial and error: setting Solar Loop Water Heater to autosize is sufficient to produce the NaNs.

CarlosOchoaIERC commented 4 months ago

@CarlosOchoaIERC so this file runs fine, and has no WaterHeater:Mixed that has an autosized volume. It has 4 Waterheater:Mixed objects, which one am I supposed to set to autosized volume?

Trial and error: setting Solar Loop Water Heater to autosize is sufficient to produce the NaNs.

Hi Julien, they were all supposed to be initially in autosize. Hope this helps.

jmarrec commented 4 months ago

The issue is specific to the Solar Loop Water Heater. It's really a very specific combination of factors that lead to the issue:

As a result the collector area is found to be 0.0, there are zero warnings/errors reported.

The tank volume becomes zero, so the mass of the fluid is also 0, and in CalcTankTemp, you end up with a NaN due to a divide by zero.

This tank has "Ambient Temperature Indicator" set to "Zone", and that NaN propagates to the zone internal gains, and you end up with a DualSetPointWithDeadBand error due to that.

PR that fixes it:

CarlosOchoaIERC commented 4 months ago

Thanks a lot for the thorough analysis!