-
Notifications
You must be signed in to change notification settings - Fork 10
/
igsdb_double_clear_glass.py
54 lines (45 loc) · 3.48 KB
/
igsdb_double_clear_glass.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import pywincalc
import requests
from igsdb_interaction import url_single_product, headers
# Path to the optical standard file. All other files referenced by the standard file must be in the same directory
# Note: While all optical standards packaged with WINDOW should work with optical calculations care should be
# taken to use NFRC standards if NFRC thermal results are desired. This is because for thermal calculations currently
# only ISO 15099 is supported. While it is possible to use EN optical standards and create thermal results
# those results will not be based on EN 673
optical_standard_path = "standards/W5_NFRC_2003.std"
optical_standard = pywincalc.load_standard(optical_standard_path)
glazing_system_width = 1.0 # width of the glazing system in meters
glazing_system_height = 1.0 # height of the glazing system in meters
# Define the gap between the shade and the glazing
gap_1 = pywincalc.Gap(pywincalc.PredefinedGasType.AIR, .0127) # .0127 is gap thickness in meters
# Download some product data from the IGSDB. This example gets a generic single clear 3mm glazing (NFRC 102),
# and a generic single clear 6mm glazing (NFRC 103)
generic_clear_3mm_glass_igsdb_id = 363
generic_clear_6mm_glass_igsdb_id = 362
generic_clear_3mm_glass_igsdb_response = requests.get(url_single_product.format(id=generic_clear_3mm_glass_igsdb_id),
headers=headers)
generic_clear_6mm_glass_igsdb_response = requests.get(url_single_product.format(id=generic_clear_6mm_glass_igsdb_id),
headers=headers)
generic_clear_3mm_glass = pywincalc.parse_json(generic_clear_3mm_glass_igsdb_response.content)
generic_clear_6mm_glass = pywincalc.parse_json(generic_clear_6mm_glass_igsdb_response.content)
# Create a glazing system using the NFRC U environment in order to get NFRC U results
# U and SHGC can be caculated for any given environment. In order to get NFRC U and SHGC results the systems must
# use the standard NFRC U and SHGC environments
# The NFRC U and SHGC environments are provided as already constructed environments.
# Glazing_System defaults to using the NFRC U environment
double_clear_u_environment = pywincalc.GlazingSystem(optical_standard=optical_standard,
solid_layers=[generic_clear_6mm_glass, generic_clear_3mm_glass],
gap_layers=[gap_1],
width_meters=glazing_system_width,
height_meters=glazing_system_height,
environment=pywincalc.nfrc_u_environments())
double_clear_shgc_environment = pywincalc.GlazingSystem(optical_standard=optical_standard,
solid_layers=[generic_clear_6mm_glass, generic_clear_3mm_glass],
gap_layers=[gap_1],
width_meters=glazing_system_width,
height_meters=glazing_system_height,
environment=pywincalc.nfrc_shgc_environments())
double_clear_u = double_clear_u_environment.u()
print("Double clear NFRC U: {v}".format(v=double_clear_u))
double_clear_shgc = double_clear_shgc_environment.shgc()
print("Double clear NFRC SHGC: {v}".format(v=double_clear_shgc))