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
Can you run the .eio file comparison as suggested and revise the question based on that?
I managed to work around it by completely restructuring my IDF but I should be able to go back and find the breaking ones.