openstudio-model-articulation 0.4.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/CHANGELOG.md +24 -0
  4. data/Gemfile +2 -2
  5. data/README.md +22 -3
  6. data/lib/measures/AssignConstructionSetToBuilding/measure.xml +10 -10
  7. data/lib/measures/AssignSpaceTypeBySpaceName/measure.xml +27 -9
  8. data/lib/measures/AssignSpaceTypeToBuilding/measure.xml +10 -10
  9. data/lib/measures/AssignSpacesToStories/measure.rb +2 -4
  10. data/lib/measures/AssignSpacesToStories/measure.xml +10 -10
  11. data/lib/measures/BarAspectRatioStudy/measure.rb +2 -1
  12. data/lib/measures/BarAspectRatioStudy/measure.xml +4 -4
  13. data/lib/measures/CleanupSpaceOrigins/measure.rb +3 -0
  14. data/lib/measures/CleanupSpaceOrigins/measure.xml +10 -10
  15. data/lib/measures/FindAndReplaceObjectNames/measure.xml +8 -8
  16. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/measure.rb +2 -2
  17. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/measure.xml +22 -4
  18. data/lib/measures/RemoveHardAssignedConstructions/measure.xml +8 -8
  19. data/lib/measures/RenameSpaceSurfacesBasedonParentSpaceandOrientation/measure.xml +37 -7
  20. data/lib/measures/RotateBuilding/measure.xml +8 -8
  21. data/lib/measures/SetExtWallToGroundBoundaryConditionByStory/measure.xml +13 -7
  22. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/measure.rb +1 -1
  23. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/measure.xml +10 -10
  24. data/lib/measures/SetInteriorWallsToSelectedConstruction/measure.rb +1 -1
  25. data/lib/measures/SetInteriorWallsToSelectedConstruction/measure.xml +10 -10
  26. data/lib/measures/SetWindowToWallRatioByFacade/README.md +11 -0
  27. data/lib/measures/SetWindowToWallRatioByFacade/measure.rb +90 -142
  28. data/lib/measures/SetWindowToWallRatioByFacade/measure.xml +32 -11
  29. data/lib/measures/SetWindowToWallRatioByFacade/resources/functions.rb +176 -0
  30. data/lib/measures/SimplifyGeometryToSlicedBar/measure.rb +8 -4
  31. data/lib/measures/SimplifyGeometryToSlicedBar/measure.xml +31 -13
  32. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_cofee.rb +6 -4
  33. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_geometry.rb +13 -8
  34. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_helper_methods.rb +2 -4
  35. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.rb +1 -1
  36. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.xml +4 -4
  37. data/lib/measures/SurfaceMatching/measure.rb +1 -0
  38. data/lib/measures/SurfaceMatching/measure.xml +10 -10
  39. data/lib/measures/add_empd_material_properties/LICENSE.md +27 -0
  40. data/lib/measures/add_empd_material_properties/README.md +116 -0
  41. data/lib/measures/add_empd_material_properties/README.md.erb +42 -0
  42. data/lib/measures/add_empd_material_properties/docs/.gitkeep +0 -0
  43. data/lib/measures/add_empd_material_properties/measure.rb +247 -0
  44. data/lib/measures/add_empd_material_properties/measure.xml +201 -0
  45. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.rb +4 -3
  46. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.xml +4 -4
  47. data/lib/measures/blended_space_type_from_model/{resources → docs}/replace_occupied_spaces_with_blended_space_type_design_doc.txt +0 -0
  48. data/lib/measures/blended_space_type_from_model/measure.rb +11 -3
  49. data/lib/measures/blended_space_type_from_model/measure.xml +15 -21
  50. data/lib/measures/clone_building_from_external_model/measure.xml +3 -3
  51. data/lib/measures/create_DOE_prototype_building/measure.rb +2 -2
  52. data/lib/measures/create_DOE_prototype_building/measure.xml +442 -438
  53. data/lib/measures/create_and_assign_thermal_zones_for_unassigned_spaces/measure.xml +3 -3
  54. data/lib/measures/create_bar_from_building_type_ratios/README.md +109 -35
  55. data/lib/measures/create_bar_from_building_type_ratios/README.md.erb +54 -35
  56. data/lib/measures/create_bar_from_building_type_ratios/measure.rb +8 -3
  57. data/lib/measures/create_bar_from_building_type_ratios/measure.xml +12 -12
  58. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md +301 -79
  59. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md.erb +62 -79
  60. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.rb +9 -4
  61. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.xml +15 -59
  62. data/lib/measures/create_bar_from_doe_building_type_ratios/README.md +298 -57
  63. data/lib/measures/create_bar_from_doe_building_type_ratios/README.md.erb +54 -57
  64. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.rb +9 -4
  65. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.xml +12 -16
  66. data/lib/measures/create_bar_from_model/measure.rb +10 -6
  67. data/lib/measures/create_bar_from_model/measure.xml +4 -4
  68. data/lib/measures/create_bar_from_space_type_ratios/README.md +94 -42
  69. data/lib/measures/create_bar_from_space_type_ratios/README.md.erb +60 -42
  70. data/lib/measures/create_bar_from_space_type_ratios/measure.rb +8 -3
  71. data/lib/measures/create_bar_from_space_type_ratios/measure.xml +15 -15
  72. data/lib/measures/create_baseline_building/measure.rb +3 -2
  73. data/lib/measures/create_baseline_building/measure.xml +4 -4
  74. data/lib/measures/create_deer_prototype_building/measure.xml +3 -3
  75. data/lib/measures/create_parametric_schedules/measure.rb +15 -10
  76. data/lib/measures/create_parametric_schedules/measure.xml +4 -4
  77. data/lib/measures/create_typical_building_from_model/README.md +81 -16
  78. data/lib/measures/create_typical_building_from_model/README.md.erb +36 -16
  79. data/lib/measures/create_typical_building_from_model/measure.rb +6 -1
  80. data/lib/measures/create_typical_building_from_model/measure.xml +19 -19
  81. data/lib/measures/create_typical_deer_building_from_model/README.md +173 -53
  82. data/lib/measures/create_typical_deer_building_from_model/README.md.erb +57 -53
  83. data/lib/measures/create_typical_deer_building_from_model/measure.rb +7 -2
  84. data/lib/measures/create_typical_deer_building_from_model/measure.xml +26 -26
  85. data/lib/measures/create_typical_doe_building_from_model/README.md +182 -44
  86. data/lib/measures/create_typical_doe_building_from_model/README.md.erb +58 -44
  87. data/lib/measures/create_typical_doe_building_from_model/measure.rb +7 -2
  88. data/lib/measures/create_typical_doe_building_from_model/measure.xml +26 -26
  89. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.rb +1 -1
  90. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.xml +4 -4
  91. data/lib/measures/find_and_replace_in_all_thermal_zone_names/measure.xml +3 -3
  92. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.rb +2 -0
  93. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.xml +4 -4
  94. data/lib/measures/merge_floorspace_js_with_model/measure.rb +4 -1
  95. data/lib/measures/merge_floorspace_js_with_model/measure.xml +4 -4
  96. data/lib/measures/merge_spaces_from_external_file/measure.xml +3 -3
  97. data/lib/measures/radiance_measure/measure.rb +62 -56
  98. data/lib/measures/radiance_measure/measure.xml +4 -4
  99. data/lib/measures/radiant_slab_with_doas/measure.rb +8 -1
  100. data/lib/measures/radiant_slab_with_doas/measure.xml +9 -9
  101. data/lib/measures/replace_geometry_by_story/measure.rb +4 -0
  102. data/lib/measures/replace_geometry_by_story/measure.xml +4 -4
  103. data/lib/measures/scale_geometry/measure.xml +3 -3
  104. data/lib/openstudio/model_articulation/version.rb +1 -1
  105. data/openstudio-model-articulation.gemspec +2 -2
  106. metadata +15 -9
  107. data/lib/measures/blended_space_type_from_model/resources/os_lib_model_simplification.rb +0 -1049
