openstudio-model-articulation 0.3.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/CHANGELOG.md +28 -0
  4. data/Gemfile +6 -0
  5. data/Jenkinsfile +1 -0
  6. data/LICENSE.md +1 -1
  7. data/README.md +22 -3
  8. data/doc_templates/LICENSE.md +1 -1
  9. data/doc_templates/copyright_erb.txt +1 -1
  10. data/doc_templates/copyright_js.txt +1 -1
  11. data/doc_templates/copyright_ruby.txt +1 -1
  12. data/lib/measures/AssignConstructionSetToBuilding/LICENSE.md +1 -1
  13. data/lib/measures/AssignConstructionSetToBuilding/measure.rb +1 -1
  14. data/lib/measures/AssignConstructionSetToBuilding/measure.xml +16 -15
  15. data/lib/measures/AssignSpaceTypeBySpaceName/LICENSE.md +1 -1
  16. data/lib/measures/AssignSpaceTypeBySpaceName/measure.rb +1 -1
  17. data/lib/measures/AssignSpaceTypeBySpaceName/measure.xml +32 -13
  18. data/lib/measures/AssignSpaceTypeToBuilding/LICENSE.md +1 -1
  19. data/lib/measures/AssignSpaceTypeToBuilding/measure.rb +1 -1
  20. data/lib/measures/AssignSpaceTypeToBuilding/measure.xml +16 -15
  21. data/lib/measures/AssignSpacesToStories/LICENSE.md +1 -1
  22. data/lib/measures/AssignSpacesToStories/measure.rb +3 -5
  23. data/lib/measures/AssignSpacesToStories/measure.xml +14 -13
  24. data/lib/measures/BarAspectRatioStudy/LICENSE.md +1 -1
  25. data/lib/measures/BarAspectRatioStudy/measure.rb +3 -2
  26. data/lib/measures/BarAspectRatioStudy/measure.xml +8 -7
  27. data/lib/measures/CleanupSpaceOrigins/LICENSE.md +1 -1
  28. data/lib/measures/CleanupSpaceOrigins/measure.rb +4 -1
  29. data/lib/measures/CleanupSpaceOrigins/measure.xml +14 -13
  30. data/lib/measures/FindAndReplaceObjectNames/LICENSE.md +1 -1
  31. data/lib/measures/FindAndReplaceObjectNames/measure.rb +1 -1
  32. data/lib/measures/FindAndReplaceObjectNames/measure.xml +13 -12
  33. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/LICENSE.md +1 -1
  34. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/measure.rb +3 -3
  35. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/measure.xml +28 -10
  36. data/lib/measures/RemoveHardAssignedConstructions/LICENSE.md +1 -1
  37. data/lib/measures/RemoveHardAssignedConstructions/measure.rb +1 -1
  38. data/lib/measures/RemoveHardAssignedConstructions/measure.xml +13 -12
  39. data/lib/measures/RenameSpaceSurfacesBasedonParentSpaceandOrientation/LICENSE.md +1 -1
  40. data/lib/measures/RenameSpaceSurfacesBasedonParentSpaceandOrientation/measure.rb +1 -1
  41. data/lib/measures/RenameSpaceSurfacesBasedonParentSpaceandOrientation/measure.xml +42 -11
  42. data/lib/measures/RotateBuilding/LICENSE.md +1 -1
  43. data/lib/measures/RotateBuilding/measure.rb +1 -1
  44. data/lib/measures/RotateBuilding/measure.xml +13 -12
  45. data/lib/measures/SetExtWallToGroundBoundaryConditionByStory/LICENSE.md +1 -1
  46. data/lib/measures/SetExtWallToGroundBoundaryConditionByStory/measure.rb +1 -1
  47. data/lib/measures/SetExtWallToGroundBoundaryConditionByStory/measure.xml +17 -10
  48. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/LICENSE.md +1 -1
  49. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/measure.rb +2 -2
  50. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/measure.xml +13 -12
  51. data/lib/measures/SetInteriorWallsToSelectedConstruction/LICENSE.md +1 -1
  52. data/lib/measures/SetInteriorWallsToSelectedConstruction/measure.rb +2 -2
  53. data/lib/measures/SetInteriorWallsToSelectedConstruction/measure.xml +13 -12
  54. data/lib/measures/SetWindowToWallRatioByFacade/LICENSE.md +1 -1
  55. data/lib/measures/SetWindowToWallRatioByFacade/README.md +11 -0
  56. data/lib/measures/SetWindowToWallRatioByFacade/measure.rb +91 -143
  57. data/lib/measures/SetWindowToWallRatioByFacade/measure.xml +32 -11
  58. data/lib/measures/SetWindowToWallRatioByFacade/resources/functions.rb +176 -0
  59. data/lib/measures/SimplifyGeometryToSlicedBar/LICENSE.md +1 -1
  60. data/lib/measures/SimplifyGeometryToSlicedBar/measure.rb +9 -5
  61. data/lib/measures/SimplifyGeometryToSlicedBar/measure.xml +31 -13
  62. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_cofee.rb +7 -5
  63. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_geometry.rb +14 -9
  64. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_helper_methods.rb +3 -5
  65. data/lib/measures/SpaceTypeAndConstructionSetWizard/LICENSE.md +1 -1
  66. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.rb +2 -2
  67. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.xml +63 -11
  68. data/lib/measures/SurfaceMatching/LICENSE.md +1 -1
  69. data/lib/measures/SurfaceMatching/measure.rb +2 -1
  70. data/lib/measures/SurfaceMatching/measure.xml +13 -12
  71. data/lib/measures/{BarAspectRatioSlicedBySpaceType → add_empd_material_properties}/LICENSE.md +1 -1
  72. data/lib/measures/add_empd_material_properties/README.md +116 -0
  73. data/lib/measures/{BarAspectRatioSlicedBySpaceType → add_empd_material_properties}/README.md.erb +0 -0
  74. data/lib/measures/add_empd_material_properties/docs/.gitkeep +0 -0
  75. data/lib/measures/add_empd_material_properties/measure.rb +247 -0
  76. data/lib/measures/add_empd_material_properties/measure.xml +201 -0
  77. data/lib/measures/blended_space_type_from_floor_area_ratios/LICENSE.md +1 -1
  78. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.rb +5 -4
  79. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.xml +5 -5
  80. data/lib/measures/blended_space_type_from_model/LICENSE.md +1 -1
  81. data/lib/measures/blended_space_type_from_model/{resources → docs}/replace_occupied_spaces_with_blended_space_type_design_doc.txt +0 -0
  82. data/lib/measures/blended_space_type_from_model/measure.rb +16 -4
  83. data/lib/measures/blended_space_type_from_model/measure.xml +16 -22
  84. data/lib/measures/clone_building_from_external_model/LICENSE.md +1 -1
  85. data/lib/measures/clone_building_from_external_model/measure.rb +1 -1
  86. data/lib/measures/clone_building_from_external_model/measure.xml +5 -5
  87. data/lib/measures/create_DOE_prototype_building/LICENSE.md +1 -1
  88. data/lib/measures/create_DOE_prototype_building/measure.rb +4 -3
  89. data/lib/measures/create_DOE_prototype_building/measure.xml +163 -27
  90. data/lib/measures/create_and_assign_thermal_zones_for_unassigned_spaces/LICENSE.md +1 -1
  91. data/lib/measures/create_and_assign_thermal_zones_for_unassigned_spaces/measure.rb +1 -1
  92. data/lib/measures/create_and_assign_thermal_zones_for_unassigned_spaces/measure.xml +5 -5
  93. data/lib/measures/create_bar_from_building_type_ratios/LICENSE.md +1 -1
  94. data/lib/measures/create_bar_from_building_type_ratios/README.md +109 -35
  95. data/lib/measures/create_bar_from_building_type_ratios/README.md.erb +54 -35
  96. data/lib/measures/create_bar_from_building_type_ratios/measure.rb +9 -4
  97. data/lib/measures/create_bar_from_building_type_ratios/measure.xml +124 -12
  98. data/lib/measures/create_bar_from_deer_building_type_ratios/LICENSE.md +1 -1
  99. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md +301 -79
  100. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md.erb +62 -79
  101. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.rb +10 -5
  102. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.xml +15 -59
  103. data/lib/measures/create_bar_from_doe_building_type_ratios/LICENSE.md +1 -1
  104. data/lib/measures/create_bar_from_doe_building_type_ratios/README.md +298 -57
  105. data/lib/measures/create_bar_from_doe_building_type_ratios/README.md.erb +54 -57
  106. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.rb +10 -5
  107. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.xml +122 -14
  108. data/lib/measures/create_bar_from_model/LICENSE.md +1 -1
  109. data/lib/measures/create_bar_from_model/measure.rb +11 -7
  110. data/lib/measures/create_bar_from_model/measure.xml +5 -5
  111. data/lib/measures/create_bar_from_space_type_ratios/LICENSE.md +27 -0
  112. data/lib/measures/create_bar_from_space_type_ratios/README.md +556 -0
  113. data/lib/measures/create_bar_from_space_type_ratios/README.md.erb +324 -0
  114. data/lib/measures/create_bar_from_space_type_ratios/docs/ar_05.png +0 -0
  115. data/lib/measures/create_bar_from_space_type_ratios/docs/ar_1.png +0 -0
  116. data/lib/measures/create_bar_from_space_type_ratios/docs/ar_2.png +0 -0
  117. data/lib/measures/create_bar_from_space_type_ratios/docs/bar_double_loaded.png +0 -0
  118. data/lib/measures/create_bar_from_space_type_ratios/docs/bar_single_core_perim.png +0 -0
  119. data/lib/measures/create_bar_from_space_type_ratios/docs/bar_sliced_indiv.png +0 -0
  120. data/lib/measures/create_bar_from_space_type_ratios/docs/bar_sliced_simple.png +0 -0
  121. data/lib/measures/create_bar_from_space_type_ratios/docs/basement.png +0 -0
  122. data/lib/measures/create_bar_from_space_type_ratios/docs/custom_height_false.png +0 -0
  123. data/lib/measures/create_bar_from_space_type_ratios/docs/custom_height_true.png +0 -0
  124. data/lib/measures/create_bar_from_space_type_ratios/docs/no_party_mult.png +0 -0
  125. data/lib/measures/create_bar_from_space_type_ratios/docs/party.png +0 -0
  126. data/lib/measures/create_bar_from_space_type_ratios/docs/party_multi.png +0 -0
  127. data/lib/measures/create_bar_from_space_type_ratios/docs/perim_mult_2010.png +0 -0
  128. data/lib/measures/create_bar_from_space_type_ratios/docs/perim_mult_2012.png +0 -0
  129. data/lib/measures/create_bar_from_space_type_ratios/docs/perim_mult_2020.png +0 -0
  130. data/lib/measures/create_bar_from_space_type_ratios/docs/sep_05.png +0 -0
  131. data/lib/measures/create_bar_from_space_type_ratios/docs/sep_10.png +0 -0
  132. data/lib/measures/create_bar_from_space_type_ratios/docs/sep_3.png +0 -0
  133. data/lib/measures/create_bar_from_space_type_ratios/docs/story_sort.png +0 -0
  134. data/lib/measures/create_bar_from_space_type_ratios/docs/wwr_custom.png +0 -0
  135. data/lib/measures/create_bar_from_space_type_ratios/measure.rb +314 -0
  136. data/lib/measures/create_bar_from_space_type_ratios/measure.xml +687 -0
  137. data/lib/measures/create_baseline_building/LICENSE.md +1 -1
  138. data/lib/measures/create_baseline_building/measure.rb +4 -3
  139. data/lib/measures/create_baseline_building/measure.xml +5 -5
  140. data/lib/measures/create_deer_prototype_building/LICENSE.md +1 -1
  141. data/lib/measures/create_deer_prototype_building/measure.rb +1 -1
  142. data/lib/measures/create_deer_prototype_building/measure.xml +6 -6
  143. data/lib/measures/create_deer_prototype_building/resources/deer_building_types.rb +1 -1
  144. data/lib/measures/create_parametric_schedules/LICENSE.md +1 -1
  145. data/lib/measures/create_parametric_schedules/measure.rb +16 -11
  146. data/lib/measures/create_parametric_schedules/measure.xml +5 -5
  147. data/lib/measures/create_typical_building_from_model/LICENSE.md +1 -1
  148. data/lib/measures/create_typical_building_from_model/README.md +82 -17
  149. data/lib/measures/create_typical_building_from_model/README.md.erb +36 -16
  150. data/lib/measures/create_typical_building_from_model/measure.rb +8 -6
  151. data/lib/measures/create_typical_building_from_model/measure.xml +59 -27
  152. data/lib/measures/create_typical_building_from_model/resources/Model.hvac.rb +8 -5
  153. data/lib/measures/create_typical_deer_building_from_model/LICENSE.md +1 -1
  154. data/lib/measures/create_typical_deer_building_from_model/README.md +173 -53
  155. data/lib/measures/create_typical_deer_building_from_model/README.md.erb +57 -53
  156. data/lib/measures/create_typical_deer_building_from_model/measure.rb +8 -3
  157. data/lib/measures/create_typical_deer_building_from_model/measure.xml +26 -26
  158. data/lib/measures/create_typical_deer_building_from_model/resources/Model.hvac.rb +8 -5
  159. data/lib/measures/create_typical_doe_building_from_model/LICENSE.md +1 -1
  160. data/lib/measures/create_typical_doe_building_from_model/README.md +182 -44
  161. data/lib/measures/create_typical_doe_building_from_model/README.md.erb +58 -44
  162. data/lib/measures/create_typical_doe_building_from_model/measure.rb +8 -3
  163. data/lib/measures/create_typical_doe_building_from_model/measure.xml +60 -28
  164. data/lib/measures/create_typical_doe_building_from_model/resources/Model.hvac.rb +8 -5
  165. data/lib/measures/deer_space_type_and_construction_set_wizard/LICENSE.md +1 -1
  166. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.rb +2 -2
  167. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.xml +17 -17
  168. data/lib/measures/find_and_replace_in_all_thermal_zone_names/LICENSE.md +1 -1
  169. data/lib/measures/find_and_replace_in_all_thermal_zone_names/measure.rb +1 -1
  170. data/lib/measures/find_and_replace_in_all_thermal_zone_names/measure.xml +8 -7
  171. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/LICENSE.md +1 -1
  172. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.rb +3 -1
  173. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.xml +5 -5
  174. data/lib/measures/merge_floorspace_js_with_model/LICENSE.md +1 -1
  175. data/lib/measures/merge_floorspace_js_with_model/measure.rb +5 -2
  176. data/lib/measures/merge_floorspace_js_with_model/measure.xml +5 -5
  177. data/lib/measures/merge_spaces_from_external_file/LICENSE.md +1 -1
  178. data/lib/measures/merge_spaces_from_external_file/measure.rb +1 -1
  179. data/lib/measures/merge_spaces_from_external_file/measure.xml +6 -6
  180. data/lib/measures/merge_spaces_from_external_file/resources/ScheduleTranslator.rb +1 -1
  181. data/lib/measures/radiance_measure/LICENSE.md +1 -1
  182. data/lib/measures/radiance_measure/measure.rb +63 -57
  183. data/lib/measures/radiance_measure/measure.xml +11 -11
  184. data/lib/measures/radiant_slab_with_doas/LICENSE.md +1 -1
  185. data/lib/measures/radiant_slab_with_doas/measure.rb +9 -2
  186. data/lib/measures/radiant_slab_with_doas/measure.xml +10 -10
  187. data/lib/measures/replace_geometry_by_story/LICENSE.md +1 -1
  188. data/lib/measures/replace_geometry_by_story/measure.rb +5 -1
  189. data/lib/measures/replace_geometry_by_story/measure.xml +5 -5
  190. data/lib/measures/scale_geometry/LICENSE.md +1 -1
  191. data/lib/measures/scale_geometry/measure.rb +1 -1
  192. data/lib/measures/scale_geometry/measure.xml +5 -5
  193. data/lib/openstudio/model_articulation/extension.rb +1 -1
  194. data/lib/openstudio/model_articulation/version.rb +2 -2
  195. data/lib/openstudio/model_articulation.rb +1 -1
  196. data/lib/openstudio-model-articulation.rb +1 -1
  197. data/openstudio-model-articulation.gemspec +3 -3
  198. metadata +42 -16
  199. data/lib/measures/BarAspectRatioSlicedBySpaceType/README.md +0 -64
  200. data/lib/measures/BarAspectRatioSlicedBySpaceType/measure.rb +0 -184
  201. data/lib/measures/BarAspectRatioSlicedBySpaceType/measure.xml +0 -130
  202. data/lib/measures/BarAspectRatioSlicedBySpaceType/resources/os_lib_cofee.rb +0 -252
  203. data/lib/measures/blended_space_type_from_model/resources/os_lib_model_simplification.rb +0 -1049
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -45,7 +45,7 @@
45
45
  # load OpenStudio measure libraries from openstudio-extension gem
