First time here? Check out the Help page!

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 8 years ago

kpp's avatar

updated 8 years ago

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.

Preview: (hide)

Comments

1

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

Julien Marrec's avatar Julien Marrec  ( 8 years ago )

2 Answers

Sort by » oldest newest most voted
6

answered 8 years ago

updated 8 years ago

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.

Preview: (hide)
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  ( 7 years ago )
0

answered 8 years ago

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.

Preview: (hide)
link

Your Answer

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

Add Answer

Training Workshops

Careers

Question Tools

2 followers

Stats

Asked: 8 years ago

Seen: 1,098 times

Last updated: Feb 21 '17