Closed mjwitte closed 4 years ago
Also, see helpdesk ticket 13106 - odd electric values. Defect files added to EnergyPlusDevSupport\DefectFiles. Reference also Unmethours 35582.
May I add a request that the CentralHeatPumpSystem output values of Ancillary Power and Ancillary Energy, similar to the Boiler and IceThermalStorage objects?
Thanks for the details of defects. @mjwitte The example IDF has RunPeriod of a week from 5.1-5.5. I did a whole year simulation (CentralChillerHeaterSystem_Simultaneous_Cooling_Heating), using the Melbourne Australia weather file. Version 9.2.
Here is phase-1 to recreate the defects, for each item below:
Negative heat transfer rate for ground heat exchanger for a whole year. From the figure based on the simulations, it is obvious during most time steps the heat transfer rate < 0. However, there are a few time steps when heat transfer rate >0 . Please see this figure:
2.1. Ground heat exchange only operates in heating mode. ( No need to work ) From the figure we can see it has multiple modes. According to InputOutput Ref we have the mode definitions:
2.2. Flows to the HX are zero when the system is cooling. ( No need to work ) Above figure shows the HX flow rate all year along. It looks like in cooling/heating/heat-recovery modes, the flow rate is not zero. I think it might be some changes in recent source code, comparing to the results two years ago.
Both files have unused district heating and cooling objects that should be removed. yes. They will be removed.
Details will be in #5808
InputOutput Ref will remove "autosizeable"
IDD and I/O ref talk about bi-cubic curves. Both will be updated.
Details will be provided later
From the PlantCenterlGSHP.cc, it was changed to 6.7 from 12.2 already. ( No need to work )
Negative values for HEATPUMP:Chiller Heater Cooling Electric Energy Unit 1: ( No need to work ) I didn't find the Electric Energy, but i have Electric Power values as in the figure below: It looks like the electric energy is not negative. Probably because of some changes in recent version EnergyPlus, comparing to 2 year ago when the bug was reported.
I will provide details later
Some updates for above issues: Q1: After further checking source code in GroundHeatExchangers.cc, the ground heat exchanger heat transfer rate is calculated by:
`QGLHE = tmpQnSubHourly * totalTubeLength`
where QGLHE is impacted by tmpQnSubHourly, because totalTubeLength is a constant.
tmpQnSubHourly is subject to calculations of the following snippet:
// Dr.Spitler's Explicit set of equations to calculate the New Outlet Temperature of the U-Tube
C0 = RQSubHr;
C1 = tempGround - (sumTotal - QnSubHr(1) * RQSubHr);
C2 = totalTubeLength / (2.0 * massFlowRate * cpFluid);
C3 = massFlowRate * cpFluid / (totalTubeLength);
tmpQnSubHourly = (C1 - inletTemp) / (HXResistance + C0 - C2 + (1 / C3));
fluidAveTemp = C1 - (C0 + HXResistance) * tmpQnSubHourly;
ToutNew = C1 + (C2 - C0 - HXResistance) * tmpQnSubHourly;
The negative/positive value of tmpQSubHourly is subject to the difference between the tempGround and [inletTemp + sumTotal - *QnSubHr(1) RQSubHr**]
The figure below shows the difference is big.
By talking to Dr. Matt Mitchell, he is working on completely rewriting the GroundHeatExchangers.cc, using the enhanced/updated models based on his PhD dissertation. The updated model will fix the related issues. Because the old model assumes steady state calculations, instead of transient calculations. This might the root cause of the issue. Here I only update the issue related with 5,6,7,8.
It looks like the only change necessary is division by zero in 7.
I couldn't verify the crash, but I'll leave this closed via the PR. If anyone still encounters this, just reopen.
Hi - just want to bring this back up... I've been working with this system (centralheatpump, based on the CentralChillerHeaterSystem_Cooling_Heating.idf, and CentralChillerHeaterSystem_Simultaneous_Cooling_Heating.idf example files, and things don't make sense to me.
The answer above from Yanfei, in particular that the simulation is not broken because the heat transfer is positive for a few hours per year.... doesn't seem like good reason to dismiss that issue (it seems like only the divide by zero was addressed?). From what I can tell, in version 23.2 the model is doing things which don't make physical sense.
Some things I've observed while running the example files (I also tried running for full year, other climates etc).
This screenshot is from the CentralChillerHeaterSystem_Cooling_Heating.idf, run with the CAN_ON_Toronto.Pearson.Intl.AP.716240_CWEC2016.epw
Thanks, Alex
Issue overview
User notes that example file CentralChillerHeaterSystem_Simultaneous_Cooling_Heating does not seem to be working. Reviewing this file, and the companion CentralChillerHeaterSystem_Cooling_Heating, there are some problems:
The heat transfer from the ground heat exchanger is always negative.
The ground heat exchanger is only operating when the central heat pump system is in heating mode. Flows to the HX are zero when the system is cooling, so where is the heat rejection going?
Both files have unused district heating and cooling objects that should be removed.
Also see #5808
The IDD is missing the "autosizable" tag for ChillerHeaterPerformance:Electric:EIR field "Design Hot Water Flow Rate". MJW 15 Feb 2019 - quick inspection of the code says this isn't autosizeable, that's why.
And the curve types are wrong for the ChillerHeaterPerformance:Electric:EIR fPLR curves - the code assumes a single variable curve. IDD and I/O ref talk about bi-cubic curves. This needs review, but it appears these should just accept any univariate curve or table.
And user file trips over divide by zero here. At this point CHPower and FRAC are zero, because QEvaporator is zero. Regardless of why QEvaporater is zero (there are many places in the code above where this can happen), this line needs protection for divide by zero and possibly a whole block can be skipped when it's zero.
So, QEvaporator is zero because of this check here. TempLowLimitEout =12.2, EvapInletTemp =8.0, and EvapOutletTempSetPoint = 6.7. So, the setpoint is 6.7 but the min temp limit is 12.2. Is this an input error or a logic flaw? The 12.2 comes from here
This field is being misapplied in the model as lower limit on leaving chilled water temp.
Defect file has times with negative values for HEATPUMP:Chiller Heater Cooling Electric Energy Unit 1.
With the 12.22 changed to 6.7, there's another place that divides by zero because ReferenceCOP = 0 here. That's zero, because the heating capacity calcs are done here before the cooling cap has been sized! What a mess. Are there other places that aren't fully compatible with autosizing this component?
Details
Some additional details for this issue (if relevant):
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.