46
46
  require 'openstudio-extension'
47
47
  require 'openstudio/extension/core/os_lib_helper_methods'
48
- require 'openstudio/extension/core/os_lib_geometry.rb'
48
+ require 'openstudio/extension/core/os_lib_geometry'
49
49
 
50
50
  # load OpenStudio measure libraries
51
51
  require "#{File.dirname(__FILE__)}/resources/os_lib_cofee"
@@ -137,6 +137,7 @@ class SimplifyGeometryToSlicedBar < OpenStudio::Measure::ModelMeasure
137
137
  spaceTypes = model.getSpaceTypes
138
138
  spaceTypes.each do |spaceType|
139
139
  next if spaceType.spaces.empty?
140
+
140
141
  result = OsLib_HelperMethods.getAreaOfSpacesInArray(model, spaceType.spaces, areaType = 'floorArea')
141
142
  spaceTypeHash[spaceType] = result['totalArea']
142
143
  totalSpaceTypeArea += result['totalArea']
@@ -144,7 +145,7 @@ class SimplifyGeometryToSlicedBar < OpenStudio::Measure::ModelMeasure
144
145
 
145
146
  runner.registerInfo("Initial Space Type Total Floor Area is #{OsLib_HelperMethods.neatConvertWithUnitDisplay(totalSpaceTypeArea, 'm^2', 'ft^2', 0, unitBefore = false, unitAfter = true, space = true, parentheses = true)}.")