@@ -38,7 +38,7 @@
38
38
 
39
39
  # load OpenStudio measure libraries from openstudio-extension gem
40
40
  require 'openstudio-extension'
41
- require 'openstudio/extension/core/os_lib_model_simplification.rb'
41
+ require 'openstudio/extension/core/os_lib_model_simplification'
42
42
 
43
43
  # start the measure
44
44
  class BlendedSpaceTypeFromModel < OpenStudio::Measure::ModelMeasure
@@ -96,7 +96,8 @@ class BlendedSpaceTypeFromModel < OpenStudio::Measure::ModelMeasure
96
96
 
97
97
  # divide the building up based on blend method
98
98
  space_type_hash = {}
99
- if blend_method == 'Building Type'
99
+ case blend_method
100
+ when 'Building Type'
100
101
 
101
102
  # loop through spaces and organize by building type
102
103
  model.getSpaceTypes.each do |space_type|
@@ -117,7 +118,7 @@ class BlendedSpaceTypeFromModel < OpenStudio::Measure::ModelMeasure
117
118
  space_type_hash[building_type] << space_type
118
119
  end
119
120
 
120
- elsif blend_method == 'Building Story'
121
+ when 'Building Story'
121
122
 
122
123
  # loop through building stories
123
124
  model.getBuildingStorys.sort.each do |story|
