Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
3

Anyone facing problem in simulating Prototype Building Models?

asked 2017-02-20 14:35:36 -0500

kpp's avatar

updated 2017-04-04 08:43:50 -0500

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.

edit retag flag offensive 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

2 Answers

Sort by ยป oldest newest most voted
6

answered 2017-02-21 04:36:57 -0500

updated 2017-02-21 05:04:18 -0500

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.

edit flag offensive delete link more

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
0

answered 2017-02-20 15:47:37 -0500

Gjko's avatar

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.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Careers

Question Tools

2 followers

Stats

Asked: 2017-02-20 14:35:36 -0500

Seen: 966 times

Last updated: Feb 21 '17