146
147
 
147
- spaceTypeHash.sort_by { |key, value| value }.reverse.each do |k, v|
148
+ spaceTypeHash.sort_by { |key, value| value }.reverse_each do |k, v|
148
149
  runner.registerInfo("Floor Area for #{k.name} is #{OsLib_HelperMethods.neatConvertWithUnitDisplay(v, 'm^2', 'ft^2', 0, unitBefore = false, unitAfter = true, space = true, parentheses = true)}.")
149
150
  end
150
151
 
@@ -194,7 +195,8 @@ class SimplifyGeometryToSlicedBar < OpenStudio::Measure::ModelMeasure
194
195
  runner.registerInfo("Bounding box area is #{areaBounding_display}. #{lengthX_display} by #{lengthY_display}.")
195
196
 
196
197
  # get target footprint size
197
- if logic == 'Maintain Bounding Box Aspect Ratio'
198
+ case logic
199
+ when 'Maintain Bounding Box Aspect Ratio'
198
200
  areaTarget = totalFloorArea / numStories
199
201
  areaMultiplier = areaTarget / areaBounding
200
202
  edgeMultiplier = Math.sqrt(areaMultiplier)
@@ -204,7 +206,7 @@ class SimplifyGeometryToSlicedBar < OpenStudio::Measure::ModelMeasure
204
206
  # run def to create bar
205
207
  bar_AspectRatio = OsLib_Cofee.createBar(model, spaceTypeHash, lengthXTarget, lengthYTarget, totalFloorArea, numStories, midFloorMultiplier, xmin, ymin, lengthX, lengthY, zmin, zmax, true)
206
208
 
207
- elsif logic == 'Maintain Total Exterior Wall Area'
209
+ when 'Maintain Total Exterior Wall Area'
208
210
  areaTarget = totalFloorArea / numStories
209
211
  perim = exteriorArea_si / (zmax - zmin)
210
212
  lengthYTarget = 0.25 * perim - 0.25 * Math.sqrt(perim**2 - 16 * areaTarget)
@@ -229,6 +231,7 @@ class SimplifyGeometryToSlicedBar < OpenStudio::Measure::ModelMeasure
229
231
  relativeAzimuth = OpenStudio.convert(surface.azimuth, 'rad', 'deg').get
230
232
  next if surface.outsideBoundaryCondition != 'Outdoors'
231
233
  next if surface.surfaceType != 'Wall'
234
+
232
235
  if (relativeAzimuth.round == 90) || (relativeAzimuth.round == 270)
233
236
  construction = surface.construction # TODO: - this isn't really the construction I want since it wasn't an interior one, but will work for now
234
237
  surface.setOutsideBoundaryCondition('Adiabatic')
@@ -257,6 +260,7 @@ class SimplifyGeometryToSlicedBar < OpenStudio::Measure::ModelMeasure
257
260
  relativeAzimuth = OpenStudio.convert(surface.azimuth, 'rad', 'deg').get
258
261
  next if surface.outsideBoundaryCondition != 'Outdoors'
259
262
  next if surface.surfaceType != 'Wall'
263
+
260
264
  if (relativeAzimuth.round == 90) || (relativeAzimuth.round == 270)
261
265
  construction = surface.construction # TODO: - this isn't really the construction I want since it wasn't an interior one, but will work for now
262
266
  surface.setOutsideBoundaryCondition('Adiabatic')
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>simplify_geometry_to_sliced_bar</name>
5
5
  <uid>eb218516-5fa5-47fe-948d-274777c7d592</uid>
6
- <version_id>c8762599-9d85-4f35-a235-7b27de14498d</version_id>
7
- <version_modified>20200509T155938Z</version_modified>
6
+ <version_id>13960111-65c1-476c-a206-591ca7423b94</version_id>
7
+ <version_modified>20220505T182931Z</version_modified>
8
8
  <xml_checksum>45097B60</xml_checksum>
9
9
  <class_name>SimplifyGeometryToSlicedBar</class_name>
10
10
  <display_name>SimplifyGeometryToSlicedBar</display_name>
@@ -106,23 +106,23 @@ In a future version I may try to identify similar spaces types and blend them to
106
106
  <usage_type>readmeerb</usage_type>
107
107
  <checksum>703C9964</checksum>
108
108
  </file>
109
+ <file>
110
+ <filename>LICENSE.md</filename>
111
+ <filetype>md</filetype>
112
+ <usage_type>license</usage_type>
113
+ <checksum>A21A3ED2</checksum>
114
+ </file>
109
115
  <file>
110
116
  <filename>os_lib_helper_methods.rb</filename>
111
117
  <filetype>rb</filetype>
112
118
  <usage_type>resource</usage_type>
113
- <checksum>07B01D67</checksum>
119
+ <checksum>37A1A07C</checksum>
114
120
  </file>
115
121
  <file>
116
122
  <filename>os_lib_cofee.rb</filename>
117
123
  <filetype>rb</filetype>
118
124
  <usage_type>resource</usage_type>
119
- <checksum>3C10BF38</checksum>
120
- </file>
121
- <file>
122
- <filename>LICENSE.md</filename>
123
- <filetype>md</filetype>
124
- <usage_type>license</usage_type>
125
- <checksum>E0468DD6</checksum>
125
+ <checksum>031AC395</checksum>
126
126
  </file>
127
127
  <file>
128
128
  <version>
@@ -133,19 +133,37 @@ In a future version I may try to identify similar spaces types and blend them to
133
133
  <filename>measure.rb</filename>
134
134
  <filetype>rb</filetype>
135
135
  <usage_type>script</usage_type>
136
- <checksum>0FCFDE6E</checksum>
136
+ <checksum>46B1D452</checksum>
137
137
  </file>
138
138
  <file>
139
139
  <filename>os_lib_geometry.rb</filename>
140
140
  <filetype>rb</filetype>
141
141
  <usage_type>resource</usage_type>
142
- <checksum>674C561A</checksum>
142
+ <checksum>53B30D3C</checksum>
143
143
  </file>
144
144
  <file>
145
145
  <filename>SimplifyGeometryToSlicedBar_Test.rb</filename>
146
146
  <filetype>rb</filetype>
147
147
  <usage_type>test</usage_type>
148
- <checksum>8CD4C265</checksum>
148
+ <checksum>A931C588</checksum>
149
+ </file>
150
+ <file>
151
+ <filename>UShapedHotelExample/run.db</filename>
152
+ <filetype>db</filetype>
153
+ <usage_type>test</usage_type>
154
+ <checksum>9230B5CD</checksum>
155
+ </file>
156
+ <file>
157
+ <filename>UShapedHotelExample/files/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw</filename>
158
+ <filetype>epw</filetype>
159
+ <usage_type>test</usage_type>
160
+ <checksum>C254B53F</checksum>
161
+ </file>
162
+ <file>
163
+ <filename>UShapedHotelExample/project.osp</filename>
164
+ <filetype>osp</filetype>
165
+ <usage_type>test</usage_type>
166
+ <checksum>EE6FAF90</checksum>
149
167
  </file>
150
168
  </files>
151
169
  </measure>
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -46,8 +46,9 @@ module OsLib_Cofee
46
46
  # create an array to control sort order of spaces in bar
47
47
  customSpaceTypeBar = []
48
48
  counter = 0
49
- spaceTypeHash.sort_by { |key, value| value }.reverse.each do |k, v|
49
+ spaceTypeHash.sort_by { |key, value| value }.reverse_each do |k, v|
50
50
  next if v == 0 # this line adds support for fractional values of 0
51
+
51
52
  if counter == 1
52
53
  if (lengthXTarget * (v / totalFloorArea) > perimeterDepth * perimeterBufferFactor) && endZones
53
54
  customSpaceTypeBar << [k, totalFloorArea * (perimeterDepth / lengthXTarget)]
@@ -63,7 +64,7 @@ module OsLib_Cofee
63
64
 
64
65
  # add the largest space type to the end
65
66
  counter = 0
66
- spaceTypeHash.sort_by { |key, value| value }.reverse.each do |k, v|
67
+ spaceTypeHash.sort_by { |key, value| value }.reverse_each do |k, v|
67
68
  if counter == 0
68
69
  # if width is greater than 1.5x perimeter depth then split in half
69
70
  if (lengthXTarget * (v / totalFloorArea) > perimeterDepth * perimeterBufferFactor) && endZones
@@ -201,9 +202,10 @@ module OsLib_Cofee
201
202
  else
202
203
  z += floor_to_floor_height * midFloorMultiplier - floor_to_floor_height
203
204
 
204
- if storyCounter == 0
205
+ case storyCounter
206
+ when 0
205
207
  ceilingAdiabatic = true
206
- elsif storyCounter == 1
208
+ when 1
207
209
  floorAdiabatic = true
208
210
  ceilingAdiabatic = true
209
211
  else
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -63,7 +63,7 @@ module OsLib_Geometry
63
63
  end
64
64
 
65
65
  # set vertices to new vertices
66
- surface.setVertices(newVertices) # todo check if this was made, and issue warning if it was not. Could happen if resulting surface not planer.
66
+ surface.setVertices(newVertices) # TODO: check if this was made, and issue warning if it was not. Could happen if resulting surface not planer.
67
67
 
68
68
  if flag then counter += 1 end
69
69
  end
@@ -95,6 +95,7 @@ module OsLib_Geometry
95
95
  floors = []
96
96
  space.surfaces.each do |surface|
97
97
  next if surface.surfaceType != 'Floor'
98
+
98
99
  floors << surface
99
100
  end
100
101
 
@@ -407,6 +408,7 @@ module OsLib_Geometry
407
408
  # adjustments running counter for space type being removed from this story
408
409
  space_types_running_count.each do |k2, v2|
409
410
  next if k2 != first_space[0]
411
+
410
412
  v2[:floor_area] += first_space[1][:floor_area] * v[:multiplier]
411
413
  end
412
414
 
@@ -504,10 +506,8 @@ module OsLib_Geometry
504
506
  re_apply_largest_space_type_at_end = true
505
507
  end
506
508
  end
507
- if space_type == space_types.last[0]
508
- if [length, width].max * space_type_hash[:floor_area] / total_floor_area > max_bar_end_multiplier * perimeter_zone_depth
509
- end_perimeter_width_deduction = perimeter_zone_depth
510
- end
509
+ if space_type == space_types.last[0] && ([length, width].max * space_type_hash[:floor_area] / total_floor_area > max_bar_end_multiplier * perimeter_zone_depth)
510
+ end_perimeter_width_deduction = perimeter_zone_depth
511
511
  end
512
512
  non_end_adjusted_width = ([length, width].max * space_type_hash[:floor_area] / total_floor_area) - start_perimeter_width_deduction - end_perimeter_width_deduction
513
513
 
@@ -772,7 +772,7 @@ module OsLib_Geometry
772
772
  if story.nil?
773
773
  story = OpenStudio::Model::BuildingStory.new(model)
774
774
  story.setNominalFloortoFloorHeight(story_data[:space_height]) # not used for anything
775
- story.setNominalZCoordinate (story_data[:space_origin_z]) # not used for anything
775
+ story.setNominalZCoordinate(story_data[:space_origin_z]) # not used for anything
776
776
  story.setName("Story #{story_name}")
777
777
  end
778
778
 
@@ -780,11 +780,12 @@ module OsLib_Geometry
780
780
  multiplier_story_above = 1
781
781
  multiplier_story_below = 1
782
782
 
783
- if index == 0 # bottom floor, only check above
783
+ case index
784
+ when 0 # bottom floor, only check above
784
785
  if story_hash.size > 1
785
786
  multiplier_story_above = story_hash.values[index + 1][:multiplier]
786
787
  end
787
- elsif index == story_hash.size - 1 # top floor, check only below
788
+ when story_hash.size - 1 # top floor, check only below
788
789
  multiplier_story_below = story_hash.values[index + -1][:multiplier]
789
790
  else # mid floor, check above and below
790
791
  multiplier_story_above = story_hash.values[index + 1][:multiplier]
@@ -997,9 +998,11 @@ module OsLib_Geometry
997
998
  perim_story.spaces.each do |space|
998
999
  space.surfaces.each do |surface|
999
1000
  next if (surface.outsideBoundaryCondition != 'Outdoors') || (surface.surfaceType != 'Wall')
1001
+
1000
1002
  area = surface.grossArea
1001
1003
  z_value_array = OsLib_Geometry.getSurfaceZValues([surface])
1002
1004
  next if z_value_array.max == z_value_array.min # shouldn't see this unless wall is horizontal
1005
+
1003
1006
  perimeter += area / (z_value_array.max - z_value_array.min)
1004
1007
  end
1005
1008
  end
@@ -1044,6 +1047,7 @@ module OsLib_Geometry
1044
1047
  edge_hash.each do |k1, v1|
1045
1048
  # apply to any floor boundary condition. This supports used in floors above basements
1046
1049
  next if v1[4] != 'Floor'
1050
+
1047
1051
  edge_hash.each do |k2, v2|
1048
1052
  test_boundary_cond = false
1049
1053
  next if !tested_wall_boundary_condition.include?(v2[3]) # method arg takes multiple conditions
@@ -1161,6 +1165,7 @@ module OsLib_Geometry
1161
1165
  edge_hash.each do |k1, v1|
1162
1166
  next if v1[3] != 'Ground' # skip if not ground exposed floor
1163
1167
  next if v1[4] != 'Floor'
1168
+
1164
1169
  edge_hash.each do |k2, v2|
1165
1170
  next if v2[3] != 'Outdoors' # skip if not exterior exposed wall (todo - update to handle basement)
1166
1171
  next if v2[4] != 'Wall'
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -353,10 +353,8 @@ module OsLib_HelperMethods
353
353
  objectArray.each do |object|
354
354
  object_LCCs = object.lifeCycleCosts
355
355
  object_LCCs.each do |object_LCC|
356
- if object_LCC.category == category
357
- if onlyYearFromStartZero == false || object_LCC.yearsFromStart == 0
358
- counter += object_LCC.totalCost
359
- end
356
+ if object_LCC.category == category && (onlyYearFromStartZero == false || object_LCC.yearsFromStart == 0)
357
+ counter += object_LCC.totalCost
360
358
  end
361
359
  end
362
360
  end
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -49,7 +49,7 @@ class SpaceTypeAndConstructionSetWizard < OpenStudio::Measure::ModelMeasure
49
49
  # load OpenStudio measure libraries from openstudio-extension gem
50
50
  require 'openstudio-extension'
51
51
  require 'openstudio/extension/core/os_lib_helper_methods'
52
- require 'openstudio/extension/core/os_lib_model_generation.rb'
52
+ require 'openstudio/extension/core/os_lib_model_generation'
53
53
 
54
54
  # resource files used by measure
55
55
  include OsLib_HelperMethods
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>space_type_and_construction_set_wizard</name>
5
5
  <uid>7c65af63-4316-47c9-b7a5-68d7a019e533</uid>
