3

Anyone facing problem in simulating Prototype Building Models?

I am simulating ASHRAE901_OfficeLarge_STD2004 and ASHRAE901_OfficeLarge_STD2007 for Houston and Miami. I updated the idf files using the version updater to run with E+ V8.6.

For both cities, I am getting fatal error. I did the same process on ASHRAE901_OfficeLarge_STD2013 and got the results without any errors. Is anyone else facing problem for 2004 and 2007 files?

You can find the Prototype Models in question on energycodes.gov.

kpp's avatar
219
kpp
asked 2017-02-20 14:35:36 -0500
__AmirRoth__'s avatar
4.4k
__AmirRoth__
updated 2017-04-04 08:43:50 -0500
edit flag offensive 0 remove flag close merge delete

Comments

1

It would have been helpful to include the Fatal Error in question.

Julien Marrec's avatar Julien Marrec (2017-02-21 04:28:49 -0500) edit
add a comment see more comments

2 Answers

6

I'm having the same problem as you. Since you didn't provide the actual error, here it is (in this case, for 2004 - Houston):

** Severe  ** Problem found in EMS EnergyPlus Runtime Language.
**   ~~~   ** Erl program name: DATACENTER_MAIN
**   ~~~   ** Erl program line number: 12
**   ~~~   ** Erl program line text: SET DATACENTER_PREHEATDELTAT = HEATGAIN/(1.08*FLOWRATE)
**   ~~~   ** Error message:  *** Error: EvaluateExpression: Divide By Zero in EMS Program! *** 
**   ~~~   **  During Warmup, Environment=HOUSTON BUSH INTERCONTINENTAL ANN HTG 99.6% CONDNS DB, at Simulation time=01/21 00:00 - 00:15
**  Fatal  ** Previous EMS error caused program termination.
...Summary of Errors that led to program termination:
..... Reference severe error count=1
..... Last severe error=Problem found in EMS EnergyPlus Runtime Language.
** Warning ** There is no BYPASS component in the demand-side of PlantLoop =COOLSYS1
**   ~~~   ** You may be able to fix the fatal error above by adding a demand-side BYPASS PIPE.

Quick Fix

But, if you want to fix it quickly without questions asked, replace the line (circa line 14735)

 IF T_OA < 10,,

With:

 IF T_OA < 10 && DataCenter_HeatC_Status >0,

I got this idea by looking at the 2013 vintage.

A discussion about this EMS program

The faulty EMS program is here:

EnergyManagementSystem:Program,
    DataCenter_Main,          !- Name
    IF DataCenter_Humidifier_Status > 0,   !- Program Line 1
    SET DataCenter_ExtraElecHeatC_Status = 1,   !- Program Line 2
    SET DataCenter_ExtraElecHeatC_SP = DataCenter_AfterHumidifier_Temp + 1.4,   !- <none>
    ELSE,                     !- <none>
    SET DataCenter_ExtraElecHeatC_Status = 0,   !- <none>
    SET DataCenter_ExtraElecHeatC_SP = NULL,   !- <none>
    ENDIF,                    !- <none>
    IF T_OA < 10,,                        !- <none>
    SET HeatGain = 0 * (DataCenter_FanDesignMass/1.2) *2118,  !- <none>
    SET FlowRate = (DataCenter_FanMassFlow/1.2)*2118,  !- <none>
    SET DataCenter_PreheatDeltaT = HeatGain/(1.08*FlowRate),  !- <none>
    SET DataCenter_ExtraWaterHeatC_Status = 1,  !- <none>
    SET DataCenter_ExtraWaterHeatC_SP = DataCenter_AfterElecHeatC_Temp + DataCenter_PreheatDeltaT,  !- <none>
    ELSE,                    !- <none>
    SET DataCenter_ExtraWaterHeatC_Status = 0,  !- <none>
    SET DataCenter_ExtraWaterHeatC_SP = NULL,  !- <none>
    ENDIF;                   !- <none>

The guilty line is the last of these three:

SET HeatGain = 0 * (DataCenter_FanDesignMass/1.2) *2118,  !- <none>
SET FlowRate = (DataCenter_FanMassFlow/1.2)*2118,
SET DataCenter_PreheatDeltaT = HeatGain/(1.08*FlowRate),  !- <none>

Here's the related sensor:

  EnergyManagementSystem:Sensor,
    DataCenter_FanMassFlow,  !- Name
    AirLoop DataCenter Basement Supply Fan Outlet,  !- Output:Variable or Output:Meter Index Key Name
    System Node Mass Flow Rate;  !- Output:Variable or Output:Meter Name

So when the mass flow rate of the fan is zero, you're in effect dividing by zero in the EMS program.

I think the biggest question is actually why HeatGain is in an expression that always evaluates to zero, which means DataCenter_PreheatDeltaT would always be zero regardless of the fan mass flow rate. Second question is why HeatGain is a calculated on the Fan Maximum Mass Flow Rate since it's based on this internal variable:

  EnergyManagementSystem:InternalVariable,
    DataCenter_FanDesignMass,!- Name
    DataCenter Basement Supply Fan,  !- Internal Data Index Key Name
    Fan Maximum Mass Flow Rate;  !- Internal Data Type

Long story short, I'd welcome input from people who created these files to explain this EMS program.

Julien Marrec's avatar
29.7k
Julien Marrec
answered 2017-02-21 04:36:57 -0500, updated 2017-02-21 05:04:18 -0500
edit flag offensive 0 remove flag delete link

Comments

Thank you for the extensive answer. I ran into a similar problem on ASHRAE90.1_Hospital_STD2007_Baltimore.idf

Following your example, I referenced the 2013 files and added the && XYZ_HeatC_Status >0 to the lines causing the problems:
Patrms_Main
ER_Main
OR_MAIN
ICU_MAIN
LABS_Main

I did not get the chance to check if I could simply swap out the 2007 code for the 2013, because they did not look identical.

jfirrantello's avatar jfirrantello (2017-08-03 09:13:42 -0500) edit
add a comment see more comments
0

I used the residential models and I had some problems with schedules. An extract from the original file:

Schedule:Week:Compact,
    DishwasherWeek,          !- Name
    For: Weekdays,           !- DayType List 1
    DishwasherWeekday,       !- Schedule:Day Name 1
    For: CustomDay1,         !- DayType List 2
    DishwasherVacation,      !- Schedule:Day Name 2
    For: AllOtherDays,       !- DayType List 3
    DishwasherWeekend;       !- Schedule:Day Name 3

I eliminated the "For:" and it worked.

Gjko's avatar
31
Gjko
answered 2017-02-20 15:47:37 -0500
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments