openstudio-geb 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/measures/add_chilled_water_storage_tank/measure.rb +27 -17
- data/lib/openstudio/geb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f5c6ce73d5eeff3672c2dded24ac1b0ee7f3444a622e8504f8fa4fd92fd257a
|
4
|
+
data.tar.gz: 4a67b1901225ede4ace75c4b7e1a99efb7af844582d8956cf11ebc4f9a860265
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 907d8d052909600300259a16e78aeab672e89e17fe484ff1af3d3f1943ac24ed0a6fe5a629ab75638c06158e2da9df3682b87535741c8c82b302d60d8f9dcb42
|
7
|
+
data.tar.gz: 731d919ced3ef43ab5cc79bd52a6fdf2dbfe8aad71b3ef07a850ab809e96c789588f823462fc68af9031170c1954a0519d36e988ff5ce5034bbfdf6136d7993f
|
@@ -536,8 +536,6 @@ class AddChilledWaterStorageTank < OpenStudio::Measure::ModelMeasure
|
|
536
536
|
sizing_pri_plant.setDesignLoopExitTemperature(primary_loop_sp)
|
537
537
|
sizing_pri_plant.setLoopDesignTemperatureDifference(primary_delta_t)
|
538
538
|
|
539
|
-
|
540
|
-
|
541
539
|
# add chilled water tank to the primary loop as demand and secondary loop as supply
|
542
540
|
chw_storage_tank = OpenStudio::Model::ThermalStorageChilledWaterStratified.new(model)
|
543
541
|
tank_temp_sch = OpenStudio::Model::ScheduleRuleset.new(model)
|
@@ -546,6 +544,16 @@ class AddChilledWaterStorageTank < OpenStudio::Measure::ModelMeasure
|
|
546
544
|
chw_storage_tank.setSetpointTemperatureSchedule(tank_temp_sch)
|
547
545
|
sec_loop.addSupplyBranchForComponent(chw_storage_tank)
|
548
546
|
selected_primary_loop.addDemandBranchForComponent(chw_storage_tank)
|
547
|
+
|
548
|
+
# create discharging and charging schedule and apply to chilled water tank and primary loop
|
549
|
+
discharge_sch = create_sch(model, 'Chilled water tank discharge schedule', discharge_start, discharge_end, thermal_storage_season, wknds)
|
550
|
+
charge_sch = create_sch(model, 'Chilled water tank charge schedule', charge_start, charge_end, thermal_storage_season, wknds)
|
551
|
+
chw_storage_tank.setUseSideAvailabilitySchedule(discharge_sch)
|
552
|
+
chw_storage_tank.setSourceSideAvailabilitySchedule(charge_sch)
|
553
|
+
avm_sch = OpenStudio::Model::AvailabilityManagerScheduled.new(model)
|
554
|
+
avm_sch.setSchedule(charge_sch)
|
555
|
+
selected_primary_loop.addAvailabilityManager(avm_sch)
|
556
|
+
|
549
557
|
if objective == "Partial Storage"
|
550
558
|
sec_chiller = OpenStudio::Model::ChillerElectricEIR.new(model) # use default curves
|
551
559
|
sec_chiller.setName("CoolSysSecondary Chiller")
|
@@ -558,27 +566,29 @@ class AddChilledWaterStorageTank < OpenStudio::Measure::ModelMeasure
|
|
558
566
|
end
|
559
567
|
|
560
568
|
# add plant equipment operation schema if partial storage
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
569
|
+
clg_op_scheme_tank = OpenStudio::Model::PlantEquipmentOperationCoolingLoad.new(model)
|
570
|
+
clg_op_scheme_tank.addEquipment(chw_storage_tank)
|
571
|
+
clg_op_scheme_sec_chiller = OpenStudio::Model::PlantEquipmentOperationCoolingLoad.new(model)
|
572
|
+
clg_op_scheme_sec_chiller.addEquipment(sec_chiller)
|
573
|
+
undischarge_sch = create_sch(model, 'Chilled water tank not discharge schedule', discharge_end, discharge_start, thermal_storage_season, wknds)
|
574
|
+
# in this way, sequence in E+ will be tank first then chiller. In fact the sequence here doesn't matter as each schema is coupled with schedule
|
575
|
+
sec_loop.setPlantEquipmentOperationCoolingLoad(clg_op_scheme_tank)
|
576
|
+
sec_loop.setPlantEquipmentOperationCoolingLoadSchedule(discharge_sch)
|
577
|
+
sec_loop.setPrimaryPlantEquipmentOperationScheme(clg_op_scheme_sec_chiller)
|
578
|
+
sec_loop.setPrimaryPlantEquipmentOperationSchemeSchedule(undischarge_sch)
|
579
|
+
|
580
|
+
# clg_op_scheme = OpenStudio::Model::PlantEquipmentOperationCoolingLoad.new(model)
|
581
|
+
# tank_supply_watt = 2.0 * (4182 * tank_vol * 1000 * secondary_delta_t / (3600 * lasting_hrs)) # double the cooling cap in case thermal storage is not used at larger cooling load.
|
582
|
+
# # the sequence of addEquipment and addLoadRange can't be switched
|
583
|
+
# clg_op_scheme.addEquipment(sec_chiller)
|
584
|
+
# clg_op_scheme.addLoadRange(tank_supply_watt, [chw_storage_tank])
|
585
|
+
# sec_loop.setPlantEquipmentOperationCoolingLoad(clg_op_scheme)
|
567
586
|
end
|
568
587
|
# add secondary loop bypass pipe
|
569
588
|
sec_supply_bypass = OpenStudio::Model::PipeAdiabatic.new(model)
|
570
589
|
sec_supply_bypass.setName("Chilled Water Secondary Loop Supply Bypass Pipe")
|
571
590
|
sec_loop.addSupplyBranchForComponent(sec_supply_bypass)
|
572
591
|
|
573
|
-
# create discharging and charging schedule and apply to chilled water tank and primary loop
|
574
|
-
discharge_sch = create_sch(model, 'Chilled water tank discharge schedule', discharge_start, discharge_end, thermal_storage_season, wknds)
|
575
|
-
charge_sch = create_sch(model, 'Chilled water tank charge schedule', charge_start, charge_end, thermal_storage_season, wknds)
|
576
|
-
chw_storage_tank.setUseSideAvailabilitySchedule(discharge_sch)
|
577
|
-
chw_storage_tank.setSourceSideAvailabilitySchedule(charge_sch)
|
578
|
-
avm_sch = OpenStudio::Model::AvailabilityManagerScheduled.new(model)
|
579
|
-
avm_sch.setSchedule(charge_sch)
|
580
|
-
selected_primary_loop.addAvailabilityManager(avm_sch)
|
581
|
-
|
582
592
|
# move all primary loop demand components (except inlet and outlet pipes) to the secondary loop
|
583
593
|
selected_primary_loop.demandComponents(selected_primary_loop.demandSplitter, selected_primary_loop.demandMixer).each do |demand_comp|
|
584
594
|
if demand_comp.to_StraightComponent.is_initialized
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstudio-geb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kaiyu Sun
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-11-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|