6
- <version_id>e954e632-3e10-41b3-b7b5-a355a3210ee7</version_id>
7
- <version_modified>20200509T155939Z</version_modified>
6
+ <version_id>c10f0999-8ad9-46fa-8caa-953db92a07e6</version_id>
7
+ <version_modified>20220505T182932Z</version_modified>
8
8
  <xml_checksum>057E8D9D</xml_checksum>
9
9
  <class_name>SpaceTypeAndConstructionSetWizard</class_name>
10
10
  <display_name>Space Type and Construction Set Wizard</display_name>
@@ -87,6 +87,26 @@
87
87
  <value>SuperMarket</value>
88
88
  <display_name>SuperMarket</display_name>
89
89
  </choice>
90
+ <choice>
91
+ <value>Laboratory</value>
92
+ <display_name>Laboratory</display_name>
93
+ </choice>
94
+ <choice>
95
+ <value>LargeDataCenterLowITE</value>
96
+ <display_name>LargeDataCenterLowITE</display_name>
97
+ </choice>
98
+ <choice>
99
+ <value>LargeDataCenterHighITE</value>
100
+ <display_name>LargeDataCenterHighITE</display_name>
101
+ </choice>
102
+ <choice>
103
+ <value>SmallDataCenterLowITE</value>
104
+ <display_name>SmallDataCenterLowITE</display_name>
105
+ </choice>
106
+ <choice>
107
+ <value>SmallDataCenterHighITE</value>
108
+ <display_name>SmallDataCenterHighITE</display_name>
109
+ </choice>
90
110
  </choices>
91
111
  </argument>
92
112
  <argument>
@@ -121,6 +141,38 @@
121
141
  <value>90.1-2013</value>
122
142
  <display_name>90.1-2013</display_name>
123
143
  </choice>
144
+ <choice>
145
+ <value>90.1-2016</value>
146
+ <display_name>90.1-2016</display_name>
147
+ </choice>
148
+ <choice>
149
+ <value>90.1-2019</value>
150
+ <display_name>90.1-2019</display_name>
151
+ </choice>
152
+ <choice>
153
+ <value>ComStock DOE Ref Pre-1980</value>
154
+ <display_name>ComStock DOE Ref Pre-1980</display_name>
155
+ </choice>
156
+ <choice>
157
+ <value>ComStock DOE Ref 1980-2004</value>
158
+ <display_name>ComStock DOE Ref 1980-2004</display_name>
159
+ </choice>
160
+ <choice>
161
+ <value>ComStock 90.1-2004</value>
162
+ <display_name>ComStock 90.1-2004</display_name>
163
+ </choice>
164
+ <choice>
165
+ <value>ComStock 90.1-2007</value>
166
+ <display_name>ComStock 90.1-2007</display_name>
167
+ </choice>
168
+ <choice>
169
+ <value>ComStock 90.1-2010</value>
170
+ <display_name>ComStock 90.1-2010</display_name>
171
+ </choice>
172
+ <choice>
173
+ <value>ComStock 90.1-2013</value>
174
+ <display_name>ComStock 90.1-2013</display_name>
175
+ </choice>
124
176
  </choices>
125
177
  </argument>
126
178
  <argument>
@@ -304,23 +356,23 @@
304
356
  <usage_type>readme</usage_type>
305
357
  <checksum>BF3EEE84</checksum>
306
358
  </file>
359
+ <file>
360
+ <filename>design_doc.txt</filename>
361
+ <filetype>txt</filetype>
362
+ <usage_type>resource</usage_type>
363
+ <checksum>86154A1B</checksum>
364
+ </file>
307
365
  <file>
308
366
  <filename>LICENSE.md</filename>
309
367
  <filetype>md</filetype>
310
368
  <usage_type>license</usage_type>
311
- <checksum>E0468DD6</checksum>
369
+ <checksum>A21A3ED2</checksum>
312
370
  </file>
313
371
  <file>
314
372
  <filename>SpaceTypeAndConstructionSetWizard_Test.rb</filename>
315
373
  <filetype>rb</filetype>
316
374
  <usage_type>test</usage_type>
317
- <checksum>BC2A5358</checksum>
318
- </file>
319
- <file>
320
- <filename>design_doc.txt</filename>
321
- <filetype>txt</filetype>
322
- <usage_type>resource</usage_type>
323
- <checksum>86154A1B</checksum>
375
+ <checksum>6904B5F3</checksum>
324
376
  </file>
325
377
  <file>
326
378
  <version>
@@ -331,7 +383,7 @@
331
383
  <filename>measure.rb</filename>
332
384
  <filetype>rb</filetype>
333
385
  <usage_type>script</usage_type>
334
- <checksum>06FB7B3C</checksum>
386
+ <checksum>729BA750</checksum>
335
387
  </file>
336
388
  </files>
337
389
  </measure>
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -81,6 +81,7 @@ class SurfaceMatching < OpenStudio::Measure::ModelMeasure
81
81
  surfaces.each do |surface|
82
82
  if surface.outsideBoundaryCondition == 'Surface'
83
83
  next if !surface.adjacentSurface.is_initialized # don't count as matched if boundary condition is right but no matched object
84
+
84
85
  initialMatchedSurfaceCounter += 1
85
86
  end
86
87
  end
@@ -1,9 +1,10 @@
1
+ <?xml version="1.0"?>
1
2
  <measure>
2
3
  <schema_version>3.0</schema_version>
3
4
  <name>surface_matching</name>
4
5
  <uid>e9c69c36-bf33-4ac4-b695-41dee26ee880</uid>