@@ -165,6 +166,7 @@ class BlendedSpaceTypeFromModel < OpenStudio::Measure::ModelMeasure
165
166
  # warn if spaces in model that are not on building story (re-assign to cloned space type)
166
167
  model.getSpaces.each do |space|
167
168
  next if space.buildingStory.is_initialized
169
+
168
170
  runner.registerWarning("#{space.name} is not assigned to a building story. It will be ignored.")
169
171
  end
170
172
 
@@ -176,13 +178,16 @@ class BlendedSpaceTypeFromModel < OpenStudio::Measure::ModelMeasure
176
178
  initial_cond_space_type_hash = {}
177
179
  model.getSpaceTypes.sort.each do |space_type|
178
180
  next if space_type.floorArea == 0
181
+
179
182
  floor_area_si = 0
180
183
  # loop through spaces so I can skip if not included in floor area
181
184
  space_type.spaces.each do |space|
182
185
  next if !space.partofTotalFloorArea
186
+
183
187
  floor_area_si += space.floorArea * space.multiplier
184
188
  end
185
189
  next if floor_area_si == 0
190
+
186
191
  initial_cond_space_type_hash[space_type] = floor_area_si
187
192
  end
188
193
  runner.registerInitialCondition("The initial building uses #{initial_cond_space_type_hash.size} spaces types.")
@@ -195,13 +200,16 @@ class BlendedSpaceTypeFromModel < OpenStudio::Measure::ModelMeasure
195
200
  final_cond_space_type_hash = {}
196
201
  model.getSpaceTypes.sort.each do |space_type|
197
202
  next if space_type.floorArea == 0
203
+
198
204
  floor_area_si = 0
199
205
  # loop through spaces so I can skip if not included in floor area
200
206
  space_type.spaces.each do |space|
201
207
  next if !space.partofTotalFloorArea
208
+
202
209
  floor_area_si += space.floorArea * space.multiplier
203
210
  end
204
211
  next if floor_area_si == 0
212
+
205
213
  final_cond_space_type_hash[space_type] = floor_area_si
206
214
  end
207
215
  runner.registerFinalCondition("The final building uses #{final_cond_space_type_hash.size} spaces types.")
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>blended_space_type_from_model</name>
5
5
  <uid>667c2f1f-0927-4dbd-a7be-1087b5c15181</uid>
6
- <version_id>2ee4ffb6-cb22-4420-b340-1e0aefeb70fb</version_id>
7
- <version_modified>20210423T142526Z</version_modified>
6
+ <version_id>68180f3a-0d37-4921-8eea-baab050bb62b</version_id>
7
+ <version_modified>20220512T054947Z</version_modified>
8
8
  <xml_checksum>28AD5222</xml_checksum>
9
9
  <class_name>BlendedSpaceTypeFromModel</class_name>
10
10
  <display_name>Blended Space Type from Model</display_name>
@@ -96,12 +96,6 @@
96
96
  <usage_type>test</usage_type>
97
97
  <checksum>F1C3606F</checksum>
98
98
  </file>
99
- <file>
100
- <filename>replace_occupied_spaces_with_blended_space_type_design_doc.txt</filename>
101
- <filetype>txt</filetype>
102
- <usage_type>resource</usage_type>
103
- <checksum>C2673B6F</checksum>
104
- </file>
105
99
  <file>
106
100
  <filename>large_hotel_restaurant_from_create_typical.osm</filename>
107
101
  <filetype>osm</filetype>
@@ -132,18 +126,24 @@
132
126
  <usage_type>readmeerb</usage_type>
133
127
  <checksum>703C9964</checksum>
134
128
  </file>
135
- <file>
136
- <filename>os_lib_model_simplification.rb</filename>
137
- <filetype>rb</filetype>
138
- <usage_type>resource</usage_type>
139
- <checksum>026886BB</checksum>
140
- </file>
141
129
  <file>
142
130
  <filename>LICENSE.md</filename>
143
131
  <filetype>md</filetype>
144
132
  <usage_type>license</usage_type>
145
133
  <checksum>A21A3ED2</checksum>
146
134
  </file>
135
+ <file>
136
+ <filename>replace_occupied_spaces_with_blended_space_type_design_doc.txt</filename>
137
+ <filetype>txt</filetype>
138
+ <usage_type>doc</usage_type>
139
+ <checksum>C2673B6F</checksum>
140
+ </file>
141
+ <file>
142
+ <filename>measure_test.rb</filename>
143
+ <filetype>rb</filetype>
144
+ <usage_type>test</usage_type>
145
+ <checksum>60597097</checksum>
146
+ </file>
147
147
  <file>
148
148
  <version>
149
149
  <software_program>OpenStudio</software_program>
@@ -153,13 +153,7 @@
153
153
  <filename>measure.rb</filename>
154
154
  <filetype>rb</filetype>
155
155
  <usage_type>script</usage_type>
156
- <checksum>7C94729F</checksum>
157
- </file>
158
- <file>
159
- <filename>measure_test.rb</filename>
160
- <filetype>rb</filetype>
161
- <usage_type>test</usage_type>
162
- <checksum>28954A91</checksum>
156
+ <checksum>556BD210</checksum>
163
157
  </file>
164
158
  </files>
165
159
  </measure>
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>clone_building_from_external_model</name>
5
5
  <uid>09711168-01a7-4abc-b710-b49d59d927d8</uid>
6
- <version_id>c5085191-28b7-4dec-a425-d5af83949797</version_id>
7
- <version_modified>20210423T142527Z</version_modified>
6
+ <version_id>444db266-08fc-4c5f-9c49-0153dde8d053</version_id>
7
+ <version_modified>20220505T182930Z</version_modified>
8
8
  <xml_checksum>AFECFDDF</xml_checksum>
9
9
  <class_name>CloneBuildingFromExternalModel</class_name>
10
10
  <display_name>Clone Building From External Model</display_name>
@@ -114,7 +114,7 @@
114
114
  <filename>clone_building_from_external_model_test.rb</filename>
115
115
  <filetype>rb</filetype>
116
116
  <usage_type>test</usage_type>
117
- <checksum>C4490998</checksum>
117
+ <checksum>D9BEC6C9</checksum>
118
118
  </file>
119
119
  </files>
120
120
  </measure>
@@ -204,7 +204,7 @@ class CreateDOEPrototypeBuilding < OpenStudio::Measure::ModelMeasure
204
204
  reset_log
205
205
 
206
206
  return true
207
- end # end the run method
207
+ end
208
208
 
209
209
  # Get all the log messages and put into output
210
210
  # for users to see.
@@ -233,7 +233,7 @@ class CreateDOEPrototypeBuilding < OpenStudio::Measure::ModelMeasure
233
233
  end
234
234
  @runner.registerInfo("Total Time = #{(Time.new - @start_time).round}sec.")
235
235
  end
236
- end # end the measure
236
+ end
237
237
 
238
238
  # this allows the measure to be use by the application
239
239
  CreateDOEPrototypeBuilding.new.registerWithApplication