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

EnergyPlus 8.9 error: PsyRhoAirFnPbTdbW: RhoAir (Density of Air) is calculated <= 0

asked 2019-10-14 16:40:45 -0500

jugonzal07 gravatar image

updated 2019-10-15 12:08:26 -0500

Hi all,

I have a school modeled in EnergyPlus 8.9 with a unitary multispeed heat pump and an EMS used to simulate a DOAS. When ran in a milder climate like Seattle it runs just fine, but when ran in Chicago I get this Density of Air issue:

** Severe ** PsyRhoAirFnPbTdbW: RhoAir (Density of Air) is calculated <= 0 [-384.79728]. ** ~~~ ** pb =[98725.00], tdb=[-274.04], w=[0.0000000]. ** ~~~ ** Routine=CalcMultiSpeedDXCoilHeating, Environment=RUN PERIOD 1, at Simulation time=07/01 00:34 - 00:35 ** Fatal ** Program terminates due to preceding condition.

Some cursory google searches say this error happens more frequently with buildings that have incorrect U-values for one of their envelope components but this model's U-values seem fine. Has anyone ran into this before? Thanks.

Files can be found at this Github Link

  • IDF file
  • ERR file
  • HTML for 2 month simulation
edit retag flag offensive close merge delete


You can share the file via Google Drive or Dropbox.

shorowit gravatar imageshorowit ( 2019-10-14 19:02:44 -0500 )edit

Thanks @shorowit, I went ahead and just created a simple repo for people to browse.

jugonzal07 gravatar imagejugonzal07 ( 2019-10-14 19:49:30 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2019-10-16 08:08:41 -0500

jugonzal07 gravatar image

updated 2019-10-16 08:21:55 -0500

Thanks @ericmartinpe, your suggestion got me closer to the solution. It's a little different.

All that happened was that the EMS did not have a check for when the Eco parameter became negative which was likely causing the fan pressure to be negative under extreme conditions. To fix that I simply set Eco to 0 when Program Line 36 causes a negative value (see updated Github Link correction)

Correction is highlighted

edit flag offensive delete link more

answered 2019-10-15 13:25:50 -0500

Looks like this is caused by subtracting OAT_C from 23.88 in the EMS Programs. Adding "IF OAT_C >0" fixes the error, but you may want to add a more sophisticated check for cases when OAT_C is negative.

If you give me access I can create a pull request for my branch.

image description

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


Question Tools

1 follower


Asked: 2019-10-14 16:40:45 -0500

Seen: 83 times

Last updated: Oct 16 '19