5
- <version_id>8bf090a7-cdaf-457d-961a-997181926b5c</version_id>
6
- <version_modified>20200229T024053Z</version_modified>
6
+ <version_id>35935b9b-4dc3-4f1b-a680-050c6b356365</version_id>
7
+ <version_modified>20220505T182930Z</version_modified>
7
8
  <xml_checksum>45097B60</xml_checksum>
8
9
  <class_name>SurfaceMatching</class_name>
9
10
  <display_name>SurfaceMatching</display_name>
@@ -29,8 +30,8 @@
29
30
  </choices>
30
31
  </argument>
31
32
  </arguments>
32
- <outputs/>
33
- <provenances/>
33
+ <outputs />
34
+ <provenances />
34
35
  <tags>
35
36
  <tag>Envelope.Form</tag>
36
37
  </tags>
@@ -65,6 +66,12 @@
65
66
  <usage_type>readme</usage_type>
66
67
  <checksum>FBF56DB2</checksum>
67
68
  </file>
69
+ <file>
70
+ <filename>LICENSE.md</filename>
71
+ <filetype>md</filetype>
72
+ <usage_type>license</usage_type>
73
+ <checksum>A21A3ED2</checksum>
74
+ </file>
68
75
  <file>
69
76
  <version>
70
77
  <software_program>OpenStudio</software_program>
@@ -74,19 +81,13 @@
74
81
  <filename>measure.rb</filename>
75
82
  <filetype>rb</filetype>
76
83
  <usage_type>script</usage_type>
77
- <checksum>25FFA145</checksum>
84
+ <checksum>BE5B9A0D</checksum>
78
85
  </file>
79
86
  <file>
80
87
  <filename>SurfaceMatching_Test.rb</filename>
81
88
  <filetype>rb</filetype>
82
89
  <usage_type>test</usage_type>
83
- <checksum>08C70C49</checksum>
84
- </file>
85
- <file>
86
- <filename>LICENSE.md</filename>
87
- <filetype>md</filetype>
88
- <usage_type>license</usage_type>
89
- <checksum>E0468DD6</checksum>
90
+ <checksum>726F8146</checksum>
90
91
  </file>
91
92
  </files>
92
93
  </measure>
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -0,0 +1,116 @@
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Add EMPD Material Properties
6
+
7
+ ## Description
8
+ Adds the properties for the effective moisture penetration depth (EMPD) Heat Balance Model with inputs for penetration depths.
9
+
10
+ ## Modeler Description
11
+ Adds the properties for the MoisturePenetrationDepthConductionTransferFunction or effective moisture penetration depth (EMPD) Heat Balance Model with inputs for penetration depths.
12
+
13
+ Leaving Change heat balance algorithm? blank will use the current OpenStudio heat balance algorithm setting.
14
+
15
+ At least 1 interior material needs to have moisture penetration depth properties set to use the EMPD heat balance algorithm.
16
+
17
+ ## Measure Type
18
+ ModelMeasure
19
+
20
+ ## Taxonomy
21
+
22
+
23
+ ## Arguments
24
+
25
+
26
+ ### Select Material
27
+
28
+ **Name:** selected_material,
29
+ **Type:** Choice,
30
+ **Units:** ,
31
+ **Required:** true,
32
+ **Model Dependent:** true
33
+
34
+ ### Set value for Water Vapor Diffusion Resistance Factor
35
+
36
+ **Name:** water_diff_fact,
37
+ **Type:** Double,
38
+ **Units:** ,
39
+ **Required:** true,
40
+ **Model Dependent:** false
41
+
42
+ ### Set value for Moisture Equation Coefficient A
43
+
44
+ **Name:** coef_a,
45
+ **Type:** Double,
46
+ **Units:** ,
47
+ **Required:** true,
48
+ **Model Dependent:** false
49
+
50
+ ### Set value for Moisture Equation Coefficient B
51
+
52
+ **Name:** coef_b,
53
+ **Type:** Double,
54
+ **Units:** ,
55
+ **Required:** true,
56
+ **Model Dependent:** false
57
+
58
+ ### Set value for Moisture Equation Coefficient C
59
+
60
+ **Name:** coef_c,
61
+ **Type:** Double,
62
+ **Units:** ,
63
+ **Required:** true,
64
+ **Model Dependent:** false
65
+
66
+ ### Set value for Moisture Equation Coefficient D
67
+
68
+ **Name:** coef_d,
69
+ **Type:** Double,
70
+ **Units:** ,
71
+ **Required:** true,
72
+ **Model Dependent:** false
73
+
74
+ ### Set value for Surface Layer Penetration Depth
75
+
76
+ **Name:** surface_penetration,
77
+ **Type:** String,
78
+ **Units:** ,
79
+ **Required:** true,
80
+ **Model Dependent:** false
81
+
82
+ ### Set value for Deep Layer Penetration Depth
83
+
84
+ **Name:** deep_penetration,
85
+ **Type:** String,
86
+ **Units:** ,
87
+ **Required:** false,
88
+ **Model Dependent:** false
89
+
90
+ ### Set value for Coating Layer Thickness
91
+
92
+ **Name:** coating,
93
+ **Type:** Double,
94
+ **Units:** ,
95
+ **Required:** true,
96
+ **Model Dependent:** false
97
+
98
+ ### Set value for Coating Layer Resistance Factor
99
+
100
+ **Name:** coating_res,
101
+ **Type:** Double,
102
+ **Units:** ,
103
+ **Required:** true,
104
+ **Model Dependent:** false
105
+
106
+ ### Change heat balance algorithm?
107
+
108
+ **Name:** algorithm,
109
+ **Type:** Choice,
110
+ **Units:** ,
111
+ **Required:** false,
112
+ **Model Dependent:** false
113
+
114
+
115
+
116
+