-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update HVAC models per RESNET HVAC addendum #1879
base: master
Are you sure you want to change the base?
Conversation
…o resnet_heat_pump
…same resnet updates, remove in.schedules.csv in test_hvac.rb
…-HPXML into resnet_heat_pump
…o resnet_heat_pump
|
||
if (not heating_system.attached_cooling_system.nil?) && (not heating_system.attached_cooling_system.compressor_type.nil?) | ||
# Based on RESNET DX Modeling Appendix | ||
heating_system.fan_model_type = (heating_system.attached_cooling_system.compressor_type == HPXML::HVACCompressorTypeSingleStage) ? HPXML::HVACFanModelTypePSC : HPXML::HVACFanModelTypeBPM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For attached heating and cooling systems, grab the cooling compressor type first to default, otherwise follow the previous HEScore assumption (based on efficiency)
cooling_system.fan_model_type = (cooling_system.compressor_type == HPXML::HVACCompressorTypeSingleStage) ? HPXML::HVACFanModelTypePSC : HPXML::HVACFanModelTypeBPM | ||
cooling_system.fan_model_type_isdefaulted = true | ||
elsif [HPXML::HVACTypeMiniSplitAirConditioner].include? cooling_system.cooling_system_type | ||
cooling_system.fan_model_type = HPXML::HVACFanModelTypeBPM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Always assume BPM for minisplit, as they're variable speed systems?
heat_pump.fan_model_type = (heat_pump.compressor_type == HPXML::HVACCompressorTypeSingleStage) ? HPXML::HVACFanModelTypePSC : HPXML::HVACFanModelTypeBPM | ||
heat_pump.fan_model_type_isdefaulted = true | ||
elsif [HPXML::HVACTypeHeatPumpGroundToAir].include? heat_pump.heat_pump_type | ||
if heat_pump.heating_efficiency_cop > 8.75 / 3.2 # HEScore assumption |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is kept the same as previous assumptions, need to discuss when we have two speed/var speed GSHP capabilities. Not sure for that case should it follow the RESNET assumption dependent on speed number or should it be something else (out of RESNET scope).
fan_power = max_fan_power * (fan_ratio**index) | ||
else | ||
# psc fan | ||
fan_power = max_fan_power * fan_ratio * (0.3 * fan_ratio + 0.7) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Different fan power equations
@@ -4489,21 +4511,19 @@ def self.calc_ceer_from_eer(cooling_system) | |||
def self.set_fan_power_rated(hvac_system, use_eer_cop) | |||
hvac_ap = hvac_system.additional_properties | |||
|
|||
# Based on RESNET DX Modeling Appendix | |||
psc_ducted_watts_per_cfm = 0.414 # W/cfm, PSC fan | |||
psc_ductless_watts_per_cfm = 0.414 # W/cfm, PSC fan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far as I can tell, psc_ductless_watts_per_cfm is not used for any case. Ductless minisplit is always var speed and defaulted to bpm fans. Room AC and PTHPs are outside the scope.
@@ -5076,7 +5096,7 @@ def self.calculate_heat_pump_defrost_load_power_watts(heat_pump, unit_multiplier | |||
end | |||
# cooling capacity and airflow are already with unit multiplier, calculate the capacity w/o multiplier | |||
nominal_cooling_capacity = heat_pump.cooling_capacity / unit_multiplier | |||
defrost_power_fraction = (max_heating_airflow / design_airflow)**3 | |||
defrost_power_fraction = calculate_fan_power_from_curve(1.0, max_heating_airflow / design_airflow, heat_pump) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should call the calculate_fan_power_from_curve in the first place, so I captured it here.
…o resnet_heat_pump
…-HPXML into resnet_heat_pump
Pull Request Description
closes #1871
Checklist
Not all may apply:
EPvalidator.xml
) has been updatedopenstudio tasks.rb update_hpxmls
)HPXMLtoOpenStudio/tests/test*.rb
and/orworkflow/tests/test*.rb
)openstudio tasks.rb update_measures
has been run