Skip to content

Commit

Permalink
Increase space-heating boiler size and storage volume.
Browse files Browse the repository at this point in the history
  • Loading branch information
joseph-robertson committed Aug 16, 2024
1 parent f8fa1f2 commit f6c525a
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 21 deletions.
31 changes: 16 additions & 15 deletions measures/AddSharedWaterHeater/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ def run(model, runner, user_arguments)
boiler_efficiency_curve = get_boiler_efficiency_curve(model)

if shared_water_heater_type == Constants.WaterHeaterTypeHeatPump
# supply_count *= 2
supply_capacity = 36194
elsif shared_water_heater_type == Constants.WaterHeaterTypeBoiler
supply_count = 1
Expand All @@ -103,8 +104,8 @@ def run(model, runner, user_arguments)
supply_capacity = 36194
elsif shared_water_heater_type == Constants.WaterHeaterTypeCombiBoiler
supply_count = 1
supply_capacity = water_heating_capacity + space_heating_capacity
storage_tank_volume = 2.5 * water_heating_tank_volume # FIXME
supply_capacity = 2 * (water_heating_capacity + space_heating_capacity) # FIXME
storage_tank_volume = 3 * water_heating_tank_volume # FIXME
end

# Swing tank volume
Expand Down Expand Up @@ -235,24 +236,24 @@ def run(model, runner, user_arguments)
add_indoor_pipes(model, dhw_loop_demand_inlet, dhw_loop_demand_bypass, supply_length, return_length, supply_pipe_ins_r_value, return_pipe_ins_r_value, num_units)

# Add Pumps
add_pump(model, dhw_loop, 'DHW Loop Pump', dhw_pump_gpm)
add_pump(model, dhw_loop, dhw_pump_gpm)
if shared_water_heater_type.include?('space-heating')
add_pump(model, space_heating_loop, 'Space Heating Loop Pump', space_heating_pump_gpm)
add_pump(model, space_heating_loop, space_heating_pump_gpm)
end
supply_loops.each do |supply_loop, _|
add_pump(model, supply_loop, "#{supply_loop.name} Pump", supply_pump_gpm)
add_pump(model, supply_loop, supply_pump_gpm)
end
add_pump(model, source_loop, 'Source Loop Pump', source_pump_gpm)
add_pump(model, source_loop, source_pump_gpm)

# Add Setpoint Managers
add_setpoint_manager(model, dhw_loop, dhw_loop_sp_schedule, 'DHW Loop Setpoint Manager')
add_setpoint_manager(model, dhw_loop, dhw_loop_sp_schedule)
if shared_water_heater_type.include?('space-heating')
add_setpoint_manager(model, space_heating_loop, space_heating_loop_sp_schedule, 'Space Heating Loop Setpoint Manager')
add_setpoint_manager(model, space_heating_loop, space_heating_loop_sp_schedule)
end
supply_loops.each do |supply_loop, _|
add_setpoint_manager(model, supply_loop, supply_loop_sp_schedule, "#{supply_loop.name} Setpoint Manager", 'Temperature')
add_setpoint_manager(model, supply_loop, supply_loop_sp_schedule)
end
add_setpoint_manager(model, source_loop, source_loop_sp_schedule, 'Source Loop Setpoint Manager', 'Temperature')
add_setpoint_manager(model, source_loop, source_loop_sp_schedule)

# Add Tanks
prev_storage_tank = nil
Expand Down Expand Up @@ -569,20 +570,20 @@ def calc_recirc_flow_rate(_hpxml_buildings, supply_length, supply_pipe_ins_r_val
return gpm, cap
end

def add_pump(model, loop, name, pump_gpm)
def add_pump(model, loop, pump_gpm)
return if loop.nil?

pump = OpenStudio::Model::PumpConstantSpeed.new(model)
pump.setName(name)
pump.setName("#{loop.name} Pump")
pump.setRatedFlowRate(UnitConversions.convert(pump_gpm, 'gal/min', 'm^3/s')) if !pump_gpm.nil?
pump.addToNode(loop.supplyInletNode)
pump.additionalProperties.setFeature('ObjectType', Constants.ObjectNameSharedWaterHeater) # Used by reporting measure
end

def add_setpoint_manager(model, loop, schedule, name, control_variable = nil)
def add_setpoint_manager(model, loop, schedule)
manager = OpenStudio::Model::SetpointManagerScheduled.new(model, schedule)
manager.setName(name)
manager.setControlVariable(control_variable) if !control_variable.nil?
manager.setName("#{loop.name} Setpoint Manager")
manager.setControlVariable('Temperature')
manager.addToNode(loop.supplyOutletNode)
end

Expand Down
6 changes: 3 additions & 3 deletions measures/AddSharedWaterHeater/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>add_shared_water_heater</name>
<uid>1bae0fb1-c46b-4521-8c32-06de67bdeee8</uid>
<version_id>539f388a-35dc-42fc-90af-f8dd2f8f192e</version_id>
<version_modified>2024-08-16T22:47:46Z</version_modified>
<version_id>5afdfa9b-6b2b-4281-9e4f-e43eed4420bf</version_id>
<version_modified>2024-08-16T23:26:07Z</version_modified>
<xml_checksum>8DB48FFA</xml_checksum>
<class_name>AddSharedWaterHeater</class_name>
<display_name>AddSharedWaterHeater</display_name>
Expand Down Expand Up @@ -38,7 +38,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>DBF0D079</checksum>
<checksum>6BDCF71A</checksum>
</file>
<file>
<filename>constants.rb</filename>
Expand Down
9 changes: 6 additions & 3 deletions project_national/national_baseline_AddSharedWaterHeater.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,13 @@ workflow_generator:
- name: Fuel-fired Absorption HeatPump Fuel Energy
- name: Plant Supply Side Inlet Temperature
- name: Plant Supply Side Outlet Temperature
- name: Site Outdoor Air Drybulb Temperature
- name: Water Heater Source Side Inlet Temperature
- name: Water Heater Source Side Outlet Temperature
- name: Boiler Inlet Temperature
- name: Fuel-fired Absorption HeatPump Inlet Temperature
- name: CapOutput_outputvar
- name: EirOutput_outputvar
# - name: Site Outdoor Air Drybulb Temperature
# - name: CapOutput_outputvar
# - name: EirOutput_outputvar

reporting_measures:
- measure_dir_name: QOIReport
Expand Down

0 comments on commit f6c525a

Please sign in to comment.