First time here? Check out the Help page!
1 | initial version |
I think the issue is that you are confusing energy factor with thermal efficiency; they are not the same.
From the DOE Water Heater Website
The energy factor (EF) indicates a water heater's overall energy efficiency based on the amount of hot water produced per unit of fuel consumed over a typical day. This includes the following:
- Recovery efficiency – how efficiently the heat from the energy source is transferred to the water
- Standby losses – the percentage of heat loss per hour from the stored water compared to the heat content of the water (water heaters with storage tanks)
- Cycling losses – the loss of heat as the water circulates through a water heater tank, and/or inlet and outlet pipes.
So thermal efficiency doesn't take into account standby losses, but energy factor does.
Below, I've laid out the steps to calculate water heater properties for an electric water heater with a capacity of less than 12kW per Enhancements to ASHRAE Standard 90.1 Prototype Building Models - Appendix A: Service Water Heating. This example assumes you are using EnergyPlus as the simulation engine, but these inputs should be found in the water heater model for other simulation engines as well.
# Water heater properties
volume_gal = 528.4
capacity_w = 9000
# Fixed electric water heater efficiency of 100% per document
water_heater_eff = 1 # 100%
# Calculate the minimum Energy Factor (EF)
base_ef = 0.93
vol_drt = 0.00132
ef = base_ef - (vol_drt * volume_gal)
ef = 0.93 - (0.00132 * 528.4) = 0.2325 # Which matches what you had
# Calculate the skin loss coefficient (UA)
ua_btu_per_hr_per_f = (41094 * (1 / ef - 1)) / (24 * 67.5)
ua_btu_per_hr_per_f = (41094 * (1 / 0.2325 - 1)) / (24 * 67.5) = 83.74
# Convert UA to SI units (for EnergyPlus)
ua_w_per_k = 44.17
# Set the water heater input properties
# Efficiency
setHeaterThermalEfficiency(water_heater_eff)
# Skin loss
setOffCycleLossCoefficienttoAmbientTemperature(ua_w_per_k)
setOnCycleLossCoefficienttoAmbientTemperature(ua_w_per_k)