|
154 | 154 | expect(u).to be_within(TOL).of(uo2) |
155 | 155 |
|
156 | 156 | # Insulated, unfinished outdoor-facing plenum roof (polyiso above 4" slab). |
| 157 | + model = OpenStudio::Model::Model.new |
157 | 158 | specs = {type: :roof, uo: uo2, frame: :medium, finish: :medium} |
158 | 159 | surface = cls1.genConstruction(model, specs) |
159 | 160 | expect(surface).to_not be_nil |
160 | 161 | expect(surface).to be_a(OpenStudio::Model::LayeredConstruction) |
161 | 162 | expect(surface.layers.size).to eq(3) |
162 | 163 | u = 1 / cls1.rsi(surface, film[:roof]) |
163 | 164 | expect(u).to be_within(TOL).of(uo2) |
164 | | - expect(surface.layers[1].nameString).to eq("OSut:polyiso:K0.023:100") |
| 165 | + expect(surface.layers[1].nameString).to eq("OSut:K0.023:100") |
165 | 166 | expect(surface.layers[2].nameString).to eq("OSut:concrete:100") |
166 | 167 |
|
167 | 168 | # Roof above conditioned parking garage (polyiso under 8" slab). |
| 169 | + model = OpenStudio::Model::Model.new |
168 | 170 | specs = {type: :roof, uo: uo2, clad: :heavy, frame: :medium, finish: :none} |
169 | 171 | surface = cls1.genConstruction(model, specs) |
170 | 172 | expect(surface).to_not be_nil |
|
173 | 175 | u = 1 / cls1.rsi(surface, film[:roof]) |
174 | 176 | expect(u).to be_within(TOL).of(uo2) |
175 | 177 | expect(surface.layers[0].nameString).to eq("OSut:concrete:200") |
176 | | - expect(surface.layers[1].nameString).to eq("OSut:polyiso:K0.023:100") |
| 178 | + expect(surface.layers[1].nameString).to eq("OSut:K0.023:100") |
177 | 179 |
|
178 | 180 | # Uninsulated plenum ceiling tiles (alternative :shading). |
| 181 | + model = OpenStudio::Model::Model.new |
179 | 182 | specs = {type: :roof, uo: nil, clad: :none, finish: :none} |
180 | 183 | surface = cls1.genConstruction(model, specs) |
181 | 184 | expect(surface).to_not be_nil |
|
185 | 188 | expect(u).to be_within(TOL).of(uo6) |
186 | 189 |
|
187 | 190 | # Unfinished, insulated, framed attic floor (blown cellulose). |
| 191 | + model = OpenStudio::Model::Model.new |
188 | 192 | specs = {type: :floor, uo: uo2, frame: :heavy, finish: :none} |
189 | 193 | surface = cls1.genConstruction(model, specs) |
190 | 194 | expect(surface).to_not be_nil |
191 | 195 | expect(surface).to be_a(OpenStudio::Model::LayeredConstruction) |
192 | 196 | expect(surface.layers.size).to eq(2) |
193 | 197 | u = 1 / cls1.rsi(surface, film[:floor]) |
194 | 198 | expect(u).to be_within(TOL).of(uo2) |
195 | | - expect(surface.layers[1].nameString).to eq("OSut:cellulose:K0.023:100") |
| 199 | + expect(surface.layers[1].nameString).to eq("OSut:K0.023:100") |
196 | 200 |
|
197 | 201 | # Finished, insulated exposed floor (e.g. wood-framed, residential). |
| 202 | + model = OpenStudio::Model::Model.new |
198 | 203 | specs = {type: :floor, uo: uo2} |
199 | 204 | surface = cls1.genConstruction(model, specs) |
200 | 205 | expect(surface).to_not be_nil |
201 | 206 | expect(surface).to be_a(OpenStudio::Model::LayeredConstruction) |
202 | 207 | expect(surface.layers.size).to eq(3) |
203 | 208 | u = 1 / cls1.rsi(surface, film[:floor]) |
204 | 209 | expect(u).to be_within(TOL).of(uo2) |
205 | | - expect(surface.layers[1].nameString).to eq("OSut:mineral:K0.024:100") |
| 210 | + expect(surface.layers[1].nameString).to eq("OSut:K0.024:100") |
206 | 211 |
|
207 | 212 | # Finished, insulated exposed floor (e.g. 4" slab, steel web joists). |
| 213 | + model = OpenStudio::Model::Model.new |
208 | 214 | specs = {type: :floor, uo: uo2, finish: :medium} |
209 | 215 | surface = cls1.genConstruction(model, specs) |
210 | 216 | expect(surface).to_not be_nil |
211 | 217 | expect(surface).to be_a(OpenStudio::Model::LayeredConstruction) |
212 | 218 | expect(surface.layers.size).to eq(3) |
213 | 219 | u = 1 / cls1.rsi(surface, film[:floor]) |
214 | 220 | expect(u).to be_within(TOL).of(uo2) |
215 | | - expect(surface.layers[1].nameString).to eq("OSut:mineral:K0.023:100") |
| 221 | + expect(surface.layers[1].nameString).to eq("OSut:K0.023:100") |
216 | 222 | expect(surface.layers[2].nameString).to eq("OSut:concrete:100") |
217 | 223 |
|
218 | 224 | # Uninsulated slab-on-grade. |
| 225 | + model = OpenStudio::Model::Model.new |
219 | 226 | specs = {type: :slab, frame: :none, finish: :none} |
220 | 227 | surface = cls1::genConstruction(model, specs) |
221 | 228 | expect(surface).to_not be_nil |
|
225 | 232 | expect(surface.layers[1].nameString).to eq("OSut:concrete:100") |
226 | 233 |
|
227 | 234 | # Insulated slab-on-grade. |
| 235 | + model = OpenStudio::Model::Model.new |
228 | 236 | specs = {type: :slab, uo: uo2, finish: :none} |
229 | 237 | surface = cls1::genConstruction(model, specs) |
230 | 238 | expect(surface).to_not be_nil |
|
233 | 241 | u = 1 / cls1::rsi(surface, film[:slab]) |
234 | 242 | expect(u).to be_within(TOL).of(uo2) |
235 | 243 | expect(surface.layers[0].nameString).to eq("OSut:sand:100") |
236 | | - expect(surface.layers[1].nameString).to eq("OSut:polyiso:K0.010:043") |
| 244 | + expect(surface.layers[1].nameString).to eq("OSut:K0.010:043") |
237 | 245 | expect(surface.layers[2].nameString).to eq("OSut:concrete:100") |
238 | 246 |
|
239 | 247 | # 8" uninsulated basement wall. |
|
247 | 255 | expect(u).to be_within(TOL).of(uo7) |
248 | 256 |
|
249 | 257 | # 8" interior-insulated, finished basement wall. |
| 258 | + model = OpenStudio::Model::Model.new |
250 | 259 | specs = {type: :basement, uo: 2 * uo2, clad: :none} |
251 | 260 | surface = cls1::genConstruction(model, specs) |
252 | 261 | expect(surface).to_not be_nil |
|
255 | 264 | u = 1 / cls1::rsi(surface, film[:basement]) |
256 | 265 | expect(u).to be_within(TOL).of(2 * uo2) |
257 | 266 | expect(surface.layers[0].nameString).to eq("OSut:concrete:200") |
258 | | - expect(surface.layers[1].nameString).to eq("OSut:mineral:K0.037:075") |
| 267 | + expect(surface.layers[1].nameString).to eq("OSut:K0.037:075") |
259 | 268 | expect(surface.layers[2].nameString).to eq("OSut:drywall:015") |
260 | 269 |
|
261 | 270 | # Standard, insulated steel door (default Uo = 1.8 W/K•m). |
|
291 | 300 | u = 1 / cls1::rsi(surface) |
292 | 301 | expect(u).to be_within(TOL).of(uo9) |
293 | 302 |
|
294 | | - # Invalid Uo (here, skylights and windows inherit default Uo values) |
| 303 | + # Invalid Uo (here, skylights and windows inherit default Uo values). |
295 | 304 | specs = {type: :skylight, uo: nil} |
296 | 305 | surface = cls1::genConstruction(model, specs) |
297 | 306 | expect(surface).to be_a(OpenStudio::Model::LayeredConstruction) |
298 | 307 | expect(surface.layers.size).to eq(1) |
299 | 308 | u = 1 / cls1::rsi(surface) |
300 | 309 | expect(u).to be_within(TOL).of(uo[:skylight]) |
301 | 310 |
|
302 | | - # Invalid Uo (here, Uo-adjustments are ignored altogether) |
| 311 | + # Invalid Uo (here, Uo-adjustments are ignored altogether). |
303 | 312 | specs = {type: :wall, uo: nil} |
304 | 313 | surface = cls1::genConstruction(model, specs) |
305 | 314 | expect(surface).to be_a(OpenStudio::Model::LayeredConstruction) |
|
0 commit comments