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

Revision history [back]

What causes divide by zero errors and how can they be debugged?

What sort of errors in a model produce divide by zero Fortran errors like this one, and how do I go about debugging my IDF?

Warming up {1}
forrtl: error (73): floating divide by zero

Image              PC                Routine            Line        Source             
EnergyPlus.exe     000000014077515B  waterthermaltanks        6654  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140773E30  waterthermaltanks        6398  PlantWaterThermalTank.f90
EnergyPlus.exe     000000014076D3E7  waterthermaltanks        8085  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140732069  waterthermaltanks         896  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140DEA4F4  plantloopequip_mp         673  PlantLoopEquipment.f90
EnergyPlus.exe     0000000140FCBA86  plantloopsolver_m        1270  PlantLoopSolver.f90
EnergyPlus.exe     0000000140FC4826  plantloopsolver_m         270  PlantLoopSolver.f90
EnergyPlus.exe     00000001410857D7  plantmanager_mp_m         184  PlantManager.f90
EnergyPlus.exe     00000001410B71BE  hvacmanager_mp_si        1792  HVACManager.f90
EnergyPlus.exe     00000001410AEF35  hvacmanager_mp_si         694  HVACManager.f90
EnergyPlus.exe     00000001410A2E49  hvacmanager_mp_ma         249  HVACManager.f90
EnergyPlus.exe     00000001410C1CD2  heatbalanceairman         123  HeatBalanceAirManager.f90
EnergyPlus.exe     000000014110FF52  heatbalancesurfac         149  HeatBalanceSurfaceManager.f90
EnergyPlus.exe     0000000141145CC0  heatbalancemanage         215  HeatBalanceManager.f90
EnergyPlus.exe     00000001411C4ED9  simulationmanager         376  SimulationManager.f90
EnergyPlus.exe     00000001411F0359  MAIN__                    421  EnergyPlus.f90
EnergyPlus.exe     00000001413BBA1C  Unknown               Unknown  Unknown
EnergyPlus.exe     000000014139941F  Unknown               Unknown  Unknown
kernel32.dll       00000000778959ED  Unknown               Unknown  Unknown
ntdll.dll          0000000077ACC541  Unknown               Unknown  Unknown

What causes divide by zero errors and how can they be debugged?

I've come across a strange error where two out of three nearly identical IDFs fail with an output like the one shown below. The only differences are in the size of water heater tank, the size of zones (it's a simple two-zone model), and the thermal properties of the walls (density and conductivity).

What sort of errors in a model produce divide by zero Fortran errors like this one, and how do I go about debugging my IDF?

Warming up {1}
forrtl: error (73): floating divide by zero

Image              PC                Routine            Line        Source             
EnergyPlus.exe     000000014077515B  waterthermaltanks        6654  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140773E30  waterthermaltanks        6398  PlantWaterThermalTank.f90
EnergyPlus.exe     000000014076D3E7  waterthermaltanks        8085  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140732069  waterthermaltanks         896  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140DEA4F4  plantloopequip_mp         673  PlantLoopEquipment.f90
EnergyPlus.exe     0000000140FCBA86  plantloopsolver_m        1270  PlantLoopSolver.f90
EnergyPlus.exe     0000000140FC4826  plantloopsolver_m         270  PlantLoopSolver.f90
EnergyPlus.exe     00000001410857D7  plantmanager_mp_m         184  PlantManager.f90
EnergyPlus.exe     00000001410B71BE  hvacmanager_mp_si        1792  HVACManager.f90
EnergyPlus.exe     00000001410AEF35  hvacmanager_mp_si         694  HVACManager.f90
EnergyPlus.exe     00000001410A2E49  hvacmanager_mp_ma         249  HVACManager.f90
EnergyPlus.exe     00000001410C1CD2  heatbalanceairman         123  HeatBalanceAirManager.f90
EnergyPlus.exe     000000014110FF52  heatbalancesurfac         149  HeatBalanceSurfaceManager.f90
EnergyPlus.exe     0000000141145CC0  heatbalancemanage         215  HeatBalanceManager.f90
EnergyPlus.exe     00000001411C4ED9  simulationmanager         376  SimulationManager.f90
EnergyPlus.exe     00000001411F0359  MAIN__                    421  EnergyPlus.f90
EnergyPlus.exe     00000001413BBA1C  Unknown               Unknown  Unknown
EnergyPlus.exe     000000014139941F  Unknown               Unknown  Unknown
kernel32.dll       00000000778959ED  Unknown               Unknown  Unknown
ntdll.dll          0000000077ACC541  Unknown               Unknown  Unknown

What causes divide by zero errors and how can they be debugged?

I've come across a strange error where two out of three nearly identical IDFs fail with an output like the one shown below. The only differences are in the size of water heater tank, the size of zones (it's a simple two-zone model), and the thermal properties of the walls (density and conductivity).

What sort of errors in a model produce divide by zero Fortran errors like this one, and how do I go about debugging my IDF?

Warming up {1}
forrtl: error (73): floating divide by zero

Image              PC                Routine            Line        Source             
EnergyPlus.exe     000000014077515B  waterthermaltanks        6654  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140773E30  waterthermaltanks        6398  PlantWaterThermalTank.f90
EnergyPlus.exe     000000014076D3E7  waterthermaltanks        8085  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140732069  waterthermaltanks         896  PlantWaterThermalTank.f90
EnergyPlus.exe     0000000140DEA4F4  plantloopequip_mp         673  PlantLoopEquipment.f90
EnergyPlus.exe     0000000140FCBA86  plantloopsolver_m        1270  PlantLoopSolver.f90
EnergyPlus.exe     0000000140FC4826  plantloopsolver_m         270  PlantLoopSolver.f90
EnergyPlus.exe     00000001410857D7  plantmanager_mp_m         184  PlantManager.f90
EnergyPlus.exe     00000001410B71BE  hvacmanager_mp_si        1792  HVACManager.f90
EnergyPlus.exe     00000001410AEF35  hvacmanager_mp_si         694  HVACManager.f90
EnergyPlus.exe     00000001410A2E49  hvacmanager_mp_ma         249  HVACManager.f90
EnergyPlus.exe     00000001410C1CD2  heatbalanceairman         123  HeatBalanceAirManager.f90
EnergyPlus.exe     000000014110FF52  heatbalancesurfac         149  HeatBalanceSurfaceManager.f90
EnergyPlus.exe     0000000141145CC0  heatbalancemanage         215  HeatBalanceManager.f90
EnergyPlus.exe     00000001411C4ED9  simulationmanager         376  SimulationManager.f90
EnergyPlus.exe     00000001411F0359  MAIN__                    421  EnergyPlus.f90
EnergyPlus.exe     00000001413BBA1C  Unknown               Unknown  Unknown
EnergyPlus.exe     000000014139941F  Unknown               Unknown  Unknown
kernel32.dll       00000000778959ED  Unknown               Unknown  Unknown
ntdll.dll          0000000077ACC541  Unknown               Unknown  Unknown