Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Multi-domain assessment of a kinetic facade: determining the control strategy of a kinetic façade using BIM based on energy performance, daylighting, and occupants’ preferences; Multi-domain asse...
(USC Thesis Other)
Multi-domain assessment of a kinetic facade: determining the control strategy of a kinetic façade using BIM based on energy performance, daylighting, and occupants’ preferences; Multi-domain asse...
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
1 MULTI-DOMAIN ASSESSMENT OF A KINETIC FACADE Determining the Control Strategy of a Kinetic Façade using BIM Based on Energy Performance, Daylighting, and Occupants’ Preferences by Kunyu Luo A Thesis Proposal SCHOOL OF ARCHITECTURE UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree MASTER OF BUILDING SCIENCE AUGUST 2018 2 COMMITTEE Karen M. Kensek, LEED AP BD+C Associate Professor of the Practice of Architecture USC School of Architecture kensek@usc.edu (213)740-2081 Douglas Noble, FAIA, Ph.D. Associate Professor USC School of Architecture dnoble@usc.edu 213 740-2723 Marc Schiler, FASES Professor USC School of Architecture marcs@usc.edu (213)740-4591 3 ACKNOWLEDGEMENT First and foremost, I would like to express the deepest gratitude to my thesis committee chair, Professor Karen Kensek, who has provided many excellent ideas and suggestions, and always pushed me forward and helped me to conduct the research in the right direction. I would also like to express my appreciation and thanks to my thesis committee members, Professor Douglas Noble, and Professor Marc Schiler, for giving me a lot of encouragement, support, and informative comments and knowledge. Last but not least, I want to thank the entire MBS family. Living and studying with you in this two years are the precious experience and memories for me. It’s enjoyable to get along with you. 4 ABSTRACT A tool for building information software can provide useful information to the designer about trade-offs between energy and daylighting and allow occupants to see how their behavior effects energy consumption. An assessment workflow using Revit and Dynamo was created to simulate and evaluate the performance of an exterior kinetic façade for an interior space. It includes parameters of energy performance, specifically, solar heat gain through the window, daylighting, and the occupants’ behavior. The solar heat gain was calculated based on the detailed calculation method in the ASHRAE handbook. The daylighting metric used was illuminance value, and it was calculated based on the algorithm of DOE-2 daylighting. Custom nodes in Dynamo were created in Python to calculate relevant parameters. The control strategy of the kinetic façade was determined through the combined use of Dynamo and Microsoft Excel by balancing solar heat gain and illuminance value on the work plane. Revit and Dynamo were used for building and façade modeling, geometric analytics, and relevant calculations. Microsoft Excel was used for further data processing. Other possible alternatives for data analysis were also discussed. The criteria for determining the control strategy is to avoid the direct glare, maintain illuminance value between 500 lux to 1500 lux and meanwhile regulate the solar heat gain based on real-time weather. Occupants can overrule the façade control based on their preferences, for example, based on the view out of the window or other personal choices about desiring more or less light. The program shows the tradeoff of doing so by comparing solar heat gain between the user’s choice and the theoretical optimum value, as well as the change of the lux level on the work plane in order to realize real-time control. A dashboard was created serving as the visualization interface for the occupants. The information included in the dashboard includes façade from both exterior view and interior view, date and time, and 3D columns and text to represent the level of solar heat gain and illuminance. Two case studies of the kinetic façade project were provided to demonstrate the viability of the proposed workflow. HYPOTHESIS A better workflow for simulating the energy performance, daylighting, and assessing the direct glare in BIM tools is possible to determine the control strategy of kinetic facades and evaluate the effect of occupants’ behavior compared with the current simulation methods. Objectives • Analyze the optimal operation scenario of a kinetic façade based on solar radiation and daylighting simulation. • Simplify the script in a visual programming tool. • Allow occupants to override the control strategy according to their preference of view out the window. • Give feedback to occupants when they override the control command on the following three aspects: 1) How much solar radiation is received by the glass more than the theoretical optimal condition. 2) How daylighting condition would be degraded comparing to the optimal condition. 3) Which position should the kinetic façade elements be. 5 TABLE OF CONTENTS ABSTRACT ………………………………………………………………………………………………………… 4 HYPOTHESIS ……………………………………………………………………………………………………… 4 Chapter 1: Introduction ……………………………………………………………………………………………. 7 1.1 Kinetic Façade ……………………………………………………………………………………………… 8 1.2 Solar Heat Gain ……………………………………………………………………………………………..10 1.3 Daylighting Simulation and Calculation …………………………………………………………………… 10 1.3.1 Daylighting Metrics ……………………………………………………………………………….10 1.3.2 Daylighting Simulation ……………………………………………………………………………10 1.3.3 Daylighting Calculation …………………………………………………………………………...10 1.4 Energy Simulation of Kinetic Façade ………………………………………………………………………11 1.4.1 Whole-Building Scale and Component Scale Energy Simulation of Kinetic Façades …………...11 1.4.2 Why it is Difficult to Model Kinetic Façade Accurately in Most Energy Software Programs……12 1.5 Impact of Occupant Behavior ………………………………………………………………………………12 1.6 The Application of Multi-Objective Optimization in Building Performance ……………………………...13 1.7 BIM & Computational Design ……………………………………………………………………………..13 1.7.1 BIM ……………………………………………………………………………………………….14 1.7.2 Visual Programming ……………………………………………………………………………...14 1.7.3 Generative Design tools…………………………………………………………………………...15 1.8 Python ………………………………………………………………………………………………………17 1.9 Thesis Framework ………………………………………………………………………………………….18 1.9.1 Abstract and Hypothesis …………………………………………………………………………. 18 1.9.2 Objectives …………………………………………………………………………………………19 1.10 Significance of study ………………………………………………………………………………………19 1.10.1 Interaction among various design tools …………………………………………………………...19 1.10.2 For designer --- a better understanding of kinetic façade design …………………………………19 1.10.3 For user --- knowledge of human behavior’s impact on building performance …………………..19 1.11 Summary …………………………………………………………………………………………………...19 Chapter 2: Background of kinetic façade simulation and assessment …………………………………………..20 2.1 Daylighting analysis of kinetic façade ………………………………………………………………………20 2.1.1 Introduction ………………………………………………………………………………………..20 2.1.2 Evaluating of daylighting of interior spaces ………………………………………………………20 2.1.3 Manual calculation methods for evaluating indoor daylighting condition ………………………..21 2.1.4 Relevant research ………………………………………………………………………………….21 2.2 Parametric energy simulation during the design process ……………………………………………………22 2.2.1 Introduction ………………………………………………………………………………………..22 2.2.2 Calculation of solar heat gain though fenestration ………………………………………………..22 2.2.3 Relevant research ………………………………………………………………………………….22 2.3 Integration of BIM tools …………………………………………………………………………………….23 2.3.1 Introduction ………………………………………………………………………………………..23 2.3.2 Visual programming -- - Dynamo …………………………………………………………………23 2.3.3 Solution exploration in generative design platform -- - Project Fractal …………………………..23 2.3.4 Relevant research ………………………………………………………………………………….23 2.4 Summary …………………………………………………………………………………………………….24 Chapter 3: Methodology…………………………………………………………………………………………….25 3.1 Workflow overview………………………………………………………………………………………….25 3.1.1 Methodology development…...……………………………………………………………………25 3.1.2 Overall workflow…...……………………………………………………………………………...25 3.2 Modelling in Revit…………………………………………………………………………………………...27 3.2.1 Building Model…...………………………………………………………………………………..27 3.2.2 Kinetic Façade Component...………………………………………………………………………27 6 3.3 Simulation in Dynamo……………………………………………………………………………………….29 3.3.1 Geometry Analytics...……………………………………………………………………………...29 3.3.2 Solar Heat Gain Calculation.......…………………………………………………………………..30 3.3.3 Daylighting Calculation…...……………………………………………………………………….31 3.4 Control Strategy Determination……………………………………………………………………………...33 3.5 Occupants’ Behavior…………………………………………………………………………………………35 3.6 Feedback for occupants………………………………………………………………………………………36 3.7 Python Script…………………………………………………………………………………………………36 3.8 Data Processing and Analysis………………………………………………………………………………..36 3.9 Summary……………………………………………………………………………………………………..37 Chapter 4: Case study………………………………………………………………………………………………38 4.1 Overview ………………………………………………………………………………………….………...38 4.2 Case study …………………………………………………………………………………………………..38 4.2.1 Introduction of building model of the case study………………………………………………….38 4.2.2 Introduction of façade component of the case study………………………………………………41 4.3 Results of geometric analytics in Dynamo of the case study.……………………………………………… 42 4.4 Results of the solar heat gain and daylighting simulation of the case study………………………………..46 4.5 Results of control strategy decision of the case study…..…………………………………………………..51 4.6 Occupants’ dashboard of the case study …………………………………………………………………....58 4.7 Summary…………………………………………………………………………………………………….59 Chapter 5: Evaluation and analysis of case study results…...……………………………………………………60 5.1 Validation of the workflow………………………………………………………………….………............60 5.1.1 Sun Angle Calculation Validation…...…………………………………………………………….60 5.1.2 Glass Material Database Validation……………………………………………………………….62 5.1.3 Shadow Calculation Validation……………………………………………………………………64 5.1.4 Solar Heat Gain Calculation Validation…………………………………………………………...65 5.1.5 Indoor Illuminance Calculation Validation………………………………………………………..67 5.2 Results analysis of solar heat gain…………………………………………………………………………..69 5.3 Results analysis of indoor illuminance……………………..……………………………………………… 73 5.4 Evaluation of the workflow………………………………………………..………………………………..78 5.5 Limitations of the current study……………………..…..…………………………………………………..81 5.6 Summary…………………………………………………………………………………………………….83 Chapter 6: Conclusions and future work……………………………………………………………………….…84 6.1 Methodology developed…………………………………………………………………….………............84 6.2 Future work……………………...…………………………………………………………………………..85 6.3 Summary…………………………………………………………………………………………………….88 References……………………………………………………………………………………………………………89 Bibliography…………………………………………………………………………………………………………90 Appendices…………………………………………………………………………………………………………...91 Appendix A: Python Script of Get Sun Angles………………………………………………………………….91 Appendix B: Python Script of Glass Database………………………………………………………………......92 Appendix C: Python Script of Solar Heat Gain Calculation and Data Visualization……………………………99 Appendix D: Python Script of Find Shadow on the Window…………………………………………………..103 Appendix E: Python Script of Luminance Distribution Calculator…………………………………………….112 Appendix F: Python Script of Solid Angle Calculation………………………………………………………...113 Appendix G: Python Script of Internal Reflect Component Calculator………………………………………..119 Appendix H: Python Script of Solid to Perimeter Curves……………………………………………………...121 Appendix I: Solar Heat Gain Results for Each Façade Position………………………………………………..122 7 CHAPTER 1 1 Introduction Kinetic facade systems can serve as sun protection devices that prevent excessive solar radiation entering the indoor space that might lead to excessive heat gain especially during the summer seasons. Another common application of kinetic façades is for daylighting control, but this is often for architectural purposes, which aim to create certain shadow pattern, rather than achieving a better daylight condition by adjusting the daylight distribution. The control strategy of many kinetic façades is based on a single factor, either climate boundary conditions such as solar radiation, temperature, wind speed, etc, or room/material states such as operative temperature and daylight illuminance, or even controlled by the occupants directly (Loonen, 2017). Kinetic façades can play a more important role in terms of their energy performance and potential to control the daylight. When more factors are taken into account, the kinetic façade will be able to perform more appropriately. The commonly-used tools during the design process of kinetic façades are Rhino and Grasshopper. The solar radiation simulation and daylighting simulation could be done in Grasshopper separately with different plug-ins (Ladybug and Honeybee, respectively). Considering that building information modeling (BIM) software (e.g. Autodesk Revit) contains and stores not only geometry, but also information, working within a BIM environment directly during the design process will make the management and documentation easier and more straightforward. Therefore, designing and simulating in Dynamo, a visual programming platform embedded in Revit, that allows the user to make customized tools for either simplifying existing functions or realizing new functions, will bring more advantages and potentials. 1.1. Kinetic Façade In the past few decades, kinetic façades have played a more important role as alternatives to static building envelopes as they are designed for meeting the diverse and complex demands in terms of occupant comfort, energy efficiency, and cost efficiency (Sharaidin, 2014). While the energy performance of the building in real life remains to be evaluated, kinetic facades represent a new wave of architecture components that put less pressure on active HVAC and lighting systems and more on the manipulation of passive effects (Risen, 2017). That concept has been described in a number of ways, ranging from the usage of innovative components to highly complex designs and advanced technological application (Sharaidin, 2014). Typically, kinetic façades are defined as the ability to respond and adapt to the changes of the environmental conditions (Sharaidin, 2014). They are mainly used to create and maintain a better indoor environment condition including daylight quality and thermal condition. The outdoor environment will change continuously, daily or seasonally. For example, sunlight angle, amount of solar radiation, ambient temperature, etc. vary throughout the day and year. A kinetic façade is a key element of a building to make it adaptive and intelligent in order to keep occupants in the building having a proper indoor environment to work and stay comfortable and meanwhile reduce the electricity use by air-conditioning (AC) or artificial light. . The strategies of the functions and performances of kinetic façades mainly focus on serving as exterior shading devices to control the sunlight through the window and solar radiation that hits the building envelope and also to get a better daylighting condition in the interior space. Kinetic façades have been designed and utilized in many projects and architecture practices around the world, either to improve the sustainability or purely out of fascination with technology innovation (Grozdanic, 2016). Al Bahr (or Al Bahar) Towers in Abu Dhabi, UAE, the Ed Kaplan Family Institute Building in Chicago, USA, and One Ocean Building in Yeosu, South Korea are three representative cases (Grozdanic, 2016; Risen, 2017). Al Bahr Towers, with its unique dynamic shading system that was inspired from the geometry of the traditional Islamic lattice, is aiming to reduce the solar heat gain through the curtain wall system by 50%. The façade elements were completely computerized and actuated to respond to the changing weather condition (Figure 1.1.1 (a)). The Ed Kaplan Family Institute Building adopted translucent and resilient plastic film --- ETFE (ethylene tetrafluoroethylene) as the material of the façade system. Four layers of ETFE were placed alongside each other, and the width between them can be adjusted though pneumatic control. The four layers of ETFE forms two air chambers that can be inflated and deflated, creating air pillow to give the building a soft, supple look (Risen, 2017). Due to the different dot pattern painted on the outer layer and inner layer, when the width between the layers changes, the amount 8 of daylight that comes through the membranes will be different. Therefore, the daylight condition of interior space at different times of a day can be optimized without introducing too much solar radiation (Figure 1.1.1 (b)). The One Ocean building was designed as the signature building for EXPO 2012. Its kinetic façade, inspired from the baleen filter of the blue whale, is designed to reflect the breathing system of a marine creature. Made from glass fiber reinforced plastic and driven by 216 coordinated servo motors, the façade elements can open and close through elastic bending (Figure 1.1.1 (c)). Figure 1.1.1. (a) Al Bahr Towers (Aedas Architects); (b) The Ed Kaplan Family Institute Building (SOMA Architecture); (c) One Ocean Building (John Ronan Architects); These three examples show that there are many ways that a façade can be made kinetic. In most cases, the kinetic façade is controlled by a computer program automatically either responding to certain environmental parameters (e.g. temperature, light level, etc.) or creating some architectural form to improve the fancy or attractiveness of the building. It is possible to let the occupants be involved in the control process, allowing them to operate the façade manually based on their preference. One potential problem of introducing occupants into the control is that it might degrade the performance of the kinetic façade. Therefore, letting the occupant be aware of how their behavior can make a difference is important to minimize the negative effect of occupants’ behavior while realizing the real-time control. A kinetic façade has more potential to maximize its advantage in terms of sustainability. Instead of only being used as the sun protection system, it can contribute to both the thermal and the visual environment of indoor space through reducing solar radiation through the window while maintaining the indoor illuminance value in a proper range and avoiding the glare issue. Therefore, balancing between energy performance and daylighting when designing and controlling the kinetic façade system is an important domain to explore. Having a clear concept of how a kinetic façade could benefit the building performance and how it should be designed and evaluated appropriately will assist not only designers but also users to understand how to maximize the building façade’s performance either at the early design phase or at the later user occupancy stage. 1.2. Solar Heat Gain When solar radiation hits the glass of a window, the ability of the material to transmit or resist the solar heat gain is referred to as Solar Heat Gain Coefficient, SHGC (Lee, et.al, 2014). It is a dimensionless number that varies from 0 to 1. Solar radiation incident on the glass always consist of two components: direct solar radiation and diffuse solar radiation. SHGC is divided into two types based on the type of solar radiation. The SHGC for direct solar radiation is expressed as SHGC(θ), and SHGC for diffuse solar radiation as [SHGC] D (Lee, et.al, 2014). Therefore, the calculation of solar heat gain through a window where no shading device is installed is as follows: q sol = AF e I D(θ)SHGC (θ) + AF eI d[SHGC] D (a) (b) (c) (Lee, et.al, 2014) 9 When a kinetic façade is installed outside the window and serves as the shading device, the solar heat gain from direct and diffuse solar radiation varies depending on the façade component position changes and material properties (Lee, et.al, 2014). The parameters that are relevant to the types and the material and position of façade include unshaded fraction (F u) and exterior solar attenuation coefficient (EAC), which is defined by the American Society of Heating, Refrigerating, and Air-Conditioning Engineers (ASHRAE, 2013) as follows: • “Unshaded fraction (F u) is a coefficient for distinguishing the shaded area and unshaded area formed on a window by direct solar radiation and indicates the proportion of solar incidence area to the total window area” (Lee, et.al, 2014). It is a dimensionless value between 0 and 1. If the shaded area on the window becomes larger, F u will be closer to 0. F u is calculated through the shaded area formed on the window. Therefore, the unshaded fraction can be calculated from the shaded area on the window (Lee, et.al, 2014). Figure 1. (Lee et al., 2014) • “Exterior solar attenuation coefficient (EAC) is a coefficient showing the quantitative proportion of external solar radiation passing through a shading device” (Lee, et.al, 2014). It is only used in the calculation of solar heat gain through the part of the window where shadow is cast (Lee, et.al, 2014). It is a dimensionless value between 0 and 1. If solar radiation that passes through shading devices becomes smaller, EAC will be closer to 0. The calculation method of EAC is shown as formula below: 𝐸𝐴𝐶 = 𝜏 𝑆 𝑓𝐻 1 − 𝑅 𝑆 𝑏𝐻 [𝑅 𝑆 𝑓𝐻 ] 𝐷 𝜏 𝑆 𝑓𝐻 : front directional-hemispherical transmittance of the shading layer 𝑅 𝑆 𝑓𝐻 : front directional-hemispherical reflectance of shading layer 𝑅 𝑆 𝑏𝐻 : back directional-hemispherical reflectance of shading layer [ ] D: hemispherical average of the quantity over all incident directions • “Exposure coefficient (Ce) is a coefficient for dividing the exposed area and unexposed area of a window for diffuse solar radiation, and it is expressed as a proportion of the exposed area of the façade (front side) in the total area of the window” (Lee, et.al, 2014). It is a dimensionless value between 0 and 1. If the exposed area on the window (see from front) becomes larger, Ce will be closer to 1. The total solar heat gain calculation equation is shown as formula below: q sol = AF e [ I D(θ){F uSHGC (θ) + (1-F u)EAC [SHGC] D} + I d{C e [SHGC] D + (1-C e)EAC [SHGC] D}] This equation will serve as the basic theory to do component scale energy simulation of a kinetic façade, and will be discussed in section 1.4. Solar heat gain through the window is an important component of cooling load of the building, especially for those high-rise buildings where curtain wall systems are applied and therefore have large glass area on the façade. Excessive solar heat gain through the transparent (or translucent) part of the façade during the summer seasons can lead to overheating and will degrade thermal comfort of interior space. Although the direct relationship between solar heat gain and thermal comfort is undefined currently and there are also no prescriptive requirements for solar heat gain in (Lee, et.al, 2014) (Lee, et.al, 2014) 10 main energy codes and standards (e.g. LEED, ASHRAE, and Title 24), it can be assumed that reduction of solar heat gain in summer will have a significant contribution to reducing the cooling load and therefore energy consumption by AC and indoor thermal comfort. Based on the assumption, solar heat gain through the window can be an indicative factor to assess the energy performance of kinetic façades. In terms of criteria for evaluation, instead of setting a threshold for the value of solar heat gain directly, using proper glass materials that meet the requirements of certain building codes to control the solar heat gain will be an option. 1.3. Daylighting Simulation and Calculation Daylighting basics such as daylight metrics and threshold to achieve design standards, and the methods to simulate and evaluate daylighting will be discussed in this section. 1.3.1 Daylighting Metrics Although the visual quality of interior space cannot be described by horizontal illuminance completely, one of the common daylight metrics to evaluate the adequacy of illumination of indoor space is illuminance on the horizontal plane (Mardaljevic, 2009). It typically indicates the lighting level that is required for visual tasks. For office or clerical work, a value of 300-500 lux is recommended, and most artificial lighting systems are designed based on this criterion to reach the required level of illumination (Rea, 2000). In addition to the illuminance value for visual task, other metrics that can also be used for daylight assessment include circadian stimulus levels, glare from excessive daylight or other sources, and overheating caused by sunlight (Mardaljevic, 2009). The way to simulate and evaluate the horizontal illuminance is usually specifying a grid of points on the horizontal plane, either on the ground level or desk height level, etc. and the defined horizontal plane could either be certain points, specific areas or zones, or a continuous grid (Mardaljevic, 2009). 1.3.2 Daylighting Simulation Better daylight quality in the indoor space contributes to occupants’ comfort and satisfaction about their work environment, as well as reduce the use of artificial lighting (e.g. task lighting for work plane) and therefore save energy (Elghazi Y. et al., 2015). Daylight control is an important area in the field of kinetic façade, which serves as dynamic solar screen in most of cases (Elghazi Y. et al., 2015). Daylighting simulation have achieved a high standard and maturity during the past decades (Lehar, 2007). Currently, many sophisticated design tools for daylighting simulation include ADELINE and Radiance, which are capable to simulate complex room geometry accurately (Vartiainen, 2000). Honeybee is a plugin in Grasshopper which conducts the daylighting simulation via interfacing Radiance and Daysim (Elghazi Y. et al., 2015). Honeybee can be used also for parametric daylighting analysis. 1.3.3 Daylighting Calculation The daylighting calculation method used in this research is based on the DOE-2 Daylighting Calculation (Winkelmann FC, 1985). According to the algorithm, the total illuminance on a reference point consists of two components: direct component which is basically from the sun or sky directly, and internal reflected component which derives mainly from the reflectance of the light from interior surfaces (walls, ceiling, and floor). The direct component of indoor illuminance is the function of three parameters: luminance of window element, solid angle subtended by window element with respect to reference point, and the angle between vertical and ray from reference point to the center of window element. Among those three parameters, luminance of window could be calculated based on sun position and sky condition, and the solid angle requires geometric analytics because it contains large amount of repetitive calculation including the angle, distance between reference point and each of window element. Therefore, to calculate solid angle, the window surface is divided into a x-y grid of elements, and the illuminance value on the reference point depends on the summation of the solid angle subtended by each window element, including those elements shaded by either the façade component or surrounding obstruction buildings, and also those elements exposed to the sun or sky directly. The difference of the background luminance of the shaded elements (use luminance value of shading device in calculation) and unshaded elements (use luminance value of sun or sky in calculation) leads to the different result of illuminance value on the reference point. Therefore, it is necessary to separate them into two groups based on the 11 position of the kinetic façade component and the exterior obstruction building and then calculate the total solid angle value for the two groups of window element separately. 1.4. Energy Simulation of Kinetic Façades Currently, the way to do energy simulation or performance evaluation in most studies still relies on existing building energy simulation programs such as EnergyPlus, eQuest, or other energy simulation platform like Green Building Studio (GBS) integrated with building information modeling (BIM) software. The basic concept to do this is to set up several stages of kinetic façade (e.g. different rotation angles or openness) in energy simulation program and run many simulations separately. Further data processing is then needed to make comparisons or conclusions. As BIM became popular and powerful in the market, it was possible and more efficient to integrate BIM software (e.g. Autodesk Revit) with other software programs to maximize their efficiency to assist either at the design phase or documentation and management stage. To be more productive and efficient, different tools should be chosen for different purposes. For example, early design decision making may not require a detailed energy simulation in terms of dealing with massing, form-finding, or other early design problems (Crawley et al., 2008). As a designer, understanding how kinetic façades behave under different environmental condition or in different times at an early design phase will be more helpful rather than doing detailed energy simulations later. When combined with visual programming (Dynamo, Grasshopper, etc.) and generative design tools (e.g. Autodesk Project Fractal), designers are able to evaluate their kinetic façade deign strategy quickly and easily. 1.4.1 Whole-Building Scale and Component Scale Energy Simulation of Kinetic Façades Energy simulation of a kinetic façade can be divided into two types of simulation, according to the scale: whole- building and façade-component. Whole-building energy simulation refers to simulating the overall energy consumption of the entire building as what most computer energy simulation programs do. The main criteria of this type of simulation is EUI (energy use intensity). Façade-component energy simulation means focusing on solar heat gain through the window where the kinetic façades serve as the sun-protection system. The criteria of this type of simulation could be the level of solar radiation or solar heat gain. In terms of energy simulation of a building with complex kinetic facades, two important issues exist. First, it is required to trace the movement of the sun rather than just using the solar altitude angle. Second, complex kinetic components should update to respond to the environment to reduce the heating and/or cooling load or to get a better daylighting condition (Hyoungsub Kim et al., 2015). However, none of the commonly used building energy simulation programs are able to simulate dynamically and parametrically (Table 1.4.1.1). Table 1.4.1.1. Summary and comparison of six commonly-used building energy simulation programs for kinetic façade simulation (Kunyu Luo, 2017) For whole-building scale simulation, many existing building energy simulation programs are available, including IES- VE, DesignBuilder, eQuest, and EnergyPlus, etc (Drury B. Crawley et al., 2008). Usually, energy modeling needs to be done within the programs and all kinds of parameters need to be specified such as building configuration, construction information, building systems setup, etc. Due to the nature and limitation of those programs, it is impossible to run a number of simulations within a relatively short period, let alone parametric simulation (Hyoungsub Energy Performance (Solar Radiation Analysis) Daylighting Condition Energy Performance (Solar Radiation Analysis) Daylighting Condition IES-VE √ √ √ √ DesignBuilder √ √ × √ eQuest √ × × × EnergyPlus √ × × × DeST √ × × × Green Building Studio √ × × × Whole-Building Scale Simulation (Static Model) Component Scale Simulation Energy Program Simulation Type 12 Kim et al., 2015). Another way to do whole-building scale analysis is to simulate the solar radiation that hits the façade. By comparing how much solar radiation is received by the entire building envelope, designers are able to predict and estimate the energy performance of a kinetic façade. For façade-component scale simulation, it is easier to analyze performance of a kinetic façade more specifically. When daylight quality or other physical variables, or even the impact of occupants’ behavior must be analyzed, façade- component scale simulation is much easier and helpful. The energy performance of this type of simulation could be done by calculating solar heat gain through the window under the influence of a kinetic façade using mathematical forulae rather than relying on other simulation engines. And daylighting conditions could be simulated through setting up a room model with kinetic façade elements outside the window. In this way, it is possible to realize parametric simulation and analysis with BIM and generative tools. 1.4.2 Why it is Difficult to Model Kinetic Façade Accurately in Most Energy Software Programs The form of kinetic façade elements can vary from project to project, from a simple folded plate like the MegaFaces in Sochi, Russia, designed by Asif Kahn (Grozdanic, 2016), to complex geometry such as the Al Bahr Towers in Abu Dhabi, designed by Aedas UK (CTBUH, 2013). However, among the five energy simulation programs mentioned previously, four, eQuest, EnergyPlus, DeST, and GBS, cannot recognize a complex panel as a shading device. For example, only horizontal overhang and vertical fin are available shading devices to choose in eQuest. If users want to simulate a more complex shading element, the complex panel geometry has to be simplified, maintaining the same opening ratio (Kim et al., 2015). Also modeling complex geometry in IES-VE and DesignBuilder is quite difficult. Importing from Autodesk Revit is an available way to create an energy model in IES-VE and DesignBuilder, but when the geometry is too complex, the quality of the imported model cannot be guaranteed (Sharaidin, 2014). Considering the nature and limitations of those existing energy simulation programs, modelling kinetic façades accurately in them is difficult and hard to operate in the real project. 1.5 Impact of Occupant Behavior In contrast to conventional, static facades, kinetic facade systems can have an interdependent relationship with building occupants (Loonen et al., 2017) (Figure 1.5.1). In some applications, the simulation model needs to be able to evaluate not only how the kinetic façade component affects indoor environment (e.g. solar heat gain and daylighting), but also how individual occupants may want to control a specific adaptive building envelope technology (Haldi and Robinson 2010). Due to the nature of occupants’ behavior, which is hard to predict and seems relatively random, and the existence of other uncertainty factors (e.g. site weather conditions, equipment, and internal heat gain, etc.), large discrepancies exist between predicted and actual energy performance (Sun, 2015). From an occupant behavior’s point of view, apart from the occupant schedule, occupants’ actions on façade control are also a significant factor. Sometimes even though the occupant schedule remains the same, the different actions that an occupant can take during specific time periods could make a difference. For example, the occupants might want to overrule the existing control program because of the view out the window. A possible situation is that occupants open the kinetic façade component completely at certain times because they want to have a better view out, even though it will compromise energy performance or daylight quality. Therefore, the program should be able to inform the user and let them understand how their behavior will impact the façade performance. 13 Figure 1.5.1. Control architecture for building systems, including building services and adaptive facades: the continuous line represents active, closed-loop, control; the dashed line represents passive, open-loop, control (Loonen et al., 2017). 1.6 The Application of Multi-Objective Optimization in Building Performance Optimization algorithms have been applied more to building design and analysis as computer technology and mathematical theory has developed. Optimization has been used for various topics including optimizing construction cost (Radford and Gero, 1987), construction elements (Sambou et al., 2009); building shapes (Wang et al., 2006); building envelopes (Bouchlaghem, 2000; Radford and Gero, 1987); and heating, ventilation, and air conditioning (HVAC) systems (Zhang et al., 2006), etc. Currently, two types of algorithms are widely used for multi-objective optimization (MOO) problems: simple aggregation and Pareto Optimal (Rahmani Asl et al., 2010). The composite objective function is defined according to individual objective functions to run simple aggregation (Rahmani Asl et al., 2010). The composite objective function could be determined by several different methods such as using weighting factors. In order to get the proper composite objective function, knowledge of the relationships among all of the individual objectives and their weighting factors are needed (Fonseca and Fleming, 1993; Konak et al., 2006). However, in the building design phase most of these relationships are unknown and make this method difficult to operate (Rahmani Asl et al., 2010). The second method is seeking a set of promising solutions, known as the Pareto-optimal set (Fonseca and Fleming, 1993), by giving multiple objectives for optimizing. With the Pareto Optimal method, it is possible and also easier for designers to do decision making. Pareto Optimal works in the way that improves a single individual objective without compromising at least one other objective to get worse (Hoes et al., 2011). A set of optimal solutions, referred to as Pareto Frontier, could be used during evaluation and finding the unique solution later by the designers (Gossard et al., 2013; Konak et al., 2006). Available tools in building design for designers to do multi-objective optimization include Optimo, a package available in Dynamo, and Galapagos and Octopus, which are plug-in programs in Grasshopper. Dynamo and Grasshopper are two commonly used visual programming tools and will be introduced in section 1.7. 1.7 Building Information Modeling (BIM) The concept and application of building information modeling (BIM) tools is introduced in this section, including the application of Revit, visual programming (Dynamo for Revit and Grasshopper for Rhino), and generative design tools. 14 1.7.1 BIM “Building Information Modeling (BIM) is an intelligent 3D model-based process that gives architecture, engineering, and construction (AEC) professionals the insight and tools to more efficiently plan, design, construct, and manage buildings and infrastructure” ("What is BIM", 2017). BIM provides users a modeling platform that contains all of the building components with specific data and information like geometric parameters and material properties, which enables the efficient generation, documentation, and management of building information (Kim, 2015). In addition, the application programming interface (API) gives BIM the ability to be integrated with other simulation and analysis such as daylighting, solar radiation, and energy consumption (Kim, 2015). One commonly-used BIM software program in architecture, engineering, construction (AEC) industry is Autodesk Revit. It has been already widely used for many different domains, including architecture, structure, mechanical system, construction, etc (Rahmani Asl, 2015). In Revit, the structure of its component library is constructed based on the order of category, family, type, and instance, and specific information that related to the objects (Kensek, 2014). Parametric modeling and analysis is possible in Revit by manipulating the object directly or changing the related parameters. 1.7.2 Visual programming Computer programming is a powerful and useful tool for designers to deal with complicated and sophisticated design problems in a relatively easier way (e.g. using for-loop and conditional statements to solve repetitive or large numbers of calculations) especially in parametric design process (Boeykens and Neuckermans, 2009). For those designers who don’t have strong programming skills or without computer science background, visual programming interfaces could be an alternative of traditional text coding with a visual metaphor of connecting small blocks of independent functionalities into the entire system (Boeykens and Neuckermans, 2009). In visual programming interface, users are able to write the script on their own by manipulating function nodes graphically rather than typing code textually (Rahmani Asl etal., 2010). Examples of visual programming tools in AEC includes Dynamo for Autodesk Revit® (Figure 1.7.2.1 (a), (b), (c)) and Grasshopper for McNeel Rhinoceros® (Figure 1.7.2.2 (a), (b), (c)). (a) 15 1.7.4 Generative design tools The “Generative design process mimics the nature’s evolutionary approach to design” ("Generative Design", 2015). There are four common methods of generative design: 1) form synthesis; 2) lattice and surface optimization; 3) topology optimization; 4) trabecular structures; (Table 1.7.4.1) ("Generative Design", 2015). In architectural or (b) (c) (a) Figure 1.7.2.1(a) Dynamo script of parametric bridge and changeable parameter; (b) Parametric Bridge (span/sag ratio = 5) in Dynamo; (c) Parametric Bridge (span/sag ratio = 10) in Dynamo (Kunyu Luo, 2017) (b) (c) Figure 1.7.2.2 (a) Grasshopper script of daylighting simulation of a building with kinetic skylights; (b) Daylighting simulation results with skylight louvers closed at 0 degree; (c) Daylighting simulation results with skylights louver opened at 90 degrees (Kunyu Luo, 2017). 16 structural applications, form synthesis is more popular in terms of form finding and solution exploration (Agkathidis, 2016). Basically, designers need to input the design constraints or parameters that could possibly change as variables, such as building dimension, window-wall ratio (WWR), and the size of the primary structural elements. Then the software will explore and generate every possible solution or design alternative based on the combination of all individual variables through cloud computing, and if there is any consequence resulting from those variables that users may want to see and analyze, it will present the results both graphically and textually. With generative design, there will be potentially thousands of design solutions rather than a single solution for choice. However, it should be noted that the variables are interconnected can affect the results. For example, the depth of the overhang and building orientation can be two independent variables, which means one will not change according to another, or they can be relevant. Users choose one that fit their goals and requirements best. Table 1.7.4.1. Summary of Generative Design Methods (Kunyu Luo, 2017). Project Fractal is a cloud-based generative design interface that leverages Autodesk’s Dynamo Studio to explore all of the possible design alternatives according to the design goals, constraints, and building expertise (“Getting Started with Project Fractal”, 2016). Combined with Dynamo, the visual programming interface, it could be used to find the proper form of the building geometry or configuration for further analysis (Figure 1.7.4.1). It is efficient especially when there are multiple changeable parameters changing simultaneously and therefore finding all alternatives manually could be a very tedious and time-consuming process. The way that Project Fractal works provides an opportunity and potential to generate multiple design alternatives simultaneously, and all of the different alternatives can be visualized both graphically and textually, namely, the geometry form and value of the related parameters. In the example, the goal is to minimize the solar glare on the ground level generated by a high-rise building with glazed curved façade on the south by modifying the shape of the south façade. Four parameters that can affect the geometry of the façade were set as variables and other parameters remain constant. All possible results, which are represented by the number of grids with different color, were shown at the right side of the data list (Figure 1.7.4.2). Generative Design Method Description Related Software Form Synthesis Designers input design goals or constrains, and software will generate wide range of design options based on AI algorithm. Project Dreamcatcher Lattice and Surface Optimization It applies internal lattices and optimized surface structures to an existing component to make it lighter and stronger. Netfabb Topology Optimization This method reduces the weight of component by removing unnecssary materials while keep the performace criteria. Fusion 360 Trabecular Structure It scales and distributes tiny pores through solid materials, and creates surface roughness to mimic bone in medical implants to help patients heal. Within Medical 17 Figure 1.7.4.1 Interface of Project Fractal (Kunyu Luo, 2017) Figure 1.7.4.2 Variables within Project Fractal example (Kunyu Luo, 2017) 1.8 Python Python is a widely used programming language of general-purpose programming. Python is an object-oriented language that emphasizes the code readability and syntax simplicity ("Python (programming language)", 2017). Users are able to write their own package or module to realize certain customized functions, and those published packages and modules can also be used by other users and embedded into other applications. Textual programming provides better experiences and methods in terms of writing conditional statements such as an if statement and looping such as a “for” loop when compared to visual programming. Dynamo allows for the creating of Python nodes, and due to the open-source feature of Dynamo, users can either extend the existing nodes or create new custom commands or functionalities in Dynamo. Dynamo also provides the interface that allows users to do Python programming for specific purposes (Figure 1.8.1). Therefore, certain simulations and calculations that are based on complex algorithms or that contain a large amount of mathematical calculation can be done in a relatively efficient way in Dynamo without having to have cluttered scripts. On the other hand, scripts that contain too many nodes can be simplified by replacing the nodes with a few concise lines of code. 18 Figure 1.8.1. Interface of Python Scripts in Dynamo (Kunyu Luo, 2017) (See Appendix A for complete code ) 1.9 Thesis Framework The framework of the thesis including abstract, hypothesis, and research objectives are introduced in this section. 1.9.1 Abstract and Hypothesis A tool for building information software can provide useful information to the designer about trade-offs between energy and daylighting and also allow occupants to see how their behavior effects energy consumption. An assessment workflow using Revit and Dynamo was created to simulate and evaluate the performance of a kinetic façade in an interior space. It includes parameters of energy performance, specifically, solar heat gain through the window, daylighting, and the occupants’ behavior. The solar heat gain was calculated based on the detailed calculation method in the ASHRAE handbook. The daylighting metric used was illuminance value, and it was calculated based on the algorithm of DOE-2 daylighting. Custom nodes in Dynamo were created in Python to calculate relevant parameters. The control strategy of the kinetic façade was determined through the combined use of Dynamo and Microsoft Excel by balancing solar heat gain and illuminance value on the work plane. Revit and Dynamo were used for building and façade modeling, geometric analytics, and relevant calculation. Microsoft Excel was used for further data processing. Other possible alternatives for data analysis were also discussed. The criterion for determining the control strategy is to avoid the direct glare, maintain illuminance value between 500 lux to 1500 lux and meanwhile regulate the solar heat gain based on real-time weather. Occupants are able to overrule the façade control based on their preferences, for example, based on the view out of the window or other personal choices about more or less light. The program shows the tradeoff of doing so by comparing solar heat gain between the user’s choice and the theoretical optimum value, as well as the change of lux level on the work plane in order to realize real-time control. A dashboard was created serving as the visualization interface for the occupants. The information included in the dashboard includes façade from both exterior view and interior view, date and time, and 3D columns and text to represent the level of solar heat gain and illuminance. Two case studies of the kinetic façade project were provided to demonstrate the viability of the proposed workflow. Hypothesis: The workflow for simulating the energy performance, daylighting, assessing the direct glare in BIM tools is possible and efficient to determine the control strategy of kinetic facades and evaluate the effect of occupants’ behavior comparing with the current simulation method. 19 1.9.2 Objectives Based on the hypothesis and the goal, four objectives have been set: • Analyze the optimal operation scenario of a kinetic façade based on solar radiation and daylighting simulation. • Simplify the script in visual programming tool. • Allow occupants to override the control strategy according to their preference of view out the window. • Give feedback to occupants when they override the control command on the following three aspects: 1) How much solar radiation received by glass more than theoretical optimal condition. 2) How daylighting condition would be degraded comparing to optimal condition. 3) Which position should the kinetic façade elements be. 1.10 Significance of the Study The workflow for multi-domain assessment of kinetic façade performance can be used for understanding how kinetic façades perform during the design stage and also guide occupants to assure and improve the performance of the building. 1.10.1 Interaction among various design tools. Considering that BIM tools have become more and more important and widely used in the AEC industry, a workflow that integrates several design and analysis tools will help designers to have a better understanding about what they design for and to make logical design decisions. Information interaction among different tools can let more people such as architects, engineers, and fabricators become involved in the design process. 1.10.2 For designer --- a better understanding of kinetic façade design The new workflow will provide an easier way to evaluate the performance of building with kinetic elements, especially in the early design stage. 1.10.3 For user --- knowledge of human behavior’s impact on building performance In most cases, the control strategy of the kinetic façade only takes environmental parameters into account. On one hand, the theoretical position of kinetic elements at specific times may not be able to satisfy the occupants’ need in terms of view out the window when they try to maximize energy performance and maintain daylight condition. On the other hand, ignoring the effect of the occupants’ behavior will cause a discrepancy in building performance between initial design and real-time operation. Giving feedback to the occupants can guide and lead their behavior through informing them of how their operation on the kinetic façade will change the indoor conditions or even degrade the optimal performance of the façade. 1.11 Summary Kinetic façades play a significant role in modern architecture and can be a applicable and beneficial design alternative and technology. Making an easier way to analyze their performance during the early design stage through the integration and cooperation of different design tools and taking occupants’ behavior into account in the control process is helpful to create a better product and maximize its efficiency by balancing occupant factor and environmental factors (solar radiation and daylight). 20 CHAPTER 2 2 Background of kinetic façade simulation and assessment An investigation of parametric simulations and the optimization process for occupants in the building requires the cooperation of different design platforms and a comprehensive understanding of how environmental variables (e.g. solar radiation, daylight condition) will affect the indoor environment and their relationship with energy use as well as occupants’ comfort and satisfaction. This chapter introduces the previous research and related background of the performance simulation of kinetic façades, including daylighting analysis, parametric energy performance simulation, optimal operation scenario determination, and simulation workflows integrated with BIM tools. 2.1 Daylighting analysis of kinetic façades Understanding the importance of daylighting simulation to the design process of a façade system and current methods to simulate daylighting in the building are necessary in order to create better designers. 2.1.1 Introduction In the current design process, some designers will only take into account energy performance by simulating the amount of solar radiation hitting on the kinetic façade component, rather than on the basis of the occupants’ satisfaction in the process of design and deciding the moving pattern of façade component. In some cases, placing façade elements in specific positions to block the direct sun light might degrade the daylight condition of interior space, which will increase the use of artificial lighting in order to achieve the target or required illuminance level on the work plane and therefore compromise the overall energy efficiency. In addition, compared with the solar radiation simulation that could be done for the entire façade on one orientation, the daylighting simulation is more complex and needs to be done for each room or zone separately, therefore adding more workload to designers and uncertainty about when to determine the operation mode of the kinetic façade. 2.1.2 Evaluating of daylighting of interior spaces To provide for the occupants a connection between indoor space and outdoor environment, daylight should be introduced into the working space or occupied area, and at least 75% of the regularly occupied area should be able to access enough daylight (LEED, 2009). Basically, four options can be used to evaluate daylighting: computer simulation, prescriptive calculation, field measurement, and the combination of previous the three options (LEED, 2009). There are many advanced daylighting computer simulation tools available, such as Radiance, DIVA in Rhino, and Ecotect, which are all accurate tools and able to handle complex room geometry (Elghazi Y, 2015). However, as mentioned before, in the design process, running daylighting simulation for every specific zone or orientation is time-consuming, and the optimization that needs the integration of different data from different programs are even more complicated. In the early design phase, a faster and a more straightforward way to analyze daylighting when running thousands of parametric models would be more efficient. Prescriptive calculation is a simplified calculation method based on several assumptions and it only takes into account factors related to the building geometry such as room depth, window dimensions, etc. Prescriptive calculation is mainly for predicting and assessing what percentage of the interior space could access daylight (LEED, 2009). Therefore, it not suitable for relatively sophisticated and detailed daylighting simulation especially when the effect of the kinetic façade system should be involved. Field measurement is the method that demonstrates that at least 75% of regularly occupied space should reach the illumination level of 250 lux through prescribed or recorded periods of indoor light measurements (LEED, 2009). It cannot be adopted during the design stage when the building has not actually been built. 21 The combination of those three methods could be flexible enough for different situations. Prescriptive calculation can be developed based on a more detailed and sophisticated algorithm which is from current computer simulation programs, and with more details been specified rather than making lots of assumptions. The results will be more descriptive and directive to the design process. 2.1.3 Manual calculation methods for evaluating indoor daylighting conditions. There are three main calculation methods for daylighting evaluation: daylight factor calculation in the British standard (BS EN 15193, 2007), overall daylighting assessment method in LEED handbook (LEED, 2009), and the algorithm used by the DOE-2 engine (Winkelmann FC, 1985). Apart from those three above, thereare also some other non-computerized methods, including Lumen Method in IESNA, split flux method and daylight protractor method defined by Hopkinson, and nomographs and Waldram diagram developed by Waldram. In the British standard, daylight factor is calculated based on transparency index, depth index, light transmittance of the window, and light transmittance of shading devices. With exterior shading devices applied, parameters that are able to reflect the effect of shading should be integrated for accuracy, including obstruction index and exposure coefficient. The problem is that the daylight factor in this standard is determined only by geometric parameters of the building and room without considering the sun position and sky condition. Indeed, Direct Sun is completely ignored. Therefore, in terms of optimization with solar heat gain, which is hourly data, the accuracy of this method is extremely limited. The LEED Handbook (LEED, 2009) provides a prescriptive calculation method to evaluate the daylight accessibility of a room. It prescribes calculating how much percentage of the room could receive daylight to see if the result satisfies the IEQ credit 8.1 requirements. This method is also only geometric-indices- relevant and doesn’t consider the sun position. When kinetic shading devices are applied, which might change its shape or move to different position hourly based on the time in a day, this method is not applicable. In DOE-2 daylighting calculation (Winkelmann FC, 1985), three types of daylight factor are defined: 1) interior illuminance factor, which represents the contribution of direct sunlight and diffused sunlight to illuminance at an indoor reference point. 2) window luminance factor. 3)window background factor. The last two are mainly used for determining glare. Interior illuminance factor can be calculated hourly based on hourly weather data such as sun altitude and sun azimuth, and other parameters related to window and shading devices. For a given space with one or two reference points, the program will calculate those daylight factors for the whole year period and store them for use in later hourly simulation, which serves as a look-up table. When hourly simulation is conducted, the daylight factor is calculated by interpolating between those stored values. The DOE-2 method has been validated through comparing with field measurement and with a sophisticated computer simulation program (Winkelmann FC, 1985). This method is applicable. 2.1.4 Relevant research Previous research about the method and algorithm to calculate daylight level as well as the corresponding lighting energy consumption has been found. Two of them are especially helpful. Dong-Seok Lee et.al from Inha University proposed a new calculation method to calculate solar heat gain, daylight factor, and cooling and heating load under the effects of exterior movable shading devices (Dong-Seok Lee et.al., 2016). In order to evaluate the indoor illuminance level, daylight factor (DF), which is defined as the proportion of the illuminance value on the indoor work plane from daylight divided by the exterior illuminance value on the horizontal plane. Through calculating daylight factor, the indoor illuminance value can be determined by multiplying the daylight factor with exterior illuminance value, which can be derived from weather file or other resources. Daylight factor is calculated for each working hour based on openness of movable shading, space geometry and material properties of glass and shading devices. They demonstrated that analyzing indoor daylight conditions through manual calculation instead of computer simulation is possible, and when analyzed with other parameters together later, optimization can be more straightforward and easy to handle. 22 A workflow embedded in Revit and Dynamo can accomplish parametric energy simulation and daylighting assessment (Mohammad Rahmani et.al., 2010). They evaluated and optimized the dimensions (width and height) of the window based on two objectives: whole-building energy consumption and daylighting conditions. The daylighting condition was evaluated by calculating the percentage of daylight accessibility of indoor space according to LEED prescriptive requirements. Given parameters include room floor area, window area, glass properties. Although this is not a detailed hourly daylighting calculation that takes into account the sun position, it still provided a direction to evaluate the daylighting condition based on the window area and room area. 2.2 Parametric energy performance simulation during the design process The currently-used methods and relevant research to simulate and analyze the energy performance of the building is discussed in this section. 2.2.1 Introduction In the early design phase, being able to do parametric simulation of kinetic façade elements is useful for decision making in terms of achieving a better energy performance, rather than running energy simulation for many times within building energy simulation program (BESP). Most of the existing BESPs are static simulation program. For example, a few commonly used programs: IES-VE, DesignBuilder, eQuest, and GBS, etc. only allow users to run whole-year energy simulation with a fixed building model, without any elements changeable or dynamic. In addition, BESP like eQuest cannot recognize complex façade geometry, and GBS cannot provide hourly energy analysis results (Kim, H et.al., 2015). Those limitations of BESPs will lead to uncertainty and inefficiency in the performance assessment of a kinetic façade system. In other cases, energy performance can be estimated in an indirect way by simulating the solar radiation hitting on the façade with and without kinetic shading devices. Solar radiation simulation is much easier than whole-building energy simulation because it can be analyzed hourly and parametrically within Grasshopper or other programs. Some research has been done to demonstrate the availability and efficacy of energy performance through solar radiation simulation (Ben Bacha, 2016). However, simulating solar radiation hitting on the façade can’t guarantee the comfort or satisfaction of the occupants inside the building. Therefore, stepping forward from solar radiation simulation, further analysis such as solar heat gain through fenestration that related to thermal comfort and daylighting (e.g. indoor illuminance and glare) in terms of visual comfort should be done. 2.2.2 Calculation of solar heat gain though fenestration The calculation method of solar heat gain was defined in the ASHRAE handbook (ASHRAE, 2013). In the calculation, the solar heat gain through fenestration was divided into two parts: direct solar heat gain and diffuse solar heat gain. Relevant parameters include window area, sun position, solar radiation level on exterior horizontal plane, solar heat gain coefficient (SHGC) for both direct sunlight and diffuse sunlight, and several introduced factors that consider the effect of shading devices. 2.2.3 Relevant research Energy performance assessment through both calculating solar heat gain and running energy simulation in BESP has been done. A new calculation method for the evaluation of movable shading devices and determining the optimal operation scenario, which considers solar heat gain through fenestration, lighting energy use, and cooling and heating load has been proposed (Dong-Seok Lee et.al., 2016). Instead of using computer simulation tools, they adopted the ASHRAE definition to calculate solar heat gain manually. The given parameters were window area, glass properties, sun position, exterior solar radiation level, etc. In addition, to reflect the effect of movable shading accurately, they introduced three factors: 1) unshaded fraction, which indicates the proportion of solar incident area to the total window area, 2) exterior solar attenuation coefficient, which shows the proportion of solar radiation passing through shading devices, and 3) exposure coefficient, which expresses as the proportion of the exposed window area in the 23 total window area. They calculated the shaded area by using sun vector and the position coordinates of shadings and window, which could be time consuming when the shading geometry is complex and also hard to do parametric analysis. In Dynamo, it could be done by doing geometric analytics. Although the geometry of the movable shading device used in this research was relatively simple, it provided a valid method to calculate solar heat gain through fenestration manually. A similar technique could be used to manipulate the calculation steps in BIM tool (Dynamo) for further parametric simulation and analysis. EQuest was used in a different research project to evaluate the energy performance of complex kinetic façade geometry each hour under specific scenarios and then the selected results of each hour scenarios are combined to produce hourly performance of kinetic façade system (Kim, H et.al., 2015). However, many energy simulations and time-consuming process need to be done in most of cases. It provided a method to derive hourly energy performance of kinetic façade system, but in practice, design stage for instance, it’s not a good option for parametric analysis. 2.3 Integration of BIM tools with simulation The potential of integrating BIM tools with the simulations that are usually conducted in computer simulation programs is discussed in this section. 2.3.1 Introduction In terms of simulation or analysis during the early design phase, the most commonly used tool is Rhino and its embedded visual programming platform – Grasshopper. Designers can go from CAD floor plan drawings from architects to Rhino for the creation of 3D building model, and then create parametric façade components for further simulation (e.g. penalization, solar radiation analysis, etc.) using specialized components in Grasshopper. Finally, the whole model including building and façade elements could be exported to Revit if documentation and completed construction drawings are required. The entire workflow can be simplified and the transmission between different software programs is possible to be eliminated through working with BIM tools directly. 2.3.2 Visual programming --- Dynamo With visual programming, designers are able to create computer programs by manipulating nodes graphically rather than textually, and therefore realize their sophisticated and custom design intent even though they don’t have a strong computer science background and programming skill. This can be done with Grasshopper and Rhino. It can also be done with Dynamo and Revit. In Dynamo, designers can also wrap a few existing nodes up to form a new custom node, or do text coding in Python Script node to create a new custom node for certain specific function, which is useful when some repetitive calculation works are needed to be done. 2.3.3 Solution exploration in generative design platform --- Project Fractal When there are more than two changeable parameters, the possible design alternatives might be too much to be handled comprehensively by manual analysis. A generative design tool can give all of the possible design alternatives based on the combinations of each variable, and therefore make it easier for designers to analyze and select one or more options that meet their design goals. Project Fractal is an online platform that interacts with Dynamo in both directions. In the interface of Project Fractal, all of the available design alternatives can be visualized both graphically and textually, as well as the relationship between each alternative and related variable. For instance, by changing the position of kinetic façade element during a specific time, the user is able to see all possible combination of solar heat gain and indoor daylight illuminance and determine the optimal position for that time. 2.3.4 Relevant research 24 A BIM-based workflow was developed to enable designers to optimize the dimensions of windows based on multiple objectives (energy consumption and daylighting condition) (Mohammad Rahmani et.al., 2010). They created several custom nodes for calculating daylighting condition based on requirements and the prescriptive calculation method from LEED reference guild, generated energy model in Green Building eXtended Markup Language (gbXML, 2014) format for energy simulation, and extracted the information of building from Revit and then created a new project in GBS through Revit API. They provided a perspective that creating, editing, analyzing, and even documenting of one project could be done in BIM platform is possible, without introducing and relying on other analysis tools. 2.4 Summary In addition to existing computer simulation programs, there are several manual calculation methods to evaluate interior daylighting. Using this, one can develop custom nodes in Dynamo to simulate daylighting. Among the available calculation methods, LEED and British standard methods have limitations that make them unsuitable for kinetic façade design, e.g. only simple shading geometry such as overhangs, vertical fins, or shading panels parallel to the window surface are allowed. Therefore, the daylighting calculation method from DOE-2 should be used instead. It can calculate the indoor illuminance value in a relatively accurate way and also be available for hourly lighting energy use evaluation. The current way to evaluate the energy performance of a kinetic façade includes using existing energy simulation programs, simulating solar radiation hitting on the façade in Grasshopper, or calculating solar radiation manually. It is also possible to develop new tools in a BIM environment to realize parametric simulation and assessment, which provides opportunities for more sophisticated simulation and decision-making process. 25 CHAPTER 3 3 Methodology In order to make a multi-domain assessment of kinetic façades, including the effect of the occupant’s behavior based on their preference of view out the window, a research method based on BIM tools was proposed. This chapter documents the overall methodology workflow used for the study goals, namely the energy performance assessment, daylighting analysis in BIM, evaluation of occupants’ behavior on façade control, and operation scenario determination through Dynamo and Microsoft Excel. Other possible alternatives for the data analysis were also discussed. 3.1 Workflow overview The considerations of methodology development and detailed workflow and theory basics of the methodology is discussed in this section. 3.1.1 Methodology development Revit and Rhino are widely used in the computational design process and analysis in the AEC industry. One common way is that designers get 2D CAD floor plan drawings, import them into Rhino, and make it a 3D building model for further manipulation and analysis. Or they can also create a Revit 3D building model directly, which was generated by the architects. Considering that Revit is able to serve as a 3D model-based database storing a lot of information related to the building components and model, which provides a huge convenience and advantage for project management and documentation, a research method based on BIM tools was created. The next two sections detail and explain the steps of the methods as well as the software or program that will be used. Several custom nodes in visual programming tools were created. 3.1.2 Overall workflow Software programs that were used in the workflow include Autodesk Revit, Dynamo, and Microsoft Excel. Considering the complexity of algorithms used for daylighting calculation and for geometric analytics, as well as the textual program’s advantages when compared with the visual program as mentioned in Chapter 1, the visual program in Dynamo could be cluttered and hard-to-read. To make it less confusing and in order to achieve parametric energy performance analysis, custom nodes are created in Dynamo through Python script for calculating solar heat gain and daylighting illuminance according to the formulas and algorithm mentioned in Chapter 1, rather than using existing packages like Ladybug and Honeybee for simulation. Basically, there are four main steps involved in this workflow: 1) prepare the building geometry prepared and make the kinetic façade element in Revit, 2) load them into Dynamo and make them parametric, calculate the hourly value of solar heat gain and indoor illuminance, 3) collect hourly data in the Excel for further processing and analysis in order to find the optimum façade position for each hour, and 4) introduce occupants into the workflow for real-time control (Figure 3.1.2.1). 26 Figure 3.1.2.1. BIM-based Detailed workflow (Kunyu Luo, 2017) The energy performance of the kinetic façade is done at a façade-component scale, because many necessary factors and parameters for calculating energy consumption of the entire building remain unknown, especially during the early design stage, such as detailed information and schedule of the mechanical system. In addition, in terms of the façade- component scale simulation, instead of calculating how much solar radiation hit on the façade like most of the projects and research did, to be more descriptive and indicative, solar heat gain through the window with kinetic façade is calculated based on the calculation method provided by ASHRAE handbook (ASHRAE, 2013). Another important aspect to evaluate about the kinetic façade is the daylight condition. For more accuracy and reliability, hourly indoor illuminance is calculated based on the algorithm used in DOE-2. A Python script was developed to deal with a large amount of repetitive calculation. Due to the versatility of the DOE daylighting algorithm, which can also calculate a limited (view independent) glare index and hourly lighting energy use, it is possible and maintain the potential to extend the Python script for further analysis apart from indoor illuminance. However, in this research, the glare is actually limited to direct glare, which was evaluated through an oversimplified method --- the visibility of the sun in the occupants’ view. The hourly data of solar heat gain and indoor illuminance is integrated for further analysis in terms of finding control strategy. The criterion of operation scenario of a kinetic façade includes indoor illuminance value reaching the target lux value with a certain level of precision (e.g. 500 lux for office) and solar heat gain staying as low as possible during the summer seasons. In terms of the occupants’ preference on view out of the window (or just to let more light in or keep more daylight out), a custom perspective view from indoor space can be set through Dynamo. If the occupants would like to overrule the current position of the kinetic façade component, the value of solar heat gain and daylighting illuminance are recalculated under the new condition. The result is compared with the optimal one that derived from previous calculation. Then, feedback is presented to occupants informing them the discrepancies in energy performance and daylight quality (or even energy cost based on artificial lighting use and cooling and heating load) between their personal choice and the theoretical optimal command. 27 Compared with the commonly-used Rhino and Grasshopper-based research methodology, manipulating with Revit directly can let the designers access to not only 3D geometry at the very beginning of the design process, but also information of the building elements such as material properties, giving them insight that how varied materials can make a difference in design. And after the design, documentation and information management can be more straightforward and efficient by working in Revit and Dynamo directly. 3.2 Modeling in Revit The building geometry and kinetic façade geometry is created in Revit with specific parameters set, and prepared for simulation and analysis later (Figure 3.2.1). 3.2.1 Building Model The building model in Revit should contain the geometry of the wall, the roof, the window, and the floor. Furthermore, the data of the dimension of primary building components, building orientation, position, dimension, type of the window, primary nearby building obstruction (if applicable), and the use of interior space, etc. should be specified. 3.2.2 Kinetic Façade Component The kinetic façade geometry is created in Revit first and then is loaded into Dynamo for further simulation and analysis. Considering the variety of types of geometry in Revit, such as common building components (wall, roof, etc.), in-place components, adaptive family components, and masses (conceptual mass or in-place mass) geometry, etc., the new workflow is able to incorporate different types of Revit geometry as much as possible. The façade component can be created from the generic adaptive family (Figure 3.2.2.1 (a) (b)), conceptual mass (Figure Figure 3.2.1 Workflow of modeling in Revit (Kunyu Luo, 2017) 28 3.2.2.2), and in-place model (Figure 3.2.2.3), or other adaptive families that could be used to create façade component (e.g. curtain panel pattern-based family). Figure 3.2.2.1 (a) Kinetic folding panel component --- Adaptive family (Kunyu Luo, 2017) Figure 3.2.2.1 (b) Kinetic facade component --- Adaptive family (Kunyu Luo, 2017) Figure 3.2.2.2 Kinetic facade component --- conceptual mass and mass wall (Kunyu Luo, 2017) 29 3.3 Simulation in Dynamo After the building geometry and façade geometry is prepared, all simulation including solar heat gain and indoor illuminance calculation is conducted in Dynamo. Most simulations in Dynamo are done through a series of Python nodes (Figure 3.3.1). 3.3.1 Geometry Analytics For a detailed solar heat gain calculation of the kinetic façade’s shaded area, namely shadow area on the glass, is accurately determined. Unlike the methods that were proposed by previous studies to find the shadow area, including using the coordinate system and polygon method (Dong-Seok Lee, et.al., 2016), this can be done in Dynamo in a faster and parametric way. In order to avoid having a crowded and complex script in Dynamo and to be friendly to the users, a custom node was created by programming in Python (Figure 3.3.1.1). Figure 3.2.2.3 Kinetic facade component --- in-place model (Kunyu Luo, 2017) Figure 3.3.1 Workflow of simulation in Dynamo (Kunyu Luo, 2017) 30 For this custom node, the input parameters include the outline of the exterior shading device or façade component (perimeter curves), the glass surface (the input surface could be either one single surface or a list of surfaces), a vector that indicates the true north, sun altitude, sun azimuth, and a Boolean to decide whether to display short lines that point to the sun direction. The output of this node includes a poly surface that represents the shadow on the glass, unshaded fraction value, and exposure coefficient value, which allows users to visualize the effect of a shading device both graphically and textually (Figure 3.3.1.2 (a)(b)). These two output numbers were stored for the later solar heat gain calculation. See Appendix A for the complete Python code of this node. 3.3.2 Solar Heat Gain Calculation The calculation process of solar heat gain takes into account factors such as glass area, position of the kinetic façade (or shading), exterior solar radiation level (both direct and diffuse radiation), incidence angle of sunlight, thermal and optical properties of glass material and shading material (Figure 3.3.2.1). Figure 3.3.2.1 Workflow of Solar Heat Gain Calculation (Kunyu Luo, 2017) Totally, 9 custom nodes were created either for calculating solar heat gain or providing parameters needed for solar heat gain calculation. The node “Get Sun Angles” is used to calculate sun azimuth and sun altitude for specific time Figure 3.3.1.1 Custom node in Dynamo for geometric analytics (Kunyu Luo, 2017) Figure 3.3.1.2 (a) (b) Shadow on the (Kunyu Luo, 2017) window (a) (b) 31 at a specific location (Figure 3.3.2.2). The input parameters of this node include latitude, longitude, time zone, and current time in hour. The first three parameters are derived from epw weather file directly. The output sun azimuth and altitude become input parameters for solar heat gain calculation node. See Appendix B for the complete Python code of this node. The node “Glass Database” is created to store a large amount of data of glass materials, including glass type, thickness, visible transmittance, solar heat gain coefficient (SHGC) for direct light under different incidence angle and diffuse light, and also solar transmittance under different incidence angle (Figure 3.3.2.3). The original data of glass is from the ASHRAE handbook (ASHRAE, 2013), chapter 15, which provides the value of SHGC, solar transmittance, hemisphere directive reflectance under incidence angle of 0°, 40°, 50°, 60°, 70°, and 80°. Considering the limited number of incidence angle, which is not continuous and therefore hard to get the SHGC value with other incidence angles that are not listed in the table, and the fact that looking for a specific data from the entire table is relatively time-consuming and unrealistic during the design process, this custom node for data storage was created. This node not only stores the existing data, but also applies the algorithm to interpolate the SHGC value under any given incidence angle (assume linear relationship between every two adjacent integer angles), which is able to give SHGC value for any input incidence angle specifically. Designers only need to input glass ID and the incidence angle to get all needed parameters mentioned above. The database could be extended and adjusted based on the available glass products or if some specific data are provided by manufacturer. See Appendix C for entire Python code of this node. The node “Solar Heat Gain Calculator” is created to calculate solar heat gain for either single hour or a period of time. The calculation is conducted based on user-specified parameters and those parameters provided by previous custom nodes (“Get Sun Angles” and “Glass Database”). The input parameters of this node include hourly exterior direct and diffuse solar radiation, glass area, unshaded fraction (Fu), exposure coefficient (Ce), exterior attenuation coefficient (EAC), and SHGC for direct and diffuse light. It outputs the hourly solar heat gain data with the default unit of Btu. Data visualization is also available for this node, by generating 3D bar chart representing the hourly data, which was colored according to the corresponding value. Four Booleans are set to control and modify the output parameters. The units of the output solar heat gain could switch from Btu to Watt by assigning “True” to the first Boolean variable. The output solar heat gain value could be represented in summation format instead of hourly data by assigning “True” to the second Boolean variable. Users could choose to not display the 3D bar chart for visualization by assigning Figure 3.3.2.3 Custom node “Glass Database” in Dynamo (Kunyu Luo, 2017) Figure 3.3.2.2 Custom node “Get Sun Angle” in Dynamo (Kunyu Luo, 2017) 32 “True” to the third Boolean variable. Users could also choose to not display the trendline that indicates the tendency of hourly solar heat gain data by assigning “True” to the fourth Boolean variable. 3.3.3 Daylighting Calculation Figure 3.3.3.1 Workflow of Daylighting Calculation (Kunyu Luo, 2017) Although many sophisticated computer programs for daylighting simulation (e.g. Radiance) are available, it is sometimes unrealistic for the architects or designers to conduct a sophisticated daylighting simulation in those programs, especially when hourly data is possibly needed to determine the control strategy of the kinetic façade system. Therefore, to make the workflow easier as well as consistent and let designers be able to simulate and evaluate the daylight condition of interior space under the effect of the kinetic façade during their design phase, a custom node in Dynamo was created by programming in Python. This custom node gives the illuminance value at the reference points (user-specified) in the interior space and provides a general idea to designers that how to design the façade system to balance energy performance and daylighting (Figure 3.3.3.1). The algorithm for the daylighting calculation is based on DOE-2 Daylighting Calculation method, which was developed by Lawrence National Laboratory, UC Berkeley. Basically, the DOE-2 daylighting calculation algorithm has three main stages. In the first stage, a preprocessor calculates the daylighting factor for later use in the hourly energy calculation. The factors that are taken into account include the distribution of sky luminance, window size and orientation, glass transmittance, inside surface reflectance, exterior shading devices, and obstruction, etc. In stage two, hourly daylighting calculations are conducted for daylight hours. Then, the indoor illuminance value from each window is found by interpolating the stored daylighting factors using the current sun position and cloud cover and multiplying the current-hour exterior horizontal illuminance value. Glare can also be analyzed by calculating the analogous glare index and then comparing with pre-defined comfort level. In stage three, the lighting control is simulated to determine the electrical lighting energy needed to make up the difference between the target lux value and daylighting level. In this case, the third stage will not to be performed. In this custom node, only the steps that calculate hourly indoor illuminance and glare index will be conducted. 33 This illuminance calculation has been previously validated by comparing the DOE-2 calculation results with scale- model measurements made in the Lawrence National Laboratory, and with SUPERLITE, a quite detailed and sophisticated illuminance computer program (Winkelmann, 1985). 3.4 Determining Control Strategy The control Strategy was determined for balancing the direct glare, the solar heat gain through the window, and the indoor daylight illuminance. The basic criterion is to obtain the minimum amount of solar heat gain when it’s not needed and maximum of solar heat gain when it’s needed and maintain the indoor illuminance value within 500 lux to 1500 lux simultaneously. There are four possible paths to determine the optimum operation scenario of the kinetic façade that were considered: 1) using a generative design tool --- e.g. Project Fractal, 2) using Optimo, an existing package for multi-objective optimization in Dynamo, 3) using Microsoft Excel, or 4) using multi-objective optimization add-in in Grasshopper. With the assistance of a generative design tool --- Project Fractal, it is possible to find the optimal solution among a large number of possibilities and combination of design alternatives. In Project Fractal, set “Time” parameter (number slider to control the hour) as variable, different combinations of solar heat gain, indoor illuminance and different façade position for each selected hour can be generated automatically, therefore, designers are able to find the optimum position of the façade component for each hour. Then the operation scenario of the kinetic façade can be determined. One limitation of this path is that currently the Fractal is not compatible with any custom node that contains Python script. Therefore, the workflow described previously that was created in Dynamo using Python scripts is currently unable to connect with Fractal and generate all design alternatives. Project Fractal is still under development, and this path may be able to work in the future. There is an existing package for multi-objective optimization in Dynamo, Optimo, which is created based on an evolutionary multi-objective optimization algorithm (Non-dominated Sorting Genetic Algorithm-II) ("How Does Optimo Work", 2015). It could be used to explore the optimum scenario by balancing the value of the solar heat gain and indoor illuminance. One problem with this method that occurred during testing is that it takes a very long time to run one simulation, and it can cause Dynamo to crash during the simulation. Microsoft Excel has great advantages in organizing large amounts of data and processing. When combined with BIM software programs (e.g. Dynamo), which are good at geometric analytics, including parametric analysis, form- finding, and data visualization, etc., the entire workflow can run smoothly by making good use of the advantages of both the BIM platform and Microsoft Excel. Based on the building geometry from the Revit model and the algorithm of solar heat gain and daylighting calculation, the calculation process can be conducted in Dynamo automatically, and the hourly simulation results can be exported into Excel. By not doing both the simulation and a large amount of data processing in Dynamo, this avoids spending too long on waiting for the simulation results. The hourly data of solar heat gain and indoor illuminance can be organized and compared together to find the optimum scenario through both textual data analysis and graphical display (Figure 3.4.1). 34 Figure 3.4.1 Data set and graphical display of data in Excel (Kunyu Luo, 2017) Grasshopper is another commonly-used software program for computational design that also through additional plug-ins, for example, Octopus (for multi-objective optimization), Galapagos and Goat (for single-objective optimization), creates the optimization. Currently, it is possible to read and write the Rhino model inside the Dynamo, as well as export the Dynamo geometry into the Rhino. Several open-source packages in Dynamo are available for this purpose: Rhynamo, Mentis-Shrimp, and a package made by CASE, a company that creates custom tools in Dynamo. Rhynamo and Mentis-Shrimp are plug-ins for Dynamo that contain a series of custom nodes for reading and writing the Rhino 3dm files in Dynamo, or importing geometry from Grasshopper (Sobon, 2014) ("Proving Ground --- Rhynamo", 2014). However, both of those two paths are not reversible, which means it is not possible to load the Revit or Dynamo geometry into Rhino or Grasshopper. Therefore, when the Revit model with parametric elements included was provided, transferring the Revit model to Rhino and Grasshopper with parametric elements (e.g. kinetic façade component) and the running simulation is not feasible. The package made by CASE is another plug-in for Dynamo that can realize converting the Dynamo geometry to Grasshopper geometry (Miller, 2014). Unlike the previous two, CASE package is still not available on the Package Manager in Dynamo. Therefore, it also can’t be used at this moment. For each specific time, three parameters: glare, illuminance, and solar heat gain through the window are calculated. The optimum position of kinetic facades for each hour within the analysis range is determined by making balance among those three parameters. And then, the operation scenario of kinetic facades is finalized. Glare is considered as a priority to place the kinetic facades because comparing with the other two parameters, glare (especially direct glare) can cause extreme unpleasant sensation of the occupants and degrade the work productivity. Therefore, kinetic facades should block the direct sunlight appearing in the occupants’ view to avoid the glare issue. Instead of calculating the glare index specifically, the direct glare is simply determined by using the sun path diagram, which can be easily accessed in either Revit or Dynamo. In the occupants’ view, if the sun is visible, it means the occupants would have glare issues, and if the sun is invisible, there would be no glare issue. The sequence of daylight quality (indoor illuminance) and energy performance (solar heat gain) can switch with each other, which means either illuminance or solar heat gain can be the parameter to be considered after glare. In general, the criterion for the indoor illuminance is to maintain it between 500 lux and 1500 lux, and the criterion for solar heat gain is to minimize its negative impact when it is not needed (during the daytime of the summer seasons) and maximize its benefit when it is needed (during the early morning of the winter seasons). Whether the solar heat gain is needed is determined through comparing the hourly outside ambient temperature with the thermal comfort range that recommended by the ASHRAE standard. The simple thumb of rule for solar heat gain is that when the outside ambient temperature is higher than the high bound value of the comfort range, solar heat gain might cause 35 overheating of indoor space, therefore it is not needed. when the outside ambient temperature is lower than the low bound value of the comfort range, solar heat gain can help heat up the indoor space, therefore basically it is needed. In summary, the control strategy of the kinetic façade was decided through the combined use of BIM (Revit and Dynamo) and Microsoft Excel (Figure 3.4.2). 3.5 Occupants’ Behavior Figure 3.5.1 Workflow of Determining Control Strategy & Occupant Behavior (Kunyu Luo, 2017) As the kinetic façade changes its form responding to outdoor environment condition, the view out through the window will change. The occupants might have their own preference on that. To get the occupants involved and Figure 3.4.2 Workflow of Determining Control Strategy and real-time control (Kunyu Luo, 2017) 36 provide real-time control, the occupants are able to overrule the façade control. When the façade position is changed by the occupants, the solar heat gain and indoor illuminance value will be recalculated and then compared with the theoretical optimal data, letting the occupants know that how their behavior can affect the performance of kinetic façade. 3.6 Feedback for the occupants When the occupants overrule the façade controls to get a better view out the window, the difference between the new façade position and the theoretical optimum façade position generates the value of difference in solar heat gain and indoor illuminance, which can inform the occupant that how their behavior will affect the performance of the façade system. The comparison results were presented through a custom dashboard (Figure 3.6.1), which allows the occupants to observe the façade position from both exterior and interior view, as well as to visualize the façade performance (solar heat gain and indoor illuminance) through the colored columns and text. Figure 3.6.1 Interface of the dashboard (Kunyu Luo, 2017) 3.7 Python Script 8 custom nodes in Dynamo were created in order to accomplish the workflow. The code for each of the custom nodes is included in the appendices. • “Get Sun Angles”: Appendix A for Python code • “Glass Database”: Appendix B for Python code • “Solar Heat Gain Calculator”: Appendix C for Python code • “Find Shadow on the Window”: Appendix D for Python code • “Luminance Distribution Calculator”: Appendix E for Python code • “Solid Angle Calculator”: Appendix F for Python code • “Internal Reflect Component Calculator”: Appendix G for Python code • “Solid2PerimeterCurve”: Appendix H for Python code 3.8 Data Processing and Analysis 37 All of the data will be exported automatically to Excel for further processing and analysis. Dynamo provides a built- in function “Write to File” to export data list into Excel. For each specific hour, there will be multiple groups of data that represent the different position of the kinetic façade and the corresponding value of solar heat gain and indoor illuminance. The optimum operation scenario will be determined based on the dataset (Figure 3.8.1). Figure 3.8.1 Example of data in Microsoft Excel 3.9 Summary In order to simulate and evaluate the performance of the kinetic façade system in a more efficient way, 8 custom nodes were created in Dynamo through Python script. The primary and key custom nodes include 1) solar heat gain calculation, which is for calculating the value of solar heat gain based on ASHRAE standards, 2) indoor illuminance calculation, which is for calculating the value of illuminance of one or more specific point inside based on the algorithm of DOE-2 Daylighting calculation, 3) geometric analysis, which is for finding the shadow pattern of the façade element on the window and calculating relevant parameters. The method for determining the operation scenario of the kinetic façade is to combine Dynamo and Microsoft Excel. Geometry-relevant parameters such as unshaded fraction (Fu) and exposed coefficient (Ce) can be obtained from Dynamo dynamically, and then the solar heat gain and indoor illuminance can be calculated. The data was exported to Excel and for analysis and comparison to find the optimum position of the façade. The occupants are allowed to overrule the façade control based on their preference on the view out the window. The discrepancy of façade performance due to the occupants’ behavior was displayed and visualized through a dashboard, which contains the information of the façade position, time, the difference of solar heat gain value and the difference of illuminance value between the optimum scenario and occupant-intervened scenario. Time Façade_1 Façade_2 SHG (Btu) Illuminance (lux) Adjusted Illuminance 0.2 0.2 5168.4 823.356 576.3492 0.2 0.4 4709.6 976.25 683.375 0.2 0.6 4210.4 898.953 629.2671 0.2 0.8 3667.3 807.763 565.4341 0.2 1.0 3185.3 742.808 519.9656 0.4 0.2 4734.5 974.842 682.3894 0.4 0.4 4275.7 944.768 661.3376 0.4 0.6 3776.5 867.4655 607.22585 0.4 0.8 3233.4 776.281 543.3967 0.4 1.0 2751.5 711.3205 497.92435 0.6 0.2 4243.7 969.804 678.8628 0.6 0.4 3785.0 939.73 657.811 0.6 0.6 3285.7 862.433 603.7031 0.6 0.8 2742.6 771.2595 539.88165 0.6 1.0 2260.7 577.872 404.5104 0.8 0.2 3696.9 931.645 652.1515 0.8 0.4 3238.1 901.571 631.0997 0.8 0.6 2738.9 824.2685 576.98795 0.8 0.8 2195.8 733.084 513.1588 0.8 1.0 1713.9 668.1235 467.68645 1.0 0.2 3217.9 1009.782 706.8474 1.0 0.4 2759.1 895.5595 626.89165 1.0 0.6 2259.9 862.8892 604.02244 1.0 0.8 1716.8 727.0725 508.95075 1.0 1.0 1234.8 662.112 463.4784 12pm 38 CHAPTER 4 4 Case study A case study was conducted by using the proposed workflow. The building and façade model, input parameters, the output of each step of the workflow, and the results were introduced and provided in this chapter. 4.1 Overview In order to demonstrate and test the usefulness and effectiveness of the proposed workflow for kinetic façade simulation and evaluation, a building, one is a single room office with two exterior foldable panels on the south orientation was used as case study. This chapter provides the introduction of the case study model and then displays the simulation results, data processing results, and the dashboard interface for occupants. For readability, this chapter follows the same order as chapter 3 (Figure 4.1.1). Figure 4.1.1 Index of results presented in Chapter 4 (Kunyu Luo, 2017) 4.2 Case study This section presents the first building and façade model and the simulation results and control strategy determination results for the case study. 4 39 4.2.1 Introduction of building model of the case study The building model for the case study is a very simple space that only contains one single room for office use, and it was created in Revit (Figure 4.2.1(a) (b) (c)). The building is 14’-6’’ x 15’-6’’ and is 10’ high (Table 4.2.1). The only window of this space is south-facing, and the dimensions of the window are 6’ x 6’. The glass type of the window is uncoated double glazing, which is available in the glass material library in ASHRAE handbook (ASHRAE, 2013). Figure 4.2.1 (a) Perspective view of the case study model; (b) Floor plan of the case study model; (c) South elevation of the case study model (Kunyu Luo, 2017) Building Length (ft) 15.5 Width (ft) 14.5 Height (ft) 10 Window Length (ft) 6 Width (ft) 6 Orientation South Table 4.2.1 Summary of the dimension of case study model. In order to obtain a higher accuracy of the calculation of solar heat gain, four properties of the glass material were integrated into the calculation, including solar heat gain coefficient for direct radiation (SHGC_direct), solar heat gain coefficient for diffuse radiation (SHGC_diffuse), visible transmittance, and solar transmittance. SHGC_diffuse and visible transmittance are stored in the data base (custom node “Glass database”, see chapter 3) and only depend on the type of glass. SHGC_direct and solar transmittance are also the function of solar incidence angle in addition to the type of glass. According to the glass material library, 6 values of those two parameters are provided for 6 typical incidence angles: 0 °, 40 °, 50 °, 60 °, 70 °, and 80 °. In the simulation, when the incidence angle is between two adjacent numbers from those 6 given angles, the value of SHGC_direct and solar transmittance were obtained by interpolating. For simplification, a linear relationship between every two adjacent values was assumed. Based on the principle mentioned above, SHGC_direct, SHGC_diffuse, solar transmittance, and visible (a) (b) (c) 40 transmittance from 7 am to 6pm on August 21 st were calculated and summarized for the case study, where the glass type applied is uncoated double glazing (index “5a”) (Table 4.2.2). Glazing System Index in ASHRAE material library 5a Glass Name Uncoated Double Glazing Glass Thickness 1/8'' Panel Type Clear & Clear Center-of-Glazing Properties Incidence Angle Normal 0 40 50 60 70 80 Hemis Diffuse SHGC_direct 0.76 0.74 0.71 0.64 0.50 0.26 0.66 Solar Transmittance 0.70 0.68 0.65 0.58 0.44 0.21 0.60 Visible Transmittance 0.81 Table 4.2.2 Summary of the properties of the uncoated double glazing The location of the case study is Los Angeles, USA. The general information of LA was summarized (Table 4.2.3) ("Los Angeles Temperatures: Averages by Month", 2018). LA is a cooling-dominated place where the summer seasons range from March to September, and winter is relatively mild and sometimes even warm. In addition, the sunlight during both summer or winter at LA is abundant. Therefore, LA is a useful location in terms of improving energy performance and regulating daylighting inside the building. Site Information Latitude 33.93 North Longitude 118.4 West Time Zone -8 Average Elevation (m) 32 Climate Information Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Average Monthly Dry-Bulb Temperature Max (℉) 68 68 70 73 75 79 82 84 82 79 73 68 Average Monthly Dry-Bulb Temperature Min (℉) 48 50 52 54 57 61 64 64 63 59 52 48 Average Monthly Sun Hours(hrs) 7 8 9 10 9 9 12 11 9 8 7 7 Hot seasons Mild Seasons Table 4.2.3 Summary of the site and climate information of Los Angeles. ("Los Angeles Temperatures: Averages by Month", 2018) 41 Considering that the case study is only used to demonstrate the proposed workflow, where the building is not a project in the real world, and the unstable character of Dynamo, which cannot handle the whole year simulation at one time, only two dates were used for hourly simulation and analysis. Based on climate analysis, August 21 st and December 21 st were selected to represent the summer seasons and winter seasons respectively. By utilizing the Using Climate Consultant and a weather file from the internet, the two particular dates were selected based on the annual weather condition of LA, where the worst condition during summer appears around the end of August and early September, while the coldest day basically appears around the middle of December. Therefore, the dates used for simulation are August 21 th and December 21 th . The kinetic façade will play a more significant role especially in terms of the reduction of solar heat gain through the window. Hourly analysis was done from 7:00 AM to 6:00 PM for each of those two days. 4.2.2 Introduction of façade component of the case study Two foldable panels that can be controlled independently were applied to the window for solar protection and daylight adjustment. The façade geometry is created as an adaptive family within Revit (Figure 4.2.1). Both fixed parameters (e.g. panel thickness, panel material) and changeable parameters (e.g. Bottom Position, Mid Position, Mid-Point Height) are included in the façade family (Figure 4.2.2). The adaptive panel can be fully opened and closed and move to different scenarios (Figure 4.2.3 (a) (b)) continuously by changing the “Bottom Position” parameter in Revit, which varies from 0 to 1. When the value of “Bottom Position” is close to 0, the folding panel will open to allow more sunlight coming through the window, and when its value is close to 1, the panel will close to cover more window area and block more sunlight. The material of the kinetic façade is aluminum, and its relevant properties are listed in the table 4.2.1 (Table 4.2.1). The two façade components move together and keep aligned with each other, instead of moving and being controlled independently. The position of the façade components can be adjusted according to the occupants’ view out the window and sun position. Limited by the availability of certain programs (e.g. Project Fractal) for data analysis, the tool used in the proposed method for data processing is Microsoft Excel. When the number of independent façade components becomes larger, the number of the possible combinations will also become larger, which increases the difficulty of organizing and displaying the data efficiently and clearly. Therefore, for effectiveness of the simulation and the readability of the results, the number of façade components that can move independently is not greater than two, and the panels in this case study move with 6 steps, which means the parameter “Bottom Position” in Revit to control the panels has 6 values from 0 to 1.0 with an increment of 0.2 (0, 0.2, 0.4, 0.6, 0.8, 1.0). Figure 4.2.1 Kinetic façade family in Revit Figure 4.2.2 Parameters of the foldable panel (Kunyu Luo, 2017) (Kunyu Luo, 2017) 42 Figure 4.2.3 (a) Foldable panel with “Bottom Position” as 0.8; (b) Foldable panel with “Bottom Position” as 0.4; Material Name Aluminum Front directional-hemispherical transmittance 0.05 Front directional-hemispherical reflectance 0.78 Back directional-hemispherical reflectance 0.78 Table 4.2.1 Summary of the façade material properties of the case study 4.3 Results of geometric analytics in Dynamo of the case study In order to simulate as well as to visualize the effect of the kinetic façade dynamically in a relatively efficient way, which requires several parameters that are based on the change of the position of the kinetic facades, unshaded fraction (Fu), which indicates the proportion of window area shaded by the shading device, and exposure coefficient (Ce), which represents the percentage of window area exposed to the sun when seen from the front, a custom node “Shadow on the window” was used for calculating those two geometric-related parameters dynamically in Dynamo. With the ability of parametric analysis, designers can evaluate and visualize how kinetic façades would perform automatically under any specific solar position when they change the façade position in a digital design environment, instead of calculating them manually as mentioned by previous research (chapter 1 and 2). In the case study, when the façade position moves from closed stage to opened stage (parameter “Bottom Position” changes from 0 to 1.0 with increment of 0.2), a list of value that represents Fu and Ce was generated (Figure 4.3.1). 43 Figure 4.3.1 (a) Dynamo Script for finding the shadow on the window; (b) The output of “Shadow on the Window” node in Dynamo (Kunyu Luo, 2017) The model of the window with the shadow moving dynamically was displayed in Dynamo canvas (Figure 4.1.3.2). The results generated from this step include the numeric number of Fu and Ce, as well as the window model with shadow formed on it (Figure 4.3.3). Figure 4.3.2 Window model with shadow in Dynamo (Kunyu Luo, 2017) (a) (b) 44 Time: 13 pm, August 21st Position of panel 1 0 0.2 0.4 Position of panel 2 0 0.2 0.4 Unshaded Fraction (Fu) 0.373 0.296 0.236 Exposed Coefficient (Ce) 0.976 0.830 0.614 Model in Dynamo scene Position of panel 1 0.6 0.8 1 Position of panel 2 0.6 0.8 1 Unshaded Fraction (Fu) 0.219 0.228 0.000 Exposed Coefficient (Ce) 0.399 0.182 0.000 Model in Dynamo scene Figure 4.3.3 Summary of the results of shadow calculation for fining shadow of the case study (Kunyu Luo, 2017) According to the DOE daylighting calculation algorithm, the total illuminance on the reference point consists of two parts: the direct component that is from the sun or sky directly, and the internal reflected component that is mainly from the reflectance of the light from interior surfaces (walls, ceiling, and floor). The direct component of indoor illuminance is the function of three parameters: luminance of window element, solid angle subtended by window element with respect to reference point, and the angle between vertical and ray from reference point to the center of window element. The reference point in this case study is 3’ away from window and 3’ above the floor (Figure 4.3.4). 45 Figure 4.3.4 Position of reference point for daylighting calculation of case study (Kunyu Luo, 2017) Among those three parameters, the luminance of the window could be calculated based on sun position and sky condition. The solid angle requires geometric analytics because it contains a large amount of repetitive calculation including the angle and the distance between the reference point and each of the window elements. Therefore, to calculate the solid angle, the window surface is divided into a x-y grid of elements, and the illuminance value on the reference point depends on the summation of the solid angle subtended by each window element, including those elements shaded by either the façade component or surrounding obstruction buildings and those elements exposed to the sun or sky directly. The difference of the background luminance of the shaded elements (use luminance value of shading device in calculation) and unshaded elements (use luminance value of sun or sky in calculation) leads to the different result of illuminance value on the reference point. Therefore, it is necessary to separate them into two groups based on the position of the kinetic façade component and the exterior obstruction building and then calculate the total solid angle value for the two groups of window element separately. The results of the separation can be visualized graphically in the Dynamo scene, where it shows the center point of each elements that are shaded by the kinetic facades component when seen from the reference point. In addition, numeric results of the solid angle of shaded elements and the solid angle of unshaded elements can also be output. In the case study, the window surface was divided into 100 elements (10 x 10 grid matrix, U = 10, V = 10), a few examples with different façade position were created (Figure 4.3.5). 46 Time: 13 pm, August 21st Position of panel 1 0 0.2 0.4 Position of panel 2 0 0.2 0.4 Solid Angle of Shaded Elements 0.480 0.457 0.380 Solid Angle of Unshaded Elements 0.510 0.498 0.498 Model in Dynamo scene Position of panel 1 0.6 0.8 1 Position of panel 2 0.6 0.8 1 Solid Angle of Shaded Elements 0.490 0.466 0.378 Solid Angle of Unshaded Elements 0.484 0.469 0.477 Model in Dynamo scene Figure 4.3.5 Summary of the results of solid angle calculation for daylighting calculation of the case study (Kunyu Luo, 2017) 4.4 Results of the solar heat gain and daylighting simulation of case study As mentioned previously, two dates, December 21 st and August 21 st , which represent the hot season and cool (or mild) season throughout the year, were selected for kinetic façade simulation based on the climate pattern of Los Angeles. Considering that Dynamo is not as stable as Grasshopper, which is able to handle a large number of calculations, only one reference point on the work plane was included in the research for calculating an illuminance value instead of doing grid-based daylighting simulation for the entire work plane or floor. The reference point is 3’ away the window and 3’ above the floor (Figure 4.4.1). The simulation results of hourly solar heat gain and indoor illuminance for those two dates are summarized and displayed in Microsoft Excel (Table 4.4.1 – 4.4.4) (Figure 4.4.1 – 4.4.4). The number of hours for each date varies because of the different sun hours for different seasons. 47 Aug 21st - Solar Heat Gain (Wh) Time 0 0.2 0.4 0.6 0.8 1 7 153.5 133.5 104.1 74.6 45.0 20.4 8 372.5 324.0 252.5 181.0 109.2 49.5 9 525.6 462.1 372.4 282.5 188.7 88.0 10 616.8 537.7 425.7 316.2 207.8 94.1 11 1030.6 890.7 715.1 563.3 426.3 235.5 12 765.9 682.6 560.1 437.6 315.3 217.4 13 896.8 769.5 629.3 524.7 442.4 256.6 14 899.8 800.5 701.3 631.1 573.4 254.1 15 639.7 573.9 486.8 399.5 300.2 146.8 16 383.0 339.3 275.0 209.9 144.3 82.1 17 334.9 292.4 229.9 167.3 104.6 52.4 18 172.1 153.3 125.7 96.5 67.1 34.4 Table 4.4.1 Simulation results of hourly solar heat gain for August 21 st August 21st - Indoor Illuminance (lux) Time 0 0.2 0.4 0.6 0.8 1 7 766.7 685.1 575.8 526.1 247.0 22.2 8 1794.9 1571.2 1394.9 1263.1 572.2 175.6 9 2127.2 1879.8 1708.1 1603.1 853.6 145.1 10 2900.9 2535.4 2174.4 2148.9 956.0 128.8 11 3920.9 3499.2 3033.2 2731.9 1319.2 192.7 12 4046.0 3531.6 2998.0 2678.0 1113.1 213.4 13 3284.9 2859.4 2382.5 2223.5 1052.6 168.4 14 2560.3 2261.9 1996.9 1798.9 972.9 167.1 15 3178.4 2837.5 2486.9 2333.4 1261.5 198.0 16 2160.5 1983.4 1801.2 1706.2 878.8 154.6 17 1664.9 1534.6 1394.3 1320.8 616.4 95.15 18 703.3 646.9 572.8 543.5 281.4 64.6 Table 4.4.2 Simulation results of hourly indoor illuminance for August 21 st Façade Position Façade Position 48 Dec 21st - Solar Heat Gain (Wh) Time 0 0.2 0.4 0.6 0.8 1 7 0.0 1.6 1.3 0.9 0.5 0.2 8 253.2 238.7 199.7 156.9 106.6 42.8 9 783.6 726.2 643.6 493.2 321.9 124.9 10 1060.4 965.9 861.2 671.4 416.8 162.0 11 1157.2 1041.0 905.3 731.3 429.6 181.3 12 1169.8 1049.8 902.4 734.0 424.5 189.1 13 1196.7 1079.6 944.4 756.8 451.8 183.6 14 1094.5 999.4 893.7 685.4 431.3 167.5 15 868.2 806.9 700.0 539.5 355.7 139.5 16 566.3 531.2 449.3 357.9 247.8 99.9 17 0.0 0.0 76.9 62.0 43.0 18.5 18 0.0 0.0 0.0 0.0 0.0 0.0 Table 4.4.3 Simulation results of hourly solar heat gain for December 21 st Dec 21st - Indoor Illuminance (lux) Time 0 0.2 0.4 0.6 0.8 1 7:00 8.881 7.47 6.7811 6.225 2.8054 0.415 8:00 622.1348 588.553 535.184 470.693 284.524 41.7573 9:00 1757.276 1577.581 1406.435 1305.673 650.471 87.15 10:00 18730.69 18529.92 18269.88 18084.12 17117.51 132.717 11:00 24805.71 24557.54 24273.52 23985.84 1195.034 154.297 12:00 26812.4 26455.67 26091.38 25813.75 1151.542 116.532 13:00 24975.86 24666.11 24404.41 24126.36 1205.534 126.492 14:00 18418.36 18116.41 17904.43 17664.56 1144.321 116.449 15:00 10085.41 9992.038 9818.402 9640.367 1033.682 169.071 16:00 1177.355 1054.681 976.744 923.873 462.891 69.886 17:00 0 0 0 0 0 0 18:00 0 0 0 0 0 0 Table 4.4.4 Simulation results of hourly indoor illuminance for December 21 st Façade Position Façade Position 49 Figure 4.4.1 Hourly solar heat gain on August 21 st according to the 6 façade operation steps Figure 4.4.2 Hourly indoor illuminance on August 21 st according to the 6 façade operation steps 0 200 400 600 800 1000 1200 Solar heat gain (Wh) Time Hourly Solar Heat Gain_Aug 21st 0 0.2 0.4 0.6 0.8 1 0 500 1000 1500 2000 2500 3000 3500 4000 4500 7 8 9 10 11 12 13 14 15 16 17 18 Illuminance (Lux) Time Hourly Illuminance_Aug 21st 0 0.2 0.4 0.6 0.8 1 Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. 50 Figure 4.4.3 Hourly solar heat gain on December 21 st according to the 6 façade operation steps Figure 4.4.4 Hourly indoor illuminance on December 21 st according to the 6 façade operation steps For August 21 st , the maximum solar heat gain throughout the simulation period (7 am to 6 pm) appears around 11 am and drops a little at 12 pm, and then reaches another peak (lower than the maximum value) around 2:00 pm. As the façade position moves from 0 to 1, which means the kinetic façade closes gradually, the overall level of solar heat gain is decreasing. The maximum indoor illuminance value appears around 11 am and 12 pm, and then drop during 1:00 pm and 2:00 pm, and reach another peak (lower than the maximum value) around 3:00 pm. During the early morning (7 and 8 am) and the late afternoon (5 and 6 pm), sunlight is still available but stay at a relatively lower level. 0 200 400 600 800 1000 1200 Solar heat gain (Wh) Time Hourly Solar Heat Gain_Dec 21st 0 0.2 0.4 0.6 0.8 1 0 5000 10000 15000 20000 25000 Illuminance (Lux) Time Hourly Illuminance_Dec 21st 0 0.2 0.4 0.6 0.8 1 Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. 51 For December 21 st , the maximum solar heat gain appears around 1 pm and unlike the result of August 21 st , the pattern of the solar heat gain throughout the day is a relatively perfect parabola without fluctuation. As the façade position moving from 0 to 1, the overall level of solar heat gain is also decreasing. The maximum indoor illuminance value appears around 12 pm, and most of the curves are relatively perfect parabola without fluctuation. When the façade position is at 0.8, after 10 am, the indoor illuminance drop grammatically to a lower level and this situation is continued until the sunset (Explanation for this situation can be found in chapter 5). During the early morning (7 and 8 am) and the late afternoon (5 and 6 pm), sunlight is not available any more. The detailed analysis and discussion of the simulation results can be found in chapter 5. 4.5 Results of control strategy decision of the case study The criteria for finding the control strategy of the kinetic facades depends on the climate pattern of different periods in a year as well as the weather conditions within a single day. The primary objective is to reduce the excessive solar radiation coming into the interior space, which will degrade the indoor thermal comfort and therefore lead to the unnecessary operation of the mechanical system in the building, meanwhile to create a visually comfortable environment for the occupants by maintaining the enough indoor illuminance level and avoiding the glare issue caused by direct sunlight in the view sight. Solar radiation could have either positive or negative effects on indoor thermal environment depending on the season, the real-time outdoor ambient temperature, and indoor set point temperature. Technically, in summer, for a south-oriented building, whether the indoor space needs the solar radiation or not should be determined by the outdoor ambient temperature and the indoor thermal comfort temperature range provided by ASHRAE standard (Summer seasons: 75.1 – 80.1 ℉, winter seasons: 68.5 – 75.7 ℉). There could be a few possible situations: 1) during the summer seasons, the outdoor ambient temperature is lower than the low boundary temperature (75.1℉) of the indoor comfort range, 2) during the summer seasons, the ambient temperature is within the recommended comfort or higher than the high boundary temperature (80.1℉) of the comfort range, 3) during the winter seasons, the ambient temperature is higher than the high boundary temperature (75.7℉) of the comfort range, 4) during the winter seasons, the ambient temperature is within the comfort range or lower than the low boundary temperature (68.5℉) of the comfort range. Those four situations should be considered separately to determine if the solar heat gain is needed in specific time. • In summer, if the outdoor ambient temperature is lower than the low boundary temperature of the comfort range, the interior space needs to be heated up. This could probably happen during the early in the morning or late in the afternoon before sunset (for those city in the warm or extreme hot climate, this might not happen.), when the occupants inside may feel cold and dissatisfied with the thermal environment. Therefore, getting solar heat gain during those periods is beneficial. Solar heat gain is needed. • In summer, if the ambient temperature is within the comfort range or even higher than the high boundary temperature of the comfort range, the interior space might be able to maintain the indoor temperature without running air-conditioning or get heat gain from envelope (conduction from walls, windows, etc., and radiation from windows). Generally, this could occur during the most periods of daytime. Therefore, avoiding the excessive solar heat gain during those periods helps to maintain indoor thermal comfort meanwhile reduce the use of air-conditioning. Solar heat gain is not needed. • In winter, if the ambient temperature is higher than the high boundary of the comfort range, air- conditioning is basically is not needed and sometimes when the internal heat gain is quite large (e.g. office area with lots of electrical equipment and appliance, or shopping mall where has large amount of people.), cooling loads might exist and solar heat gain will make the indoor thermal condition worse. This situation may occur for certain days in winter at noon, but not as frequent as other situations. Therefore, solar heat gain during those periods is not needed. • In winter, if the ambient temperature is within the comfort range or lower than the low boundary temperature of the comfort range, heating for interior space is needed. Therefore, maximizing the use of solar heat gain can reduce the work load of the heating system and is beneficial for the indoor thermal condition. Solar heat gain is needed. 52 The hourly ambient temperature and comfort range of August 21 st and December 21 st was summarized (Table 4.5.1 – 4.5.2, Figure 4.5.1 – 4.5.2). Aug 21st Time Dry Bulb Temperature (℉) Set point (℉) Comfort Range (℉) (low boundary – high boundary) 7:00 71.1 75.0 75.7 - 80.1 8:00 80.1 75.0 75.7 - 80.1 9:00 86.0 75.0 75.7 - 80.1 10:00 91.0 75.0 75.7 - 80.1 11:00 95.0 75.0 75.7 - 80.1 12:00 90.0 75.0 75.7 - 80.1 13:00 89.1 75.0 75.7 - 80.1 14:00 87.1 75.0 75.7 - 80.1 15:00 86.0 75.0 75.7 - 80.1 16:00 82.9 75.0 75.7 - 80.1 17:00 80.1 75.0 75.7 - 80.1 18:00 73.9 75.0 75.7 - 80.1 Table 4.5.1 Hourly Temperature Summary of August 21 st . Figure 4.5.1 Hourly Temperature Summary of August 21 st . 53 Dec 21st Time Dry Bulb Temperature (℉) Set point (℉) Comfort Range (℉) (low boundary – high boundary) 7:00 53.1 68.0 68.5 - 75.7 8:00 57.9 68.0 68.5 - 75.7 9:00 64.9 68.0 68.5 - 75.7 10:00 71.1 68.0 68.5 - 75.7 11:00 73.0 68.0 68.5 - 75.7 12:00 71.1 68.0 68.5 - 75.7 13:00 70.0 68.0 68.5 - 75.7 14:00 70.0 68.0 68.5 - 75.7 15:00 68.0 68.0 68.5 - 75.7 16:00 68.0 68.0 68.5 - 75.7 17:00 62.1 68.0 68.5 - 75.7 18:00 61.0 68.0 68.5 - 75.7 Table 4.5.2 Hourly Temperature Summary of December 21 st . Figure 4.5.2 Hourly Temperature Summary of December 21 st . The indoor illuminance value varies based on the different uses of space and different types of activities. For normal office work, 500 lux is recommended. As the complexity and precision of the work is increased, the recommended illuminance level goes higher. For those mechanical shops or supermarkets, 750 lux is recommended. For normal drawing work or detailed mechanical work, 1000 lux is recommended. For detailed drawing work and very detailed mechanical work, the recommended lux is as high as 1500 lux or more. The light level for several types of activities is summarized (Table 4.1.5.1). Therefore, in this case study, at least 500 lux and 1500 lux for most could be an appropriate range to control the facades. The criteria of indoor illuminance for determining the position of the shades is 500 to 1500 lux. 54 Activity Illuminance (lux) Easy Office Work, Classes 250 Normal Office Work, PC Work, Study Library, Groceries, Show Rooms, Laboratories 500 Supermarkets, Mechanical Workshops, Office Landscapes 750 Normal Drawing Work, Detailed Mechanical Workshops, Operation Theaters 1000 Detailed Drawing Work, Very Detailed Mechanical Works 1500 - 2000 Table 4.5.3 Recommended illuminance level for different activities. If the sun is visible in the occupants’ view, the occupants will probably have a glare issue (Figure 4.1.5.3 (a), (b)). Therefore, a simple rule to avoid the glare issue is blocking the direct sunlight, which can be realized by moving the kinetic façade to a proper position. In the case study, the glare issue was considered as the priority or pre-decision, which means even though the illuminance level is acceptable under certain facades’ position, if the sun is visible, the scenario of the façade should be modified anyway. The eye point is 4’6’’ above the floor and 4’ away from the window (Figure 4.5.4). A perspective view was generated in Revit by setting a camera at the proposed eye point. Figure 4.5.3 (a) sun is visible in the sky; (b) sun is invisible in the sky (Kunyu Luo, 2017) (a) (b) 55 Figure 4.5.4 Position of eye point for glare detection of case study (Kunyu Luo, 2017) By leveraging those three parameters, the criteria to find the proper operation scenario of the kinetic facades can be concluded: 1) for summer seasons, make sure that there is no glare issue from direct sunlight, then narrow down to those positions that can obtain the illuminance value between 500 lux and 1500 lux, and finally, among those selected positions, the one that receives the minimum solar heat gain (for most time in the day) is the most proper position for that specific hour, 2) for winter seasons, make sure that there is no glare issue from direct sunlight, then narrow down to those positions that can obtain an illuminance value between 500 lux and 1500 lux, and finally, among those selected positions, the one that receives the maximum solar heat gain (for most times in the day) is the most proper position for that specific hour. The criteria for the two selected dates are summarized (Table 4.5.2). Date Control Strategy Criteria Aug 21 st (Hot seasons) • Sun is not visible in the view sight. • Maintain the indoor illuminance on work-plane within the range of 500 lux and 1500 lux. • Minimize solar heat gain through the window (for most time in the day). Dec 21 st (Mild seasons) • Sun is not visible in the view sight • Maintain the indoor illuminance on work-plane within the range of 500 lux and 1500 lux. • Maximize solar heat gain through the window (for most time in the day). Table 4.5.4 Control strategy criteria for Aug 21 st , Dec 21 st . The results of control strategy for both dates are summarized (Table 4.5.5, Table 4.5.6). 56 Time SHG Needed? 0 0.2 0.4 0.6 0.8 1 Best Position 7:00 Direct Glare N N N N N N 0 Illuminance 766.7 685.1 575.8 526.1 247.0 22.2 SHG Y 200.0 162.4 143.3 105.1 67.0 29.3 8:00 Direct Glare N N N N N N 0.4 Illuminance 1794.9 1571.2 1394.9 1263.1 572.2 175.6 SHG Y 475.5 385.2 339.9 249.4 158.9 68.6 9:00 Direct Glare N N N N N N 0.8 Illuminance 2127.2 1879.8 1708.1 1603.1 853.6 145.1 SHG N 856.6 715.8 631.7 463.5 295.3 154.6 10:00 Direct Glare N N N N N N 0.8 Illuminance 2900.9 2535.4 2174.4 2148.9 956 128.8 SHG N 829.4 681.3 601.3 441.2 281.1 133.1 11:00 Direct Glare N N N N N N 0.8 Illuminance 3920.9 3499.2 3033.2 2731.9 1319.2 192.7 SHG N 1567.0 1321.7 1166.4 855.0 545.3 300.0 12:00 Direct Glare N N N N N N 0.8 Illuminance 4046 3531.6 2998 2678 1113.1 213.4 SHG N 1498.3 1269.6 1120.5 822.1 523.8 295.1 13:00 Direct Glare N N N N N N 0.8 Illuminance 3284.9 2859.4 2382.5 2223.5 1052.6 168.4 SHG N 1480.4 1274.2 1124.5 825.1 525.7 319.5 14:00 Direct Glare N N N N N N 0.8 Illuminance 2560.3 2261.9 1996.9 1798.9 972.9 167.1 SHG N 1679.0 1470.4 1297.6 952.1 606.6 398.0 15:00 Direct Glare N N N N N N 0.8 Illuminance 3178.4 2837.5 2486.9 2333.4 1261.5 198 SHG N 1510.1 1302.1 1149.1 843.1 537.2 329.1 16:00 Direct Glare N N N N N N 0.8 Illuminance 2160.5 1983.4 1801.2 1706.2 878.8 154.6 SHG N 1342.0 1164.6 1027.7 754.1 480.4 303.0 17:00 Direct Glare N N N N N N 0.4 Illuminance 1664.9 1534.6 1394.3 1320.8 616.4 95.15 SHG Y 889.5 760.7 671.4 492.6 313.8 185.0 18:00 Direct Glare N N N N N N 0 Illuminance 703.3 646.9 572.8 543.5 281.4 64.6 SHG Y 494.9 427.3 377.1 276.7 176.3 108.6 57 Table 4.5.5 Results of Control Strategy for Aug 21 st . Time SHG Needed? 0 0.2 0.4 0.6 0.8 1 Best Position 7:00 Direct Glare N N N N N N Illuminance 10.7 9.0 8.2 7.5 3.4 0.5 SHG Y 0.0 0.0 0.0 0.0 0.0 0.0 8:00 Direct Glare N N N N N N 0 Illuminance 749.56 709.1 644.8 567.1 342.8 50.31 SHG Y 337.0 301.6 266.1 195.3 124.4 81.5 9:00 Direct Glare N N N N N N 0.8 Illuminance 2117.2 1900.7 1694.5 1573.1 783.7 105 SHG Y 953.6 853.4 753.1 552.6 352.0 236.4 10:00 Direct Glare Y Y Y Y Y N 1 Illuminance 22567.1 22325.2 22011.9 21788.1 20623.5 159.9 SHG Y 1258.6 1126.3 994.0 729.3 464.6 311.5 11:00 Direct Glare Y Y Y Y Y N 1 Illuminance 29886.4 29587.4 29245.2 28898.6 1439.8 185.9 SHG Y 1410.5 1262.2 1113.9 817.3 520.7 348.2 12:00 Direct Glare Y N N N N N 0.8 Illuminance 32304.1 31874.3 31435.4 31100.9 1387.4 140.4 SHG Y 1453.9 1301.1 1148.2 842.5 536.7 358.0 13:00 Direct Glare Y Y Y Y N N 0.8 Illuminance 30091.4 29718.2 29402.9 29067.9 1452.5 152.4 SHG Y 1443.9 1292.1 1140.3 836.7 533.0 355.6 14:00 Direct Glare Y Y Y Y N N 0.8 Illuminance 22190.8 21827.0 21571.6 21282.6 1378.7 140.3 SHG Y 1296.0 1159.8 1023.5 751.0 478.5 316.6 15:00 Direct Glare N N N N N N 0.8 Illuminance 12151.1 12038.6 11829.4 11614.9 1245.4 203.7 SHG Y 1072.8 960.0 847.2 621.6 396.0 261.3 16:00 Direct Glare N N N N N N 0 Direct Glare : Has Glare No Glare Legend Illuminance : Within recommended lux range SHG : Selected minimum solar heat gain 58 Illuminance 1418.5 1270.7 1176.8 1113.1 557.7 84.2 SHG Y 797.9 714.0 630.2 462.4 294.6 197.1 17:00 Direct Glare N N N N N N Illuminance 0.0 0.0 0.0 0.0 0.0 0.0 SHG Y 164.4 147.4 129.8 95.3 60.7 38.2 18:00 Direct Glare N N N N N N Illuminance 0 0.0 0.0 0 0.0 0 SHG Y 0.0 0.0 0.0 0.0 0.0 0.0 Table 4.5.6 Results of Control Strategy for Dec 21 st . 4.6 Occupants’ dashboard of the case study The dashboard serves as an interface for visualization of the real-time control. In the dashboard, both the exterior view and interior view of the kinetic facades were displayed, which can change dynamically as the user adjusts the façade position. A slider that is used to control the facades’ position as well as the date and time also appeared in the dashboard. In addition, two key parameters, solar heat gain and indoor illuminance, are shown both textually and graphically. Two couples of colored 3D columns, one for solar heat gain and another for indoor illuminance, were used to compare and visualize how much discrepancy will have between the theoretical “optimum” façade position and the customized façade position that is overruled by the occupants (Figure 4.6.1). Figure 4.6.1 Dashboard example of case study (Kunyu Luo, 2017) Direct Glare : Has Glare No Glare Legend Illuminance : Within recommended lux range SHG : Selected minimum solar heat gain 59 4.7 Summary The case study demonstrated that the proposed method is applicable to decide if there is a direct glare issue and to calculate solar heat gain through the window and indoor illuminance on the work plane dynamically, evaluating the performance of a kinetic façade. This can then be used for determining the control strategy by considering glare, daylighting, and heat gain in sequence. The effect of the occupants’ behavior (occupants overrule the control of kinetic facades based on their preference on the view out the window) can also be visualized. In the case study, a simple house with a south-facing window was used, and the kinetic façade consisted of two foldable panels that are controlled and moved consistently. The parameter in Revit that controls the position of the kinetic façade is “Bottom_Position”, which has 6 values varying from 0 to 1 with the increment of 0.2 (0, 0.2, 0.4, 0.6, 0.8, 1.0). Two dates, August 21 st and December 21 st , were selected to represent the summer seasons and winter seasons based on the climate analysis for Los Angeles. For each of those days, hourly conditions (from 7 am to 6 pm) of the direct glare, the solar heat gain, and indoor illuminance were conducted, and for each hour, all six possible façade positions were simulated. Based on the results, the most proper façade position for each hour was determined, and then the control strategy of the kinetic façade was determined. The criterion for finding the façade position includes three steps: 1) the kinetic façade should block the direct sunlight in the occupants’ view to avoid direct glare, 2) the indoor illuminance on the work plane should be within 500 lux and 1500 lux, and 3) the position of the shading device should minimize (or maximize) the solar heat gain during the period that the solar heat gain is not needed (or is needed). Occupants can overrule the control of the kinetic façade based on their preference (for example, for the view out the window), and a dashboard showed the effect of occupants’ behavior by presenting the possible discrepancy of the solar heat gain and indoor illuminance between the theoretical façade position and the overruled façade position. 60 CHAPTER 5 5 Evaluation and analysis of case study results The proposed methodology provides a comprehensive workflow for designing the kinetic façade system, analyzing its control strategy based on the performance on direct glare, energy efficiency and daylighting, and then evaluating and visualizing the effect of the occupants for real-time control. A case study was used to demonstrate that the proposed method is effective and compatible with either simple or complex kinetic façade geometry. The results of the case study vary based on the location, climate, building configuration, and façade geometry. However, the pattern and the tendency of the results are similar. Therefore, only one case study is analyzed and discussed to show an example of how to utilize the proposed BIM-based method during the design phase. The determination of the control strategy of the kinetic facade and the dashboard are totally based on the case studies with specific building, façade component, location, and climate condition, and other data. It cannot be applied to other cases or projects directly. However, the proposed method is applicable for any shape of façade geometry and window configuration. It could be used during the early design stage of the kinetic facades to assess the potential benefits in terms of solar protection and daylighting. If more advanced daylighting simulation or energy simulation for the entire building are needed, other software programs should be applied. The validation of several key parts of the proposed workflow and the evaluation of the entire workflow are done in this chapter. 5.1 Validation of the workflow The complete workflow consists of several parts and is realized by several key custom nodes in Dynamo. To demonstrate the reliability and correctness of the calculation, each component in the workflow is validated in this section. 5.1.1 Sun Angle Calculation Validation The custom node “Get Sun Angle” is to calculate the sun altitude and sun azimuth at any specific time and at any location by inputting latitude, longitude, time zone, day of the year (DOY), and time. A calculation example provided in ASHRAE handbook (ASHRAE, 2013) is used to demonstrate the calculation results. In the ASHRAE calculation example, the location is Atlanta, and the time is July 21 st at 2 pm (3 pm for eastern daylighting saving time and 2 pm for standard time). According to the example, the result of the sun altitude is 68.62 ° and the sun azimuth is 56.69° (In ASHRAE handbook, sun azimuth is defined as the angle between normal south direction and the projection on the horizontal plane of the sun line. Therefore, for a place at north hemisphere, during the noon time, the sun azimuth should be around 0 °) (Figure 5.1.1.1). 61 Figure 5.1.1.1 Calculation Example of Solar Angle from ASHRAE handbook (ASHRAE, 2013) In Dynamo, the general information of the location, including time zone, latitude, longitude, and DOY, is extracted from the epw weather file, and the user can specify the time as an input. According to the Dynamo calculation, the result of the sun altitude is 68.65 ° and the sun azimuth is 236.84° (in Dynamo, the sun azimuth is defined as the angle between the normal north direction and the projection on the horizontal plane of the sun line. Therefore, for a place at north hemisphere, during the noon time, the sun azimuth should be around 180 °) (Figure 5.1.1.2). Basically, the Dynamo result of sun azimuth (236.84°) equals to 180 °plus the ASHRAE result (56.69 °) in the afternoon, which means the calculation from Dynamo is correct. 62 Figure 5.1.1.2 Calculation Results of Solar Angle in Dynamo (Kunyu Luo, 2017) 5.1.2 Glass Material Database Validation The custom node “Glass Material Database” is to store many types of glass materials and their property information, including glass name, thickness, SHGC for direct sunlight, hemisphere diffuse SHGC, solar transmittance, and visual transmittance. The user can input the glass index (refer to ASHRAE handbook) and incidence angle to get all information mention above. Among those parameters, the diffuse SHGC and the visual transmittance are constant and the SHGC for direct sunlight and the solar transmittance vary according to the sunlight incidence angle (from 0 ° to 90 °). In the ASHRAE handbook, 6 values are given for each of those two changeable parameters, which represent the incidence angle of 0 °, 40 °, 50 °, 60 °, 70 °, and 80 ° respectively. This node calculates the direct SHGC and solar transmittance at any input incidence angle through interpolation, which is faster and more accurate than hand calculation. An assumption that the SHGC or solar transmittance value between any two given values is linear was made. To demonstrate the node can output the right glass type and its information, a glass example from ASHRAE handbook was used. The input glass index of this node is “5a” and the incidence angle is 60 for the first test and 65 for the second test. The two Dynamo output lists are shown (Figure 5.1.2.1 (a), (b)). 63 Figure 5.1.2.1 (a) Dynamo Output of the Glass Information of test 1 (incidence angle 60 °); (b) Dynamo Output of the Glass Information of test 2 (incidence angle 65 °) (Kunyu Luo, 2017) According the ASHRAE example, the glass index is “5a”. Glass name is “Uncoated Double Glazing”. Thickness is 1/8’’. Visual transmittance is 0.81. Diffuse SHGC is 0.66. When the incidence angle is 60 °, the direct SHGC is 0.64 and solar transmittance is 0.58 (Figure 5.1.2.2). When the incidence angle is 65 °, the direct SHGC is calculated as following: 0.50 + (65−60)×(0.64−0.50) (70−60) = 0.57, and the solar transmittance is calculated as: 0.44 + (65−60)×(0.58−0.44) (70−60) = 0.51. Those values all match with the Dynamo output. Figure 5.1.2.2 Glass Example from ASHRAE handbook (ASHRAE, 2013) (a) (b) 64 5.1.3 Shadow Calculation Validation The custom node “Shadow on the Window” is to find the part that is shaded by the kinetic facade on the window and calculate relevant parameters: Unshaded Fraction (Fu), Exposed Coefficient (Ce), and cosine of sun incidence angle, which are used in the solar heat gain calculation. Generally, the Fu is defined as the percentage of area that is not shaded by shading device and it varies from 0 to 1, and Ce is defined as the percentage of the unshaded area when seen from the front and it also varies from 0 to 1. To demonstrate that this node can work correctly and output the reasonable results, a simple model, a south-facing window with a shading panel that is parallel with window surface and move only in vertical direction, was used and two scenarios were tested (Figure 5.1.3.1 (a), (b), (c)). The shading device is shown as the perimeter curve. The reason of using a simple model instead of the model of case study is that the shadow on the window formed by parallel-shading panel is straightforward enough to indicate if the relevant parameters are reasonable or correct. Figure 5.1.1.1 (a) Dynamo script for validation; (b) Dynamo model for test 1; (c) Dynamo model for test 2 (Kunyu Luo, 2017) When the shading panel covers half of the area of the window surface, according to the definition, the Fu should be approximately 0.5 and Ce should be exactly 0.5 (it’s because the sunlight direction is not always perpendicular to the window surface and therefore the shaded area on the window might displace and transform from the shadow surface when seen from the front). And when the shading panel covers 70% of the window surface, the Fu should be approximately 0.3 and Ce should be exactly 0.3. For test 1, the sun altitude is 60 °, the sun azimuth is 120 °, and half the window’s surface is shaded by the shading device. Therefore, the Fu is around 0.5 and the Ce is 0.5, and cosine of incidence angle is 0.5 (cosine 60 °). For test 2, sun altitude is 60 ° and sun azimuth is 150 °, and 70% of window surface is shaded. Therefore, the Fu is around 0.3 and the Ce is 0.3, and cosine of incidence angle is approximately 0.866 (cosine 30 ° = √3 2 ). the output of the custom node is shown (Figure 5.1.3.2 (a), (b)). The expected results are output. 65 Figure 5.1.3.2 (a) Dynamo output of test 1; (b) Dynamo output for test 2 (Kunyu Luo, 2017) 5.1.4 Solar Heat Gain Calculation Validation The custom node “Solar Heat Gain Calculator” is to calculate the solar heat gain through the window dynamically where the kinetic façade is applied and serves as the sun shading. The equation used was according to a previous research. To demonstrate that the Dynamo node can calculate correctly, a calculation at a specific time using the same input values using both Dynamo and Excel was conducted (Figure 5.1.4.1). The date used for calculation is August 21 st at 13 pm. Based on the weather file, the direct solar radiation and diffuse solar radiation level can be found, which is 564 Wh/m 2 and 249 Wh/m 2 respectively. Fu is 0.387 and Ce is 0.83. Exterior attenuation coefficient (EAC) is 0.128. the direct SHGC is 0.509 and the diffuse SHGC is 0.66. The cosine of the sun incidence angle is 0.352. the Dynamo calculation result is 548.04 Wh (Figure 5.1.4.2), and Excel output is 548.4 Wh (Figure 5.1.4.3). Therefore, the calculation from Dynamo is correct. (a) (b) 66 Figure 5.1.4.1 Partial Dynamo Script of Solar Heat Gain Calculation (Kunyu Luo, 2017) Figure 5.1.4.2 Example Solar Heat Gain Calculation Result from Dynamo (Kunyu Luo, 2017) 67 Figure 5.1.4.2 Example Solar Heat Gain Calculation Result from Excel 5.1.5 Indoor Illuminance Calculation Validation According to the DOE-2 daylighting calculation algorithm (AKA split-flux method), the indoor illuminance value consists of two parts: direct component (direct light from the sun and sky) and internal reflected component (reflected light from interior surfaces). Unlike the solar heat gain calculation, the daylighting calculation contains too many steps and equations, and some of calculations requires integral or double summation, which is hard to conduct the same calculation process in Excel to validate the results. Therefore, to demonstrate the daylighting calculation in Dynamo, a simulation was conducted in Grasshopper using the same location and at the same time as well as the same building and façade component (Figure 5.1.5.1). Although the results from Grasshopper and Dynamo might not be exactly the same due to a difference of the algorithms used, the results should not have too much discrepancies. A simple house with the same dimension with the Revit model as well as two foldable panel as kinetic façade components were built in Grasshopper (Figure 5.1.5.2). The height of the reference point in Dynamo is 3’ above the floor and 3’ away from the window, and the height of the test plane in Grasshopper is also 3’ above floor and the illuminance value of the grid point at the same position was extracted. The date used for simulation is August 21 th at 12 pm. Two cases were tested. In case 1, the façade position of both two panels is 0.4. In case 2, the façade position is 0.8. The simulation results from Dynamo and Grasshopper are summarized in the table (Table 5.1.5.1). The results show that there is 18.3% and 21.4% of difference between Dynamo results and Grasshopper results. The possible reasons for these discrepancies include the following 1) parameter used in the calculation, and 2) data source accuracy. • Parameter used in the calculation In DOE-2 Daylighting Calculation, apart from the sun position (it affects the exterior horizontal illuminance, direct illuminance, etc.), the environmental parameters that will affect the indoor illuminance level include the amount of precipitable moisture in the atmosphere (unit: cm) and Angstrom’s turbidity coefficient. In addition, the value of these two parameters are given by month instead of by hour, and only for limited number of cities 68 in U.S. (64 cities for moisture and 40 cities for turbidity). For the Radiance engine, hourly sky cloudiness data is used, which is obtained from an epw weather file. • Data source accuracy Unlike the Radiance engine that uses hourly epw weather file to create a relatively accurate sky model, the DOE-2 algorithm may not be able to reflect the hourly change of the sky condition. A few tests were done to demonstrate this assumption by using different moisture values and turbidity values for a single simulation result. When there was a change in those two parameters, the results can have a 15%-minus discrepancy or a 20%-plus discrepancy compared with the Grasshopper results (Radiance engine) even though at the same time (same sun position). Therefore, the differences in sky condition can affect the results similarly. Figure 5.1.5.1 Grasshopper Script for daylighting validation (Kunyu Luo, 2017) Figure 5.1.5.2 Building and kinetic Façade Geometry Created in Grasshopper (Kunyu Luo, 2017). 69 Indoor Illuminance Comparison --- August 21st, 12 PM Façade Position Dynamo Grasshopper ∆% 0.4 2998 3545.6 18.3% 0.8 1113.1 1351.7 21.4% Table 5.1.5.1 Summary of the Illuminance Results Comparison between Dynamo and Grasshopper 5.2 Results analysis of solar heat gain For August 21 st , the maximum solar heat gain throughout the simulation period (7 am to 6 pm) appears around 11 am and drops a little at 12 pm, and then reaches another peak (lower than the maximum value) around 14 pm. As the façade position moves from 0 to 1, which means the kinetic façade close gradually, the overall level of solar heat gain decreases (Figure 5.2.1). One reason of the pattern of the solar heat gain on August 21 st is the pattern of the weather data. The hourly solar radiation level of August 21 st (summation of direct solar radiation and diffuse solar radiation) changes in the pattern almost the same as is described above (Figure 5.2.2). Although the peak solar radiation level of August 21 st appears at 2 pm based on the weather data, the maximum solar heat gain occurs during 11 am. The peak displacement can be explained by the changing pattern of those parameters relevant to solar heat gain, including Fu, direct light SHGC, and sun incidence angle. All parameters including changeable parameters (direct and diffuse solar radiation level, Fu, direct SHGC, and cosine of sun incidence angle) and constant parameters (EAC, Ce, and diffuse SHGC) are shown in the chart (Figure 5.2.3). At 2 pm, although the solar radiation level is highest among the day, but the direct SHGC and cosine of incidence angle is lower than the value around 11 am due to the sun position. Therefore, the overall solar heat gain at 2 pm is slightly lower than that at 11 am. Figure 5.2.1 Hourly Solar Heat Gain of August 21 st 0 200 400 600 800 1000 1200 Solar heat gain (Wh) Time Hourly Solar Heat Gain_Aug 21st 0 0.2 0.4 0.6 0.8 1 Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. 70 Figure 5.2.2 Hourly Solar Radiation (direct and diffuse) of August 21 st Figure 5.2.3 Change Pattern of All Parameter related to Solar Heat Gain --- Aug 21 st 0 100 200 300 400 500 600 700 800 900 1000 7 8 9 10 11 12 13 14 15 16 17 18 Radiation Level (Wh/m2) Time Weather Data --- Hourly Solar Radiation --- August 21st Diffuse radiation Direct Radiation 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 100 200 300 400 500 600 700 800 900 1000 7 8 9 10 11 12 13 14 15 16 17 18 Solar Radiation (Wh/m2) Time P A R A M E T E R S P A T T E R N B Y H O U R --- A U G 2 1 ST Diffuse Solar Radiation (Wh/m2) Direct Solar Radiation (Wh/m2) Fu Ce EAC SHGC_direct SHGC_diffuse Cosine (Incidence Angle) Note: This chart is created based on the hourly data when the façade position is 0.4. 71 For December 21 st , the maximum solar heat gain appears around 13 pm, and unlike the result of August 21 st , the pattern of the solar heat gain throughout the day is a relatively perfect parabola without fluctuation. As the façade position moves from 0 to 1, the overall level of solar heat gain also decreases (Figure 5.2.4). The probable reason is similar to the situation of August 21 st , in which the hourly solar radiation level of December 21 st change in a parabola-like pattern (Figure 5.2.5). Figure 5.2.4 Hourly Solar Heat Gain of December 21 st Figure 5.2.5 Hourly Solar Radiation (direct and diffuse) of December 21 st 0 200 400 600 800 1000 1200 Solar heat gain (Wh) Time Hourly Solar Heat Gain_Dec 21st 0 0.2 0.4 0.6 0.8 1 0 100 200 300 400 500 600 700 800 900 1000 7 8 9 10 11 12 13 14 15 16 17 18 Radiation Level (Wh/m2) Time Weather Data ---Hourly Solar Radiation --- December 21st Diffuse radiation Direct Radiation Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. 72 The comparison of the results of August 21 st and December 21 st indicates that basically the solar heat gain level on December 21 st is higher than August 21 st . It can also be explained by the weather data. The solar radiation level on December 21 st except for 2 pm, is higher than the value on August 21 st . In addition, on August 21 st , the percentage of the diffuse component in the solar heat gain for each hour is larger than that on December 21 st . when the façade position is 0, the direct solar heat gain and diffuse solar heat gain for both dates are summarized (Figure 5.2.6 and Figure 5.2.7) (The summary results for all façade positions can be found in Appendix I). One probable reason is that on December 21 st , the sun position in the sky is lower so that the direct sunlight has higher chance to hit the unshaded part of the window, which means most of the solar heat gain at a specific time and façade scenario on December 21 st is from direct radiation. On August 21 st , the direct radiation makes less difference. Figure 5.2.6 Hourly Solar Heat Gain (direct and diffuse) of August 21 st when façade position is 0 (completely opened) Figure 5.2.7 Hourly Solar Heat Gain (direct and diffuse) of December 21 st when façade position is 0 (completely opened) 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 0.0 Diffuse Direct 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 0.0 Diffuse Direct 73 The solar heat gain doesn’t go down to zero even when the kinetic façade was completely closed (parameter “Bottom_Position” = 0). The reason for this situation might be due to the calculation method of the solar heat gain, where the total solar heat gain is divided into two parts: solar heat gain from the direct radiation and solar heat gain from the diffused radiation. In the equation, even though the Fu and Ce are 0, which means the window is completely shaded by the facades, it won’t affect the diffuse part of solar heat gain. 5.3 Results analysis of indoor illuminance For August 21 st , the maximum indoor illuminance value appears around 11 am and 12 pm, and then drops during 13 pm and 14 pm, and reach another peak (lower than the maximum value) around 15 pm. During the early morning (7 and 8 am) and the late afternoon (5 and 6 pm), sunlight is still available but stays at a relatively lower level (Figure 5.3.1). One reason of the pattern of the indoor illuminance on August 21 st is the pattern of the weather data. The hourly exterior horizontal illuminance level of August 21 st change in the pattern that is almost as same as described above (Figure 5.3.2). The indoor illuminance level reaches another peak at 3 pm. It might be due to the sun position at that specific time and the feature of the façade geometry. According to the shadow pattern on the window at different time (Figure 5.3.3 (a), (b), (c)). During 1 pm and 2 pm, the sun position is still relatively high in the sky and the façade components can block most of direct sunlight. At 3 pm, the sun position gets lower and at a position that the sunlight can hit the window area that even covered by the façade when seen from the front (area ① in Figure 5.3.3 (c)). Figure 5.3.1 Hourly Indoor Illuminance of August 21 st 0 500 1000 1500 2000 2500 3000 3500 4000 4500 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Illuminance (Lux) Time Hourly Indoor Illuminance_Aug 21st 0 0.2 0.4 0.6 0.8 1 Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. 74 Figure 5.3.2 Hourly exterior horizontal illuminance of August 21 st Figure 5.3.3 (a) Shadow on the Window (1 pm, August 21 st ); (b) Shadow on the Window (2 pm, August 21 st ); (c) Shadow on the Window (3 pm, August 21 st ) (Kunyu Luo, 2017). For December 21 st , the maximum indoor illuminance value appears around 12 pm, and most of the curves are relatively perfect parabolas, without fluctuation. When the façade position is at 0.8, after 10 am, the indoor illuminance value drops dramatically to a lower level and this situation is continued until the sunset. During the early morning (7 and 8 am) and the late afternoon (5 and 6 pm), sunlight is not available any more (Figure 5.3.4). The parabola-shape pattern can also be explained by the weather data pattern. The exterior horizontal illuminance of December 21 st is changing in a parabola pattern (Figure 5.3.5). 0 20000 40000 60000 80000 100000 120000 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Exterior Horizontal Illuminance (lux) Time Hourly Exterior Horizontal Illuminance - Aug 21st (a) (b) (c) 75 Figure 5.3.4 Hourly Indoor Illuminance of December 21 st Figure 5.3.5 Hourly exterior horizontal illuminance of December 21 st For the façade position of 0.8, the indoor illuminance level drops significantly after 10 am. This might be inaccurate or even incorrect due to the following reasons: • One of the possible reasons of this condition is due to the geometry of the shade. At 10 am, the sun position in the sky is relatively low and is just moving up from east, therefore some direct sunlight can still hit the covered-window area from east side through the gap between the façade components and window surface 0 5000 10000 15000 20000 25000 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Illuminance (Lux) Time Hourly Indoor Illuminance_Dec 21st 0 0.2 0.4 0.6 0.8 1 0 10000 20000 30000 40000 50000 60000 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Exterior Horizontal Illuminance (lux) Time Houry Exterior Horizontal Illuminance - Dec 21st Note: The float numbers of the legend represent the facade position. 0 means the facade is completely opened and 1 means the facade is completely closed. 76 (area ① in Figure 5.3.6 (a)). After 10 am, as the sun moves higher, the sunlight cannot hit the covered- window area through the gap. Therefore, although the sunlight is still abundant outside and exterior illuminance remains at a high level (from 11 am to 13 pm), most sunlight is blocked by the façade components so that the indoor illuminance decreases significantly (Figure 5.3.6 (a), (b), (c)). In the afternoon, although the sun might appear in a lower position at some time so that the sunlight can hit the covered-window area through the gap from west side just like what happened at 10 am, the exterior illuminance is not as high as morning. Therefore, the indoor illuminance level during the afternoon remains at a lower level. • Another factor that causes this condition is window surface division. According to the DOE-2 algorithm, the window surface is divided into an x-y grid in the calculation. In Dynamo, the number of elements in x direction (U) and in y direction (V) are all 10, which means the window surface is divided into 100 (10 x 10) pieces or elements, and therefore the element spacing is 0.6’ (6’/10, 6’ is the value of the window height and width) (Figure 5.3.7). The rightmost column of grid points is 0.3’ away from the surface edge. After 10 am, although the shadow is not completely formed on the window especially at area ① (Figure 5.3.6 (b)), but it is too slim to contain the grid points near that edge, and therefore the results will change dispersedly instead of continuously. That’s might be another reason why the illuminance value after 10 am drops dramatically. The recommended element size given by DOE is that the length and the width of the element should be smaller than D (distance between reference point and the center of each element) divided by 4 to get an accuracy better than 1%. Figure 5.3.6 (a) Shadow on the Window (10 am, December 21 st ); (b) Shadow on the Window (11 am, December 21 st ); (c) Shadow on the Window (12 pm, December 21 st ) (Kunyu Luo, 2017). (a) (b) (c) 77 Figure 5.3.7 Grid Points on the window surface (Kunyu Luo, 2017) The comparison of the results of August 21 st and December 21 st indicates that basically the indoor illuminance level on December 21 st is much higher than August 21 st during the periods that sunlight is relatively abundant outside (after 9 am and before 16 pm). The reason can be related to the geometry feature of the façade component. With the same façade position, during August 21 st when the sun position is high, the shadow formed on the window by the kinetic façade components is relatively large. In other words, the amount of sunlight getting through the window and then reaching the work plane inside is less (Figure 5.3.7). On the contrary, during December 21 st when the sun position is much lower than summer season, more sunlight can get through the window and hit deeper inside (Figure 5.3.8). In summary, although the exterior horizontal illuminance on August 21 st is much higher than that on December 21 st , the indoor illuminance level is still higher in winter and lower in summer. Figure 5.3.7 Kinetic Façade Performance Diagram --- August 21 st (Kunyu Luo, 2017) 78 Figure 5.3.8 Kinetic Façade Performance Diagram --- December 21 st (Kunyu Luo, 2017) In summary, the change in pattern of the indoor illuminance on August 21 st and December 21 st is due to the pattern of the environmental conditions (exterior solar radiation and exterior horizontal illuminance) as well as a feature of the façade geometry. Shadow pattern on the window analysis and the changing pattern of some variables were discussed to obtain a better explanation. And detailed analysis was done in this section. 5.4 Evaluation of the workflow Three methods that are used by other people or organizations for simulating and analyzing kinetic façade systems include 1) IES-VE (Greg Collins, 2017), 2) Rhino DIVA (Pablo La Roche, 2018), and 3) Grasshopper (Timothy J Halvorson, 2017). The information above is collected through the questioning and answering during a lecture and lecture from a conference. The information of the first method is obtained from a lecture of a class (Arch 615L: Seminar: Environmental Systems Research, Feb 2017) that was given by Greg Collins from Zero Envy. The information of the second method is obtained from Pablo La Roche, who is a vice associate president of CallisonRTKL through questioning and Answering. The information of the third method is obtained from a lecture in a conference (BIM 2017: what’s next?) that was given by Timothy J Halvorson from HDR. • In IES-VE, users can set up several different façade configurations or scenarios, which are static models, and simulate shadow patterns and solar radiations level by using the “Sun Cast” function in IES-VE. One disadvantage of this method is that it requires lots of modeling work. For example, if there have six possible façade position options to simulate, six independent façade models need to be made either in IES- VE directly or imported from other modeling programs such as SketchUp. When the number of façade elements is too large or if the façade geometry is too complex to adjust frequently, that is not an efficient process. The positive part of this method is IES-VE is a commonly-used tool in the industry, and therefore it is known and can be accessed by many users. • Rhino is a 3D modeling program that is used by many designers, and with the coordination of DIVA, a plugin for various environmental analysis including solar radiation, daylighting, and glare, Rhino can be a powerful tool for kinetic façades design and analysis. A positive feature of DIVA is that more than one type of simulation is available. For example, for daylighting analysis, users can choose image-based simulation 79 or grid-based simulation and can also choose annual daylight autonomy or illuminance during a specific time or period as the daylight metric. A possible problem of using DIVA for radiation or daylighting analysis is that it usually takes a long time (more than 10 minutes) to run one simulation, especially when the building or space for simulation is relatively large. • Grasshopper is a visual programming program that is always used with Rhino together. The façade component model can be created either through modeling in Rhino or scripting in Grasshopper directly, and relevant simulation or analysis can be done parametrically. In this way, designers don’t have to spend a lot of time on repetitive modeling work, and there can be a greater number of design alternatives can be with more accurate results. With Grasshopper, the energy performance of kinetic facades can only be analyzed by simulating the solar radiation level hitting on the building façade or other surfaces. Solar heat gain through the window cannot be simulated directly. Daylighting simulation can be done within Grasshopper for illuminance or luminance simulation (either image-based simulation or grid-based simulation). Daylighting simulation in Honeybee is usually faster than DIVA especially for point-in time simulation. One limitation of the application of Grasshopper is that parametric modeling of the kinetic façade component requires the users have a deep knowledge of coding in Grasshopper, and most of the designers are not able to complete that by themselves. Instead, creating the kinetic façade component in Revit by using Adaptive Family is relatively easier. In summary, Grasshopper can realize parametric design and analysis, but many designers don’t have enough knowledge to do thoroughly parametric modeling and environmental analysis in Grasshopper. Besides, Revit is a commonly-used tool by either designers or engineers, and the Adaptive Family is a command inside of Revit, which is easier for the users to make kinetic component comparing with programming in Grasshopper. In the proposed method, users can create their models in Revit, and then load them into Dynamo for parametric analysis. Therefore, although Grasshopper has powerful functionality, the applicability of it in design process can be limited in terms of the difficulties of parametric modeling, especially when comparing with modeling in Revit. Comparing among the three methods mentioned above, the advantages and disadvantages of the proposed workflow are summarized in the table (Table 5.4.1). The selected aspects for evaluation includes the following: 1) Modeling • Parametric Capability. This item indicates if the method is capable to create parametric model. • Modeling Difficulty. This item indicates the difficulties of modeling process for most of designers. 2) Energy Performance Assessment • Solar Heat Gain Calculation. This item indicates if the method can calculate or simulate the solar heat gain through the window. • Solar Radiation Calculation. This item indicates if the method can calculate or simulate the solar radiation level on the target geometry. • Dynamic Shadow Calculation & Analysis.: This item indicates if the method can analyze the shadow pattern and meanwhile calculate the relevant parameters (e.g. Fu and Ce). 3) Daylighting Performance Assessment • Indoor Illuminance Calculation. This item indicates if the method can calculate or simulate the indoor illuminance. • Other daylighting Metrics Availability. This item indicates if the method can do daylighting simulation for other metrics apart from the indoor illuminance. 80 4) General Aspects • Parametric Analysis Capability. This item indicates if the method can do relevant simulation parametrically without the necessity of changing the model every time manually. • Popularity & Accessibility. This item indicates if the method is easy and straightforward enough so that it can be used by most of the designers in the industry. • Software Stability. This item indicates if the method is stable enough during the work without frequent crashing. 5) Data Processing • Optimization Program Availability. This item indicates if the method can conduct optimization based on certain existing program or plugin (e.g. Octopus and Galapagos in Grasshopper, and Optimo in Dynamo). • Generative Design Program Availability. This item indicates if the method can coordinate with generative design tools such as Project Fractal. The comparison between the proposed method and other three methods ae summarized in the table (Table 5.4.1). 81 Comparison of three methods Proposed Method Grasshopper Rhino (Diva) IES-VE Modeling Parametric Capability Yes Yes No No Modeling Difficulty Easy Difficult Easy Difficult Energy Performance Assessment Solar Heat Gain Calculation Yes No No No Solar Radiation Calculation No Yes Yes No Dynamic Shadow Calculation & Analysis Yes No No No Daylighting Performance Assessment Indoor Illuminance Calculation Yes Yes No Yes Other daylighting Metrics Availability No Yes Yes No General Aspects Parametric Analysis Capability Yes Yes No No Popularity & Accessibility Good Poor Good Good Software Stability Poor Good Good Good Data Processing Optimization Program Availability Yes Yes No No Generative Design Program Availability Yes No No No Table 5.4.1 Summary of the Comparison of the Four Methods. 5.5 Limitations of the current study There are several limitations that exist in the current workflow that could lead to the inefficient work pace or inaccuracy of the simulation results, including the necessity of data processing in Excel, insufficient reference points for daylighting assessment, oversimplified glare assessment, limited daylight metrics, the low complexity of the façade control strategy, and limited simulation iteration. • Data processing in Excel In order to find the control strategy of the kinetic façade based on the criterion among the hourly data of the solar heat gain and the indoor illuminance, data processing and analysis are needed apart from modeling and simulating in Legend Yes, Good, or Easy No, Poor, or Difficult 82 Revit and Dynamo. It is a commonly-used way which is available for most designers, but it’s not the most efficient way for the decision-making because writing data into Excel is a tedious progress, and the numeric data is sometimes hard to visualize and therefore not straightforward enough especially for architects or designers. • Insufficient reference points for daylighting assessment Usually, the daylighting simulation should be done for the entire occupied area or work plane, in other words, it requires the calculation for more reference points, as much as possible, to obtain a relatively accurate and trustworthy output. However, due to the limited time and the instability of Dynamo (it is difficult to handle very large amounts of calculation at one time, unlike the grid-based daylighting simulation with a large number of reference points), only one reference point on the work plane (top surface of the table near the window) is used to calculate illuminance value for daylighting assessment. It might cause uncertain inaccuracy of the results, and the daylight distribution affected by the kinetic façade component will not be available. • Oversimplified glare assessment In this study, the glare is evaluated only based on whether the sun is in the occupants’ view. In real life, more conditions could also cause glare issues, including a white sunlit surface seen through the window, diffused glazing in direct sun, and high-reflected surfaces such as metal panel, etc. The glare assessment can be more comprehensive and being able to include various conditions. • Limited daylight metrics The daylight metric used for evaluating daylighting performance in this study is only indoor illuminance. It is good for evaluating point-in-time daylighting performance. However, indoor illuminance is not a perfect option for every circumstance. For example, the annual daylighting assessment might be needed in some cases and therefore daylight autonomy should be used instead. Other daylight metrics that are used relatively common include daylight factor and luminance. • The complexity of the façade control strategy In a real facade, the kinetic façade system is usually controlled separately by zone, which means the façade components at different zones may have different operation scenarios rather than all the same. In this situation, the indoor illuminance value at certain spot might be influenced by either the façade component that serves this area or the façade component that serves the adjacent area. Being able to simulate and analyze multiple groups of the independent-controlled kinetic facades can make the proposed method more flexible and applicable for various situations (e.g. building zoning, façade grouping, etc.). However, for clarity and readability of the study results and simulation time, the number of façade component (or façade group) that can move independently is less than three. • Limited simulation iteration. The operation scenario of the kinetic façade might vary seasonally according to certain environmental parameters. To obtain a more accurate result to guide the design, monthly simulation or even daily is preferred. However, considering that the primary objective of the case study is to test and demonstrate the effectiveness of the proposed BIM-based method, instead of to determine the detailed operation strategy for a specific project, the simulation was simplified by using two or three typical dates in a year to represent the critical seasons (cool seasons, mild seasons, and warm seasons). This situation may not be able to reflect the way of how the kinetic facades move throughout the entire year very accurately. 83 5.6 Summary The validation of several key parts of the proposed workflow including sun angle calculation, glass material properties calculation, dynamic shadow calculation, solar heat gain calculation, and indoor illuminance calculation were done in this chapter. It was demonstrated that the proposed workflow can get the correct or reasonable results for further analysis. The results of the case study, a square-shaped room in Los Angeles with south-faced window where two simple kinetic foldable panel were applied as the kinetic façade component, was also analyzed. The resulting discussion and analysis mainly focused on the pattern and distribution of the solar heat gain and indoor illuminance over time and explained the probable reasons that cause those specific patterns. Then, the evaluation of the proposed workflow was done by comparing it with three existing methods used in the industry including DIVA in Rhino, Grasshopper, and IES-VE. Limitations of the current study were also discussed. 84 CHAPTER 6 6 Conclusions and future work Revit and Dynamo are being used more and more in the AEC industry to achieve efficient and qualified design and data management. Compared with those traditional design and analysis tools such as Rhino and Grasshopper, Revit and Dynamo have a great advantage in terms of information and data rather than just geometry. In addition, Revit and Dynamo could be secondarily developed through the Revit API or Autodesk Design Script, which provides the possibility of doing customized automation or parametric analysis to facilitate the design process and realize what Rhino and Grasshopper can do. When designing kinetic facades systems, the conventional method is conducting solar radiation analysis to evaluate the energy performance by using Grasshopper or Ecotect, and the daylighting of interior space as well as the potential effects caused by occupants are usually not considered. With an appropriate use of Dynamo, designers are able to design and analyze kinetic façade parametrically and also be aware of how occupants can affect the overall performance of the kinetic façade. The results can be informative to the owners or occupants giving them a brief idea that how they should operate the facades system and maximize its benefits. However, improvements can be made to the methodology development, method for data processing, and other features. 6.1 Methodology developed In order to create an innovative kinetic façades design and analysis workflow, a control strategy for a kinetic façade was developed that takes into account energy performance, daylighting condition (both glare and illumination), and occupant preference to achieve a better energy performance and user satisfaction. The methodology for designing and simulating energy and lighting for kinetic facades in BIM environment was developed and tested (Figure 6.1.1). Figure 6.1.1 Workflow of the proposed methodology To demonstrate the reliability and effectiveness of the proposed workflow, a kinetic facade model was created that was a simple foldable panel for solar shading. It was used in the case study. Initially, a literature review was 85 conducted mainly to go through the current design methods and simulation tools of the kinetic facades as well as the application of BIM in the design or research. Based on the literature review, four aspects were considered: 1) an adaptive façade model can make either design process or the research more efficient especially when the kinetic façade geometry is relatively complex; 2) a parametric analysis of the energy performance is hard to realize with the current building energy simulation program and therefore their applicability is limited to research purpose and barely or not applicable in the real-world design process; 3) Dynamo can play a significant role in helping realize the parametric design and analysis and has an enormous potential to develop for customized functionality due to its open-source nature; and 4) during the design stage, being able to evaluate and visualize the effect of the occupants is beneficial for either designers to understand the discrepancy between a set control strategy design and the reality of building users changing the kinetic façade.. The façade and building model were prepared in Revit, and then several custom nodes were created in Dynamo through Python programming: finding shadow patterns on the window and two relevant parameters (unshaded fraction and exposed coefficient) while the kinetic façade was moving dynamically, calculating solar heat gain at specific time, dividing the window surface into multiple elements and separating the shaded elements and unshaded elements for further simulation, calculating direct component (from sun and sky) of indoor illuminance, calculating inner-reflective component of indoor illuminance, and the node serving as a glass material library with all needed properties for illuminance calculation, etc. Then, the hourly data output from Dynamo was written into the Microsoft Excel to finalize the control operation strategy. Finally, based on an assumption that the occupants can overrule the control program according to their preference (for example, desiring a different view out the window), a dashboard was created to display the façade stage dynamically and also the comparison of the solar heat gain and illuminance value between the control strategy values and occupant- overruled values in order to display the effect of the occupants. The results of the case study demonstrated that the application of the BIM tools (Revit and Dynamo) is feasible to design and evaluate the kinetic facades in multiple domains including energy performance (solar heat gain), daylighting (indoor illuminance and glare), as well as providing an interface to evaluate and visualize the occupants’ behavior. In a broader view, Revit and Dynamo could not be constrained to only creating construction drawings, making schedules, or operation management, etc. Instead, together, they could be an efficient and informative tool during the design stage to facilitate the designers achieving a more reasonable design through parametric design and analysis. In summary, the case study is based on the proposed methodology using Revit and Dynamo as well as using Python to create custom nodes in Dynamo for several customized functionalities. It was used to create the kinetic façade model, to simulate its energy performance and daylighting performance parametrically, output the data for further analysis, and display with graphs the impact of the occupants. There still remain some deficiencies, including too few simulation days, not including glare analysis, and the relative inefficiency of the data processing process (with all numeric data in Excel instead of more advanced design tools). The case study supported and demonstrated the reliability and effectiveness of the proposed workflow. It may not be applied to all the real-world kinetic façade project directly. It just provides a potential efficient path to build upon. 6.2 Future work There are several aspects in the current methodology that could be improved by further research or work, including utilization of the generative design tools for doing data processing in a more efficient way, testing with the newer version of Dynamo which might be more stable and powerful, making the dashboard more informative graphically, integrating the virtual reality (VR) tools (e.g. Enscape for Revit) for a better visualization of the real-time control, extending the daylighting simulation node for more number of reference point, involving glare issue as a factor that could affect the occupants’ behavior apart from their preferences on the position of the shade, a more detailed analysis on several groups of façade that are controlled independently, and conducting simulation for a longer period of time in a year. • Demonstrate the efficacy of the proposed method compared to a Rhino-based workflow 86 Currently, most of the designers use SketchUp for schematic design and modelling, some of them might use Rhino. In those projects where kinetic façades are applied, conducting a multi-domain simulation and assessment will be time-consuming and requires the capability of using several software programs (e.g. Grasshopper, Ecotect, etc.). Designing and simulating the kinetic façade parametrically will be even more difficult. Only the effectiveness of the Revit-based method was demonstrated. It provides the possibility of designing and analyzing the kinetic facades system in Revit and Dynamo. A comparison between the Revit-based method and Rhino-based method could be done. • Better criterion for determining the control strategy for the shading device In the current method, whether the interior space needs the solar heat gain or not is determined through comparing outdoor ambient temperature and indoor temperature (thermal comfort range). Generally, if the outdoor ambient temperature is higher than the high boundary temperature of the thermal comfort range , solar heat gain is not needed, and if the outdoor ambient temperature is lower than the low boundary temperature of the thermal comfort range , solar heat gain is needed. One disadvantage of this criterion is that it can only tell whether the solar heat gain is needed. However, it cannot measure it quantitatively by giving a specific value and showing how much solar heat gain is appropriate. If the heating loss through building envelope and internal heat gain are known, then the discrepancy between the heat loss and internal heat gain can be a benchmark that helps to decide amount of solar heat gain without causing overheat. In addition, another way to optimize the criterion is that finding the relationship between the indoor air temperature or mean radiation temperature (MRT) and the solar heat gain, which can be more informative and indicative to evaluate the effect of solar heat gain on indoor thermal comfort. • Test on physical models and real facades The proposed method still needs to be verified in real-world projects by professionals, especially when more complex façade geometry or complex building configuration are applied. • Utilization of generative design tool --- Project Fractal. In the current methodology, the determination of the kinetic facades’ control strategy is done by using Microsoft Excel to record and compare the hourly simulation data for different dates separately in order to find the operation scenario, and graphical charts were created accordingly for visualization. This requires the designers to export all data to Excel and do analysis manually. There is another possible path for finding a best solution that could be more efficient and more straightforward. Project Fractal is an online generative design platform and could be linked with Dynamo, which is easier for the designers to find the position of the kinetic façade that most satisfies the criterion at different time by specifying variables and constants. Unfortunately, the current version of Fractal is not compatible with any custom nodes developed in Dynamo. However, this might be different in the future. • Application of the newer version of Dynamo The version of Dynamo used in this study is 0.9. One big issue of it is that it is unstable especially when the geometry gets more complex or the amount of calculation is too large. For example, in the daylighting calculation, according to the DOE-2 algorithm, the window surface will be divided into an x-y grid, and the more the grid element is, the larger amount of calculation is needed. In Dynamo, the division of the window surface is controlled by setting the U and V value, which represent the number of element in horizontal direction and vertical direction, and for simplicity, the U and V value are always the same. If the U (and V) value is larger than 15, Dynamo will crash very frequently. To avoid the crashing problem, the U (and V) value in the study is 10. The limited element quantity can lead to limited accuracy. Therefore, the newer version of Dynamo could be used, which is probably more stable and powerful to handle more complex geometry and larger amount of calculation and therefore more accurate results can be obtained. • Integrating VR tools for the visualization of the real-time control In the proposed workflow, the real-time control is visualized through a custom dashboard that contains the exterior view and interior view of the kinetic façade. The interior view is derived from Revit directly (shaded view in Revit). To make the visualization interface more informative and realistic, where users can see the daylighting effect (e.g. shadow pattern caused by façade or sunlight distribution) of interior space and also have a better rendering effect 87 and therefore help the users have a better understanding about the performance of the kinetic facades, more advanced visualization tools could be utilized, for example, Enscape for Revit (Figure 6.2.1 (a), (b)). Figure 6.2.1 Example of the interior view in Enscape (a) Dec 21 st 11 AM, (b) Dec 21 st 15 PM (Kunyu Luo, 2017) • Extending the daylighting simulation node to include more reference points. To assess the daylight quality of the interior space accurately and comprehensively, simulating the illuminance at only one reference point is definitely not convincing, especially for those indoor areas that have requirements on not only illuminance value but also the illuminance distribution throughout the entire occupied space. Limited by the unstable character of Dynamo and therefore in order to avoid large amount of calculation during simulation, illuminance value at a single reference point on the work plane near the window was used to indicate daylight quality. Therefore, there should have the demand that making the proposed workflow capable of producing illuminance value for multiple points on the target plane, which is similar to the grid-based daylighting simulation in Grasshopper using Honeybee, to assure the new method is effective and usable for various projects. • Introducing glare analysis (in addition to direct sunlight) when considering the occupants’ behavior Apart from the indoor illuminance, glare is another important metric for daylighting assessment and sometimes even could be a critical and primary issue to consider. At certain periods in a day, occupants in the building may have to face the direct light from the sun or a bunch of reflected sunlight from exterior highly-reflective surfaces (e.g. glazed curtain wall and smooth metal panel, etc.), which would cause extreme visual discomfort. A simplified glare analysis for the proposed method could be valuable and useful by integrating sun path into analysis. From interior perspective view, if the sun is visible while the sun is moving along the sun path, the kinetic façade should move correspondingly to block the direct sunlight to prevent glare. Most importantly, evaluating different viewpoints and fields of view would be important, if such information is to be considered. • Coordination between multiple groups of façades The operation scenario of the kinetic façades is mainly determined based on the purpose that the facade is designed for. In some cases, kinetic façades serve as the solar protection system to block the excessive sunlight during different time in a day or season, and therefore the operation scenario of each façade unit is pretty much the same, because it is based on the change of the sun position. When the daylighting effect is considered along with blocking solar radiation, the operation scenario of the kinetic façade units for different space use or at different locations on (a) (b) 88 the building could be different even though they orient to the same direction. The reasons include that the required illuminance value for different type of space is different, and the space at different location in the building may have different accessibility to the sun due to other exterior obstructions. For those large wide-open spaces without interior obstruction, the kinetic facades may need to divide by zone, and the change of the façade’s position of one zone may influence its adjacent zones. The analysis about how to make multiple groups of façades coordinate smoothly without degrading the performance and indoor environment quality of other zones significantly is worth exploring in the future. • Conducting simulations for a longer period Considering that the operation scenario will probably not vary each single day and adjust by season instead, and for clarity and readability of the research, only two to three dates were selected for simulation to represent several typical seasons in a year based on the climate pattern. A longer period simulation (for example, for a year) will lead to a more accurate result and could be more informative and directive for designers helping them have a better understanding about the pattern of the operation scenario throughout the year, and therefore make the right decision that could maximize the benefit of the kinetic facades. 6.3 Summary The current method of designing and simulating the kinetic facades, and the application of BIM tools (Revit and Dynamo), in a parametric design workflow has been discussed. Based on those situations, a BIM-based methodology that conducts design and simulation in Revit and Dynamo was developed. The new method evaluates energy performance and daylighting performance of the kinetic facades by simulating solar heat gain through the window and the indoor illuminance on the work plane, then does data analysis to find the control strategy by balancing the solar heat gain and indoor illuminance. Finally, the effect of the occupants is introduced and an interface for potential real-time control is generated and visualized. To test the feasibility of the proposed method, a case study with a kinetic façade was used. The results presented the hourly sun visibility, solar heat gain value, and the indoor illuminance value of two selected dates. Then, based on the criteria set for determining the control strategy, the proper position of the kinetic façade was found for each hour from 7am to 6pm. Based on the proposed method and the case study, the applicability of the proposed method was discussed. The limitations of the current method as well as the future work to improve this workflow were also discussed. The proposed BIM-based method for the design and assessment of the kinetic façades is effective and gives the potential of a more efficient and information-oriented design workflow. In addition, being able to involve occupants in the façade control process and letting them override the façade control strategy can also help users to have a better understanding about how their behavior can affect the performance of the kinetic façade system as well as where does the performance discrepancies between the design and reality come from. 89 References Bouchlaghem, N 2000, “Optimizing the design of building envelopes for thermal performance”, Automation in Construction, 10, pp. 101-112 Crawley, D.B. and Hand, J.* and Kummert, M. and Griffith, B.T. (2008) “Contrasting the capabilities of building energy performance simulation programs. Building and Environment”, 43 (4). pp. 661-673. ISSN 0360-1323 Dong-Seok Lee, Sung-Han Koo, Yoon-Bok Seong, & Jae-Hun Jo. (2016). “Evaluating Thermal and Lighting Energy Performance of Shading Devices on Kinetic Façades”. Sustainability, 8(9), 883. Elghazi Y., Wagdy A., and Abdalwahab S., 2015. “Simulation driven design for kinetic system; optimize kaledocycle facade configuration for daylighting adequacy in hot arid climates”. In Conference of International Building Performance Simulation Association, pp. 182–189. Fonseca, CM and Fleming, PJ 1993, “Genetic Algorithms for Multi-Objective Optimization: Formulation, Discussion and Generalization”, ICGA, 93, pp. 416-423 Futrell, B., & Ozelkan, E. (2014). “Optimizing Building Envelope Component Design for Thermal and Lighting Performance”. IIE Annual Conference. Proceedings, 2437-2446. Gossard, D, Lartigue, B and Thellier, F 2013, “Multi-Objective optimization of a building envelope for thermal performance using genetic algorithms and artificial neural network”, Energy and Buildings, 67, pp. 253-260 Gunay, H. B., W. O’Brien, and I. Beausoleil-Morrison. 2013. “A Critical Review of Observation Studies, Modeling, and Simulation of Adaptive Occupant Behaviors in Offices.” Building and Environment 70: 31–47. Hoes, P, Trcka, M, Hensen, J and Bonnema, B 2011 “Optimizing building designs using a robustness indicator with respect to user behavior”, Building Simulation Proceedings of the 12th Conference of the International Building Performance Simulation Association, pp. 1710-1717. Kim, H., Asl, M. R., & Yan, W. (2015). “Parametric BIM-based Energy Simulation for Buildings with Complex Kinetic Facades”. Proceedings of the 33rd eCAADe Conference. 1, pp. 657-664. Vienna, Austria: Education and research in Computer Aided Architectural Design in Europe. Konak, A, Coit, DW and Smith, AE 2006, “Multi-objective optimization using genetic algorithms: A tutorial”, Reliability Engineering & System Safety, 91, p. 992–1007 Lehar, M. A. (2007). “Rapid algorithm for modeling daylight distributions in office buildings”. Building and environment, 42(8), 2908-2919. Radford, AD and Gero, JS 1987, “Design by optimization in architecture, building, and construction”, John Wiley & Sons, Inc. Roel C.G.M. Loonen, Fabio Favoino, Jan L.M. Hensen & Mauro Overend (2017) “Review of current status, requirements and opportunities for building performance simulation of adaptive facades”, Journal of Building Performance Simulation, 10:2, 205-223, DOI: 10.1080/19401493.2016.1152303. Sambou, V, Lartigue, B, Monchoux, F and Adj, M 2009, “Thermal optimization of multilayered walls using genetic algorithms”. Energy and Buildings, 41, pp. 1031-1036 Sharaidin, M. (2014). “Kinetic facades: towards design for environmental performance”, PhD Thesis, RMIT University. Touloupaki, E., & Theodosiou, T. (2017). “Performance Simulation Integrated in Parametric 3D Modeling as a Method for Early Stage Design Optimization-A Review”. Energies, 10(5), 637. 90 Touloupaki, & Theodosiou. (2017). “Energy Performance Optimization as a Generative Design Tool for Nearly Zero Energy Buildings”. Procedia Engineering, 180, 1178-1185. Vartiainen, E. P. (2000). “Daylight optimization of multifunctional solar facades. Solar Energy”, 68.3: 223-235. Wang, W, Rivard, H and Zmeureanu, R 2006, “Floor shape optimization for green building design”, Advanced Engineering Informatics, 20, pp. 363-378. Winkelmann FC, Selkowitz S. 1985. “Daylight simulation in the DOE-2 building energy analysis program”. Energy Build. 8: 271–286. Bibliography ASHRAE. ASHRAE Handbook Fundamentals; American Society of Heating, Refrigerating and Air Conditioning Engineers: Atlanta, GA, USA, 2007; Chapter 31. Grozdanic, L. (2016, November 7). 8 Impossibly Dynamic Façades That Were Actually Built. Retrieved from Architizer: https://architizer.com/blog/8-impossibly-dynamic-facades-that-were-actually-built/ Jeffries, P. (2016, December 1). "What is Computational Design?". Retrieved from Ramboll Blog --- Computational Design: http://blog.ramboll.com/rcd/articles/what-is-computational-design.html Kensek, K. (2014). Building Information Modeling. New York, Routledge Mardaljevic, J., Heschong, L., & Lee, E. (2009). Daylight metrics and energy savings. Lighting Research & Technology, 41(3), 261-283. "Python (programming language)". (2017, October 25). Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Python_(programming_language) Rea, M. S. (2000). The IESNA lighting handbook: reference & application. Risen. Clay (2017, July 11). Award: Dynamic ETFE Façade. Retrieved from http://www.architectmagazine.com/awards/r-d-awards/award-dynamic-etfe-facade_o Sun, Shang, School of Architecture, Kensek, Karen M., & Noble, Douglas;Schiler, Marc. (2015). “Energy Efficient Buildings: A Method of Probabilistic Risk Assessment Using Building Energy Simulation”, University of Southern California. "What is BIM". (2017). Retrieved from Autodesk: https://www.autodesk.com/solutions/bim “What is generative design?” (n.d.). Retrieved from https://www.autodesk.com/solutions/generative-design Zhang, Y, Lin, K, Zhang, Q and Di, H 2006, “Ideal thermos physical properties for free-cooling (or heating) buildings with constant thermal physical property material”, Energy and Buildings, 38, pp. 1164-1170 91 Appendix A: Python Script of Get Sun Angles import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. #Calculate sun altitude and sun azimuth based on the information of location and time DOY = IN[0] TimeZone = IN[1] Latitude = IN[2] Longitude = IN[3] LocalHour = IN[4] #Calculate the solar declination based on day of the year SolarDecline = 23.45 * math.sin(math.radians(360*(DOY + 284)/365)) T = 360*(DOY-1)/365 #Calculate equation of time ET = 2.2918*(0.0075+0.1868* math.cos(math.radians(T))-3.2077* math.sin(math.radians(T))-1.4615* math.cos(math.radians(2*T))-4.089* math.sin(math.radians(2*T))) #Calculate ongitude of local standrd time meridian LSM = 15*TimeZone #Calculate appaerent solar time AST = LocalHour + ET/60 + (Longitude - LSM)/15 #Calculate the hour angle hourAngle = 15*(AST-12) #Calculate sine solar altitude value based on media parameters above sinalti = math.cos(math.radians(Latitude))*math.cos(math.radians(SolarDecline))*math.cos(math.radians(hourAngle)) + math.sin(math.radians(Latitude))*math.sin(math.radians(SolarDecline)) #Calculate solar altitude value in radians SunAltitude_R = math.asin(sinalti) #Calculate solar altitude value in degrees SunAltitude = math.degrees(SunAltitude_R) #Calculate sine solar azimuth value based on media parameters above sinAzim = math.sin(math.radians(hourAngle))*math.cos(math.radians(SolarDecline))/math.cos(math.radians(SunAltitude)) #Calculate cosine solar azimuth value based on media parameters above cosAzim = (math.cos(math.radians(SolarDecline))*math.cos(math.radians(hourAngle))*math.sin(math.radians(Latitude)) - math.sin(math.radians(SolarDecline))*math.cos(math.radians(Latitude)))/math.cos(math.radians(SunAltitude)) #Calculate solar azimuth value in radians SunAzimuth_R1 = math.asin(sinAzim) SunAzimuth_R2 = math.acos(cosAzim) #Calculate solar azimuth value in degrees SunAzimuth_1 = math.degrees(SunAzimuth_R1) SunAzimuth_2 = math.degrees(SunAzimuth_R2) #Reset the solar azimuth from normal south to normal north SunAzimuth_1 = SunAzimuth_1 + 180 92 output = [] output.append(SunAltitude) output.append(SunAzimuth_1) #Assign your output to the OUT variable. OUT = output Appendix B: Python Script of Glass Database import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * from math import* #The inputs to this node will be stored as a list in the IN variables. IDname = IN[0] IncidentAngle = IN[1] class Glass(): def __init__(self,glassID,incAngle): self.glassID = glassID self.incAngle = incAngle #/***************************************************************************************** def glassInfo(self): glassDict = {'1a':['Uncoated Single Glazing','Clear','1/8 inch'],\ '1b':['Uncoated Single Glazing','Clear','1/4 inch'],\ '1c':['Uncoated Single Glazing','Bronze','1/8 inch'],\ '1d':['Uncoated Single Glazing','Bronze','1/4 inch'],\ '1e':['Uncoated Single Glazing','Green','1/8 inch'],\ '1f':['Uncoated Single Glazing','Green','1/4 inch'],\ '1g':['Uncoated Single Glazing','Gray','1/8 inch'],\ '1h':['Uncoated Single Glazing','Gray','1/4 inch'],\ '1i':['Uncoated Single Glazing','Blue-Green','1/4 inch'],\ '1j':['Reflective Single Glazing','Stainless Steel on Clear 8%','1/4 inch'],\ '1k':['Reflective Single Glazing','Stainless Steel on Clear 14%','1/4 inch'],\ '1l':['Reflective Single Glazing','Stainless Steel on Clear 20%','1/4 inch'],\ '1m':['Reflective Single Glazing','Stainless Steel on Green 14%','1/4 inch'],\ '1n':['Reflective Single Glazing','titanium reflective coating on Clear 20%','1/4 inch'],\ '1o':['Reflective Single Glazing','titanium reflective coating on Clear 30%','1/4 inch'],\ '5a':['Uncoated Double Glazing','Clear&Clear','1/8 inch'],\ '5b':['Uncoated Double Glazing','Clear&Clear','1/4 inch'],\ '5k':['Reflective Double Glazing','SS on Clear 8% &Clear','1/4 inch'],\ '5l':['Reflective Double Glazing','SS on Clear 14% &Clear','1/4 inch'],\ '17a':['Low-e Double Glazing, e=0.2 on surface 2','Low emissivity coating & Clear','1/8 inch'],\ '17b':['Low-e Double Glazing, e=0.2 on surface 2','Low emissivity coating & Clear','1/4 inch'],\ '17c':['Low-e Double Glazing, e=0.2 on surface 3','Clear & Low emissivity coating','1/8 inch'],\ '17d':['Low-e Double Glazing, e=0.2 on surface 3','Clear & Low emissivity coating','1/4 inch'],\ '21a':['Low-e Double Glazing, e=0.1 on surface 2','Low emissivity coating & Clear','1/8 inch'],\ 93 '21b':['Low-e Double Glazing, e=0.1 on surface 2','Low emissivity coating & Clear','1/4 inch'],\ '21c':['Low-e Double Glazing, e=0.1 on surface 3','Clear & Low emissivity coating','1/8 inch'],\ '21d':['Low-e Double Glazing, e=0.1 on surface 3','Clear & Low emissivity coating','1/4 inch'],\ '25a':['Low-e Double Glazing, e=0.05 on surface 2','Low emissivity coating & Clear','1/8 inch'],\ '25b':['Low-e Double Glazing, e=0.05 on surface 2','Low emissivity coating & Clear','1/4 inch'],\ '29a':['Triple Glazing','Clear & Clear & Clear','1/8 inch'],\ '29b':['Triple Glazing','Clear & Clear & Clear','1/4 inch'],\ '32a':['Triple Glazing, e=0.2 on surface 2','Low emissivity coating & Clear & Clear','1/8 inch'],\ '32b':['Triple Glazing, e=0.2 on surface 2','Low emissivity coating & Clear & Clear','1/4 inch'],\ '32c':['Triple Glazing, e=0.2 on surface 5','Clear & Clear & Low emissivity coating','1/8 inch'],\ '32d':['Triple Glazing, e=0.2 on surface 5','Clear & Clear & Low emissivity coating','1/4 inch'],\ '40a':['Triple Glazing, e=0.1 on surface 2 and 5','Clear & Low emissivity coating & Clear','1/8 inch'],\ '40b':['Triple Glazing, e=0.1 on surface 2 and 5','Clear & Low emissivity coating & Clear','1/4 inch'],\ '40c':['Triple Glazing, e=0.05 on surface 2 and 4','Low emissivity coating & Low emissivity coating & Clear','1/8 inch'],\ '40d':['Triple Glazing, e=0.05 on surface 2 and 4','Low emissivity coating & Low emissivity coating & Clear','1/4 inch'],\ } for ID in glassDict.keys(): if self.glassID == ID: info = glassDict[ID] if self.glassID not in glassDict.keys(): info = "OMG! Can't find this type of glass in library!" return info #/******************************************************************************************** #function in class to find SHGC_dir under specific incident angle def SHGC_dir(self): #The function to get interpolated SHGC value between two given angles def SHGCinAngle(limit_1,limit_2,value_1,value_2,angle): result = value_2 - (value_2-value_1)*(limit_2-angle)/(limit_2-limit_1) return result #The function to get the minimum item in a list of number def GetMinimum(list): if len(list)<=1: mini = list[0] else: mini = list[0] for i in range(len(list)): if list[i]<mini: mini = list[i] return mini 94 #The function to get the maximum item in a list of number def GetMaximum(list): if len(list)<=1: max = list[0] else: max = list[0] for i in range(len(list)): if list[i]>max: max = list[i] return max glass_SHGC_dict = {'1a':{0:0.86, 40:0.84, 50:0.82, 60:0.78, 70:0.67, 80:0.42},\ '1b':{0:0.81, 40:0.80, 50:0.78, 60:0.73, 70:0.62, 80:0.39},\ '1c':{0:0.73, 40:0.71, 50:0.68, 60:0.64, 70:0.55, 80:0.34},\ '5a':{0:0.76, 40:0.74, 50:0.71, 60:0.64, 70:0.50, 80:0.26},\ '5b':{0:0.70, 40:0.67, 50:0.64, 60:0.58, 70:0.45, 80:0.23},\ '5k':{0:0.13, 40:0.12, 50:0.12, 60:0.11, 70:0.10, 80:0.06},\ '5l':{0:0.17, 40:0.17, 50:0.16, 60:0.15, 70:0.13, 80:0.08},\ '17a':{0:0.65, 40:0.64, 50:0.61, 60:0.56, 70:0.43, 80:0.23},\ '17b':{0:0.60, 40:0.59, 50:0.57, 60:0.51, 70:0.40, 80:0.21},\ '17c':{0:0.70, 40:0.68, 50:0.65, 60:0.59, 70:0.46, 80:0.24},\ '17d':{0:0.65, 40:0.63, 50:0.60, 60:0.54, 70:0.42, 80:0.21},\ '21a':{0:0.65, 40:0.64, 50:0.62, 60:0.56, 70:0.43, 80:0.23},\ '21b':{0:0.60, 40:0.59, 50:0.57, 60:0.51, 70:0.40, 80:0.21},\ '21c':{0:0.60, 40:0.58, 50:0.56, 60:0.51, 70:0.40, 80:0.22},\ '21d':{0:0.56, 40:0.55, 50:0.52, 60:0.48, 70:0.38, 80:0.20},\ '25a':{0:0.41, 40:0.40, 50:0.38, 60:0.34, 70:0.27, 80:0.14},\ '25b':{0:0.37, 40:0.36, 50:0.34, 60:0.31, 70:0.24, 80:0.13},\ '29a':{0:0.68, 40:0.65, 50:0.62, 60:0.54, 70:0.39, 80:0.18},\ '29b':{0:0.61, 40:0.58, 50:0.55, 60:0.48, 70:0.35, 80:0.16},\ '32a':{0:0.60, 40:0.58, 50:0.55, 60:0.48, 70:0.35, 80:0.17},\ '32b':{0:0.53, 40:0.50, 50:0.47, 60:0.41, 70:0.29, 80:0.14},\ '32c':{0:0.62, 40:0.60, 50:0.57, 60:0.49, 70:0.36, 80:0.16},\ '32d':{0:0.56, 40:0.53, 50:0.50, 60:0.44, 70:0.32, 80:0.15},\ '40a':{0:0.41, 40:0.39, 50:0.37, 60:0.32, 70:0.24, 80:0.12},\ '40b':{0:0.36, 40:0.34, 50:0.32, 60:0.28, 70:0.21, 80:0.10},\ '40c':{0:0.27, 40:0.25, 50:0.24, 60:0.21, 70:0.16, 80:0.08},\ '40d':{0:0.26, 40:0.25, 50:0.23, 60:0.21, 70:0.16, 80:0.08}\ } try: if self.incAngle<0 or self.incAngle>80: error = "Warning! Incident Angle must be between 0 and 80 in degree!" return error except: #Find related glass from library accoeding to input glass ID for ID in glass_SHGC_dict.keys(): if self.glassID == ID: valueDict = glass_SHGC_dict[ID] deltas = [] deltas_pos = [] deltas_neg = [] 95 for i in range(len(valueDict.keys())): Delta = self.incAngle - valueDict.keys()[i] deltas.append(Delta) #if the incident angle equals to one of the given angles, carry out following code: try: for delta in deltas: if delta==0: SHGC_result = valueDict[self.incAngle] break return SHGC_result #if the incident angle lies betwwen two of the given angles, carry out following code: except: for delta in deltas: if delta>0: deltas_pos.append(delta) if delta<0: deltas_neg.append(delta) low = self.incAngle - GetMinimum(deltas_pos) up = self.incAngle + fabs(GetMaximum(deltas_neg)) low_value = valueDict[low] up_value = valueDict[up] SHGC_result = SHGCinAngle(low,up,low_value,up_value,self.incAngle) return SHGC_result if self.glassID not in glass_SHGC_dict.keys(): SHGC_result = "Not Available" return SHGC_result #/******************************************************************************************* def SHGC_dif(self): glass_SHGC_dif_dict = {'1a':0.78,'1b':0.73,'1c':0.65,'1d':0.54,'1e':0.63,'1f':0.54,'1g':0.63,'1h':0.52,'1i':0.55,\ '1j':0.18,'1k':0.23,'1l':0.28,'1m':0.23,'1n':0.27,'1o':0.35,\ '5a':0.66,'5b':0.60,\ '5k':0.11,'5l':0.16,\ '17a':0.57,'17b':0.53,\ '17c':0.61,'17d':0.56,\ '21a':0.57,'21b':0.53,\ '21c':0.52,'21d':0.49,\ '25a':0.36,'25b':0.32,\ '29a':0.57,'29b':0.51,\ '32a':0.51,'32b':0.44,\ 96 '32c':0.52,'32d':0.47,\ '40a':0.34,'40b':0.30,\ '40c':0.23,'40d':0.22\ } for ID in glass_SHGC_dif_dict.keys(): if self.glassID == ID: SHGC_dif = glass_SHGC_dif_dict[ID] if self.glassID not in glass_SHGC_dif_dict.keys(): SHGC_dif = "Not Available" return SHGC_dif #/******************************************************************************************** def VisibleTransmittance(self): glass_Tv_dict = {'1a':0.90,'1b':0.88,'1c':0.68,'1d':0.54,'1e':0.82,'1f':0.76,'1g':0.62,'1h':0.46,'1i':0.75,\ '1j':0.08,'1k':0.14,'1l':0.20,'1m':0.12,'1n':0.20,'1o':0.30,\ '5a':0.81,'5b':0.78,\ '5k':0.07,'5l':0.13,\ '17a':0.76,'17b':0.73,\ '17c':0.76,'17d':0.73,\ '21a':0.76,'21b':0.72,\ '21c':0.75,'21d':0.72,\ '25a':0.72,'25b':0.70,\ '29a':0.74,'29b':0.70,\ '32a':0.68,'32b':0.64,\ '32c':0.68,'32d':0.64,\ '40a':0.62,'40b':0.59,\ '40c':0.58,'40d':0.55\ } for ID in glass_Tv_dict.keys(): if self.glassID == ID: VisibleTransmittance = glass_Tv_dict[ID] if self.glassID not in glass_Tv_dict.keys(): VisibleTransmittance = "Not Available" return VisibleTransmittance #/******************************************************************************************** def SolarTransmittance(self): #The function to get interpolated SHGC value between two given angles def TsolinAngle(limit_1,limit_2,value_1,value_2,angle): result = value_2 - (value_2-value_1)*(limit_2-angle)/(limit_2-limit_1) return result #The function to get the minimum item in a list of number def GetMinimum(list): if len(list)<=1: mini = list[0] else: mini = list[0] for i in range(len(list)): if list[i]<mini: mini = list[i] return mini 97 #The function to get the maximum item in a list of number def GetMaximum(list): if len(list)<=1: max = list[0] else: max = list[0] for i in range(len(list)): if list[i]>max: max = list[i] return max glass_Tsol_dict = {'1a':{0:0.83, 40:0.82, 50:0.80, 60:0.75, 70:0.64, 80:0.39},\ '1b':{0:0.77, 40:0.75, 50:0.73, 60:0.68, 70:0.58, 80:0.35},\ '1c':{0:0.65, 40:0.62, 50:0.59, 60:0.55, 70:0.46, 80:0.27},\ '5a':{0:0.70, 40:0.68, 50:0.65, 60:0.58, 70:0.44, 80:0.21},\ '5b':{0:0.61, 40:0.58, 50:0.55, 60:0.48, 70:0.36, 80:0.17},\ '5k':{0:0.05, 40:0.05, 50:0.04, 60:0.04, 70:0.03, 80:0.01},\ '5l':{0:0.08, 40:0.08, 50:0.08, 60:0.07, 70:0.05, 80:0.02},\ '17a':{0:0.59, 40:0.56, 50:0.54, 60:0.48, 70:0.36, 80:0.18},\ '17b':{0:0.51, 40:0.48, 50:0.46, 60:0.41, 70:0.30, 80:0.14},\ '17c':{0:0.59, 40:0.56, 50:0.54, 60:0.48, 70:0.36, 80:0.18},\ '17d':{0:0.51, 40:0.48, 50:0.46, 60:0.41, 70:0.30, 80:0.14},\ '21a':{0:0.59, 40:0.56, 50:0.54, 60:0.48, 70:0.36, 80:0.18},\ '21b':{0:0.51, 40:0.48, 50:0.46, 60:0.41, 70:0.30, 80:0.14},\ '21c':{0:0.48, 40:0.45, 50:0.43, 60:0.37, 70:0.27, 80:0.13},\ '21d':{0:0.42, 40:0.40, 50:0.37, 60:0.32, 70:0.24, 80:0.11},\ '25a':{0:0.37, 40:0.35, 50:0.33, 60:0.29, 70:0.22, 80:0.11},\ '25b':{0:0.30, 40:0.28, 50:0.27, 60:0.23, 70:0.17, 80:0.08},\ '29a':{0:0.60, 40:0.57, 50:0.53, 60:0.45, 70:0.31, 80:0.12},\ '29b':{0:0.49, 40:0.45, 50:0.42, 60:0.35, 70:0.24, 80:0.09},\ '32a':{0:0.50, 40:0.47, 50:0.44, 60:0.38, 70:0.26, 80:0.10},\ '32b':{0:0.39, 40:0.36, 50:0.33, 60:0.27, 70:0.17, 80:0.06},\ '32c':{0:0.50, 40:0.47, 50:0.44, 60:0.38, 70:0.26, 80:0.10},\ '32d':{0:0.39, 40:0.36, 50:0.33, 60:0.27, 70:0.17, 80:0.06},\ '40a':{0:0.29, 40:0.26, 50:0.24, 60:0.20, 70:0.13, 80:0.05},\ '40b':{0:0.24, 40:0.21, 50:0.19, 60:0.16, 70:0.10, 80:0.03},\ '40c':{0:0.18, 40:0.17, 50:0.16, 60:0.13, 70:0.08, 80:0.03},\ '40d':{0:0.15, 40:0.14, 50:0.12, 60:0.10, 70:0.07, 80:0.02}\ } try: if self.incAngle<0 or self.incAngle>80: error = "Warning! Incident Angle must be between 0 and 80 in degree!" return error except: #Find related glass from library accoeding to input glass ID for ID in glass_Tsol_dict.keys(): if self.glassID == ID: valueDict = glass_Tsol_dict[ID] deltas = [] deltas_pos = [] deltas_neg = [] 98 for i in range(len(valueDict.keys())): Delta = self.incAngle - valueDict.keys()[i] deltas.append(Delta) #if the incident angle equals to one of the given angles, carry out following code: try: for delta in deltas: if delta==0: Tsol_result = valueDict[self.incAngle] break return Tsol_result #if the incident angle lies betwwen two of the given angles, carry out following code: except: for delta in deltas: if delta>0: deltas_pos.append(delta) if delta<0: deltas_neg.append(delta) low = self.incAngle - GetMinimum(deltas_pos) up = self.incAngle + fabs(GetMaximum(deltas_neg)) low_value = valueDict[low] up_value = valueDict[up] Tsol_result = TsolinAngle(low,up,low_value,up_value,self.incAngle) return Tsol_result if self.glassID not in glass_Tsol_dict.keys(): Tsol_result = "Not Available" return Tsol_result #/******************************************************************************************** output = [] myGlass = Glass(IN[0],IN[1]) info = myGlass.glassInfo() SHGC = myGlass.SHGC_dir() SHGC_dif = myGlass.SHGC_dif() VisibleTransmittance = myGlass.VisibleTransmittance() SolarTransmittance = myGlass.SolarTransmittance() output.append(info) output.append(SHGC) output.append(SHGC_dif) output.append(VisibleTransmittance) output.append(SolarTransmittance) 99 #Assign your output to the OUT variable. OUT = output Appendix C: Python Script of Solar Heat Gain Calculation and Data Visualization #Copyright: Kunyu Luo import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. DirectRadiation = IN[0] #Default unit of radiation: BTU/ft2 DiffuseRadiation = IN[1] glassArea = IN[2] #Default unit of area: ft2 UnshadedFraction = IN[3] ExposureCoeff = IN[4] EAC = IN[5] SHGC_dir = IN[6] SHGC_dif = IN[7] boolean_1 = IN[8] #Set this boolean to "True" for unit W, and "False" for unit Btu/hr boolean_2 = IN[9] #Set this boolean to "True" to output summation, "False" to output hourly solar heat gain data respectively boolean_3 = IN[10] #Set this boolean to "True" to display the trendline of data visualization chart boolean_4 = IN[11] AnchorPt = IN[12] #/******************************************************************************************** #Assign a defaut point for AnchorPt AnchorPt = Point.ByCoordinates(0,0,0) if IN[12]: AnchorPt = IN[12] #/******************************************************************************************** #The class for data visualization class DataVisualization(): def __init__(self,dataList,anchor): self.dataList = dataList self.anchor = anchor #self.bool = bool def Column(self): xAxis = Vector.ByCoordinates(1,0,0) yAxis = Vector.ByCoordinates(0,1,0) zAxis = Vector.ByCoordinates(0,0,1) length = 1 gap = 0.2 factor = 100 num = len(self.dataList) #create the bottom polygon points = [] point_1 = self.anchor point_2 = Geometry.Translate(point_1,xAxis,length) point_3 = Geometry.Translate(point_2,yAxis,length) point_4 = Geometry.Translate(point_1,yAxis,length) 100 points.append(point_1) points.append(point_2) points.append(point_3) points.append(point_4) polygons = [] columns = [] polygon_1 = Polygon.ByPoints(points) polygons.append(polygon_1) #create columns based on the value of SHG column_1 = Curve.ExtrudeAsSolid(polygon_1,zAxis,self.dataList[0]/factor) columns.append(column_1) for i in range(1,num): polygon = Geometry.Translate(polygon_1,xAxis,i*(length+gap)) polygons.append(polygon) column = Curve.ExtrudeAsSolid(polygon,zAxis,self.dataList[i]/factor) columns.append(column) return columns def Trendline(self): #define the basic parameters for later use xAxis = Vector.ByCoordinates(1,0,0) yAxis = Vector.ByCoordinates(0,1,0) zAxis = Vector.ByCoordinates(0,0,1) length = 1 gap = 0.2 factor = 100 radius = 0.05 num = len(self.dataList) #create the little sphere around each data spot for better visualiztion points_top = [] dots = [] for i in range(num): point_bottom = Geometry.Translate(self.anchor,xAxis,0.5*length+i*(length+gap)) point_top = Geometry.Translate(point_bottom,zAxis,self.dataList[i]/factor) points_top.append(point_top) dot = Sphere.ByCenterPointRadius(point_top,radius*4) dots.append(dot) #Create trendline to show the tendency of the chnage of SHG Trendline = NurbsCurve.ByPoints(points_top) dots.append(Trendline) #Make the trendline curve thicker (optional) normal = Curve.TangentAtParameter(Trendline,0) circle = Circle.ByCenterPointRadiusNormal(Curve.PointAtParameter(Trendline,0),radius,normal) try: solid = Curve.SweepAsSolid(circle,Trendline) dots.append(solid) 101 except: pass return dots #/******************************************************************************************** #The function to calculate solar heat gain through the fenestration def SolarHeatGain(E_dir,E_dif,A,Fu,Ce,EAC,SHGC_dir,SHGC_dif): Q_dir = A*E_dir*Cos*(Fu*SHGC_dir + (1-Fu)*EAC*SHGC_dif) Q_dif = A*E_dif*(Ce*SHGC_dif + (1-Ce)*EAC*SHGC_dif) heatGain = Q_dir + Q_dif return heatGain #/******************************************************************************************** #The function to get summation of a list of number def Sum(list): sum = 0 for item in list: sum = sum + item return sum #/******************************************************************************************** #The function to remap value def MapTo(numList,rangeMin,rangeMax,targetMin,targetMax): newNum = [] for num in numList: if num>rangeMax: target_num = targetMax newNum.append(target_num) else: target_num = targetMin + (targetMax - targetMin)*(num - rangeMin)/(rangeMax - rangeMin) newNum.append(target_num) return newNum #/******************************************************************************************** #adjust the structure of list by transposing it radiation = [] radiation.append(IN[0]) radiation.append(IN[1]) radiation_hour = zip(*radiation) #If the input radiation is a list of value, carry out following code: try: HeatGains = [] for radiationCombo in radiation_hour: HeatGain = SolarHeatGain(radiationCombo[0],radiationCombo[1],IN[2],IN[3],IN[4],IN[5],IN[6],IN[7]) HeatGains.append(HeatGain) #If the input radiation is a single value, carry out following code: except: HeatGains = SolarHeatGain(radiation_hour[0],radiation_hour[1],IN[2],IN[3],IN[4],IN[5],IN[6],IN[7]) 102 #/******************************************************************************************** output = [] #Conversion factor for converting unit from Btu/ft2 to Wh/m2 ConvertFactor_power = 3.1544 #Conversion factor for converting unit from Btu to Wh ConvertFactor_energy = 0.2931 #The following code is used to control the structure of the output list: #if the summation value is selected to be calculated, carry out the following code if boolean_2 == True: HeatGains = Sum(HeatGains) if boolean_1 == True: HeatGains = HeatGains*ConvertFactor_energy output.append(HeatGains) else: output.append(HeatGains) output.append("3D Chart is Not Available") output.append("Trendline is Not Available") #if hourly data is selected to be ouput, carry out the following code else: #if to select BTU as unit of output number, carry out following code if boolean_1 == True: HeatGain_new = [] for result in HeatGains: result_new = result*ConvertFactor_energy HeatGain_new.append(result_new) HeatGains = HeatGain_new output.append(HeatGains) #if 3D Chart is selected to be displayed, carry out following code if boolean_4 == True: #Data Visualization: Create column to visualize the data myData = DataVisualization(HeatGains,AnchorPt) columns = myData.Column() trendline = myData.Trendline() output.append(columns) #if trendline is selected to be displayed, carry out following code if boolean_3 == True: output.append(trendline) else: output.append("Trendline is Not Available") else: output.append("3D Chart is Not Available") output.append("Trendline is Not Available") #if to select W as unit of output number, carry following code else: output.append(HeatGains) if boolean_4 == True: #Data Visualization: Create column to visualize the data myData = DataVisualization(HeatGains,AnchorPt) columns = myData.Column() trendline = myData.Trendline() 103 output.append(columns) if boolean_3 == True: output.append(trendline) else: output.append("Trendline is Not Available") else: output.append("3D Chart is Not Available") output.append("Trendline is Not Available") #/******************************************************************************************** #Remap the SHG value to range 0 to 1 for adding color to the columns newSHG = MapTo(HeatGains,0,2000,0,1) output.append(newSHG) #/******************************************************************************************** #Assign your output to the OUT variable. OUT = output Appendix D: Python Script of Find Shadow on the Window import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. curves = IN[0] glass = IN[1] northVector = IN[2] sunAzimuth = IN[3] sunAltitude = IN[4] boolean = IN[5] #/******************************************************************************************** *****************/ #The function to calculate total glass area def TotalArea(): #if the input glass surface is a list of surfaces, carry out following code: try: glassArea = 0 for srf in IN[1]: glassArea = glassArea + srf.Area #if the input glass surface is a single surface or polysurface, carry out following code: except: glassArea = IN[1].Area return glassArea #/******************************************************************************************** *****************/ #The function is to get reversed sun vector def GetReversedSunVectorAtPt(point): Dist = 3 P_move = Geometry.Translate(point,northVector,Dist) #Step#2:build vector between original points and moved points vector_hor = Vector.ByTwoPoints(point,P_move) 104 #Step#3:rotate vector based on sun azimuth angle_azi = 180-sunAzimuth zAxis = Vector.ByCoordinates(0,0,1) baseplane_azi = Plane.ByOriginNormal(point,zAxis) vector_azi = Vector.Rotate(vector_hor,baseplane_azi,angle_azi) #Step#4:rotate vector based on sun altitude origin = Plane.ByOriginNormal(point,zAxis) eastVector = Vector.Rotate(northVector,origin,90) baseplane_alt = Plane.ByOriginNormal(point,eastVector) vector_alt = Vector.Rotate(vector_azi,baseplane_alt,sunAltitude) reVec = Vector.Reverse(vector_alt) return reVec #/******************************************************************************************** *****************/ #This function is to get vector based on only sun azimuth angle def azimuthVec(): baseVector = Vector.Reverse(northVector) original = Point.ByCoordinates(0,0,0) normal = Vector.ByCoordinates(0,0,1) basePlane = Plane.ByOriginNormal(original,normal) angle = math.fabs(sunAzimuth - 180) vector = Vector.Rotate(baseVector,basePlane,angle) return vector #/******************************************************************************************** *****************/ #The function to get the normal vector of the input window surface: def GetIncidenceAngle(srf): #if the input surface is a single surface or a polysurface: try: bbox = BoundingBox.ByGeometry(srf) pt = bbox.MaxPoint normal = Surface.NormalAtPoint(srf,pt) sunlight = azimuthVec() angle = Vector.AngleBetween(normal,sunlight) if angle > 90: angle = 180 - angle else: pass #if the input surface is a list of surfaces: except: object = srf[0] bbox = BoundingBox.ByGeometry(srf) pt = bbox.MaxPoint normal = Surface.NormalAtPoint(object,pt) sunlight = azimuthVec() angle = Vector.AngleBetween(normal,sunlight) if angle > 90: 105 angle = 180 - angle else: pass return angle #/******************************************************************************************** *****************/ #The function to move an object along the sunlight incident direction def MoveAlongSunlight(shape): Dist = 10 bbox = BoundingBox.ByGeometry(shape) oPt = bbox.MaxPoint #Step#1:get the horizontal lines P_move = Geometry.Translate(oPt,northVector,Dist) #Step#2:build vector between original points and moved points vector_hor = Vector.ByTwoPoints(oPt,P_move) #Step#3:rotate vector based on sun azimuth angle_azi = 180-sunAzimuth zAxis = Vector.ByCoordinates(0,0,1) baseplane_azi = Plane.ByOriginNormal(oPt,zAxis) vector_azi = Vector.Rotate(vector_hor,baseplane_azi,angle_azi) #Step#4:rotate vector based on sun altitude origin = Plane.ByOriginNormal(oPt,zAxis) eastVector = Vector.Rotate(northVector,origin,90) baseplane_alt = Plane.ByOriginNormal(oPt,eastVector) vector_alt = Vector.Rotate(vector_azi,baseplane_alt,sunAltitude) #Step#5:Move point along the target vector P_target = Geometry.Translate(oPt,vector_alt,Dist) G_target = Geometry.Translate(shape,vector_alt,Dist) return G_target #/******************************************************************************************** *****************/ #The function to move an object towards the window surface horizontally def MoveHorizontal(object): Dist = 10 #The function to find the normal vector of surface def GetNormal(surface): #if the input glass surface is a list of surfaces, carry out following code: try: surface = IN[1][0] #if the input glass surface is a single surface or polysurface, carry out following code: except: surface = IN[1] bbox = BoundingBox.ByGeometry(surface) 106 oPt = bbox.MaxPoint normalVec = Surface.NormalAtPoint(surface,oPt) moveVec = Vector.Reverse(normalVec) angle = Vector.AngleBetween(normalVec,northVector) if angle<90: moveVec = normalVec else: moveVec = Vector.Reverse(normalVec) return moveVec moveVec = GetNormal(IN[1]) G_target = Geometry.Translate(object,moveVec,Dist) return G_target #/******************************************************************************************** *****************/ #The funtion to create a solid betwwen original shade perometer curves and moved perimeters curvs along the sun vector def CreatSolid(curves_2): #if the input perimeter curves is a list of curve rather than a single curve geometry, carry out following code try: shadows = [] try: Lines = [] halfCircles = [] for curve in curves: startVec = Curve.TangentAtParameter(curve,0) endVec = Curve.TangentAtParameter(curve,1) angle = Vector.AngleBetween(startVec,endVec) if angle==0: Lines.append(curve) else: halfCircles.append(curve) num = len(halfCircles) Circles = [] Circles_2 = [] shadows_part1 = [] for i in range(0,num,2): upCircle = halfCircles[i] lowCircle = halfCircles[i+1] circle_1 = Curve.Join(upCircle,lowCircle) circle_2 = MoveAlongSunlight(circle_1) crosssection = [] crosssection.append(circle_1) crosssection.append(circle_2) shadow_part1 = Solid.ByLoft(crosssection) shadows_part1.append(shadow_part1) outerCurve_1 = PolyCurve.ByJoinedCurves(Lines) outerCurve_2 = MoveAlongSunlight(outerCurve_1) 107 cross = [] cross.append(outerCurve_1) cross.append(outerCurve_2) shadow_part2 = Solid.ByLoft(cross) shadows = Solid.DifferenceAll(shadow_part2,shadows_part1) except: for crv_group in IN[0]: polyCur_1 = PolyCurve.ByJoinedCurves(crv_group) polyCur_2 = MoveAlongSunlight(polyCur_1) crosssection = [] crosssection.append(polyCur_1) crosssection.append(polyCur_2) Shadow = Solid.ByLoft(crosssection) shadows.append(Shadow) return shadows #if the input perimeter curve is a single curve geometry, carry out following code except: curves_1 = IN[0] polyCur_1 = PolyCurve.ByJoinedCurves(curves_1) polyCur_2 = PolyCurve.ByJoinedCurves(curves_2) crosssection = [] crosssection.append(polyCur_1) crosssection.append(polyCur_2) Shadow = Solid.ByLoft(crosssection) return Shadow #/******************************************************************************************** *****************/ #The funtion to create a solid betwwen original shade perometer curves and moved perimeters curvs along the sun vector def CreatSolid_hor(curves_2): #if the input perimeter curves is a list of curve rather than a single curve geometry, carry out following code try: shadows = [] try: Lines = [] halfCircles = [] for curve in curves: startVec = Curve.TangentAtParameter(curve,0) endVec = Curve.TangentAtParameter(curve,1) angle = Vector.AngleBetween(startVec,endVec) if angle==0: Lines.append(curve) else: halfCircles.append(curve) 108 num = len(halfCircles) Circles = [] Circles_2 = [] shadows_part1 = [] for i in range(0,num,2): upCircle = halfCircles[i] lowCircle = halfCircles[i+1] circle_1 = Curve.Join(upCircle,lowCircle) circle_2 = MoveHorizontal(circle_1) crosssection = [] crosssection.append(circle_1) crosssection.append(circle_2) shadow_part1 = Solid.ByLoft(crosssection) shadows_part1.append(shadow_part1) outerCurve_1 = PolyCurve.ByJoinedCurves(Lines) outerCurve_2 = MoveHorizontal(outerCurve_1) cross = [] cross.append(outerCurve_1) cross.append(outerCurve_2) shadow_part2 = Solid.ByLoft(cross) shadows = Solid.DifferenceAll(shadow_part2,shadows_part1) except: for crv_group in IN[0]: polyCur_1 = PolyCurve.ByJoinedCurves(crv_group) polyCur_2 = MoveHorizontal(polyCur_1) crosssection = [] crosssection.append(polyCur_1) crosssection.append(polyCur_2) Shadow = Solid.ByLoft(crosssection) shadows.append(Shadow) return shadows #if the input perimeter curve is a single curve geometry, carry out following code except: curves_1 = IN[0] polyCur_1 = PolyCurve.ByJoinedCurves(curves_1) polyCur_2 = PolyCurve.ByJoinedCurves(curves_2) crosssection = [] crosssection.append(polyCur_1) crosssection.append(polyCur_2) Shadow = Solid.ByLoft(crosssection) return Shadow #/******************************************************************************************** *****************/ #The function to find shadow on the given glass surface def FindShadow(geo_1): 109 #if the input geometry(shading geometry) is list of geometry rather than a single geometry, carry out following code try: shadows = [] for geo in geo_1: #if the input glass surface is a list of surface, carry out following code try: geo_2 = PolySurface.ByJoinedSurfaces(IN[1]) shadow = Geometry.Intersect(geo,geo_2) shadows.append(shadow) #if the input glass surface is polysurface, carry out following code except: geo_2 = IN[1] shadow = Geometry.Intersect(geo,geo_2) shadows.append(shadow) return shadows #if the input geometry is single geometry, carry out following code except: try: geo_2 = PolySurface.ByJoinedSurfaces(IN[1]) shaDow = Geometry.Intersect(geo_1,geo_2) except: geo_2 = IN[1] shaDow = Geometry.Intersect(geo_1,geo_2) #if shadow == "Null": #pass return shaDow #/******************************************************************************************** *****************/ #move the original curves towards the window horizontally curve_hor = [] #if input perimeter curve is more than one list of curce, carry out following code try: for crv_group in curves: for curve in crv_group: Tar_G_hor = MoveHorizontal(curve) curve_hor.append(Tar_G_hor) #if input perimeter curve is only one list of curve, carry out following code except: for curve in curves: Tar_G_hor = MoveHorizontal(curve) curve_hor.append(Tar_G_hor) #Get the solid Shadow_solid_hor = CreatSolid_hor(curve_hor) #Find the shadow Shadow_hor = FindShadow(Shadow_solid_hor) #/******************************************************************************************** ****************/ #Calculate the exposed area exposedArea = 0 try: 110 exposedSrfs = [] for sin_shadow in Shadow_hor: for area in sin_shadow: exposedArea = exposedArea + area.Area exposedSrfs.append(area) totalExpoSrf = PolySurface.ByJoinedSurfaces(exposedSrfs) except: for area in Shadow_hor: exposedArea = exposedArea + area.Area totalExpoSrf = PolySurface.ByJoinedSurfaces(Shadow_hor[0:len(Shadow_hor)]) #/*******************************************************************************************/ #move the original curves along the sunlight incident direction curve_2 = [] #if input perimeter curve is more than one list of curce, carry out following code try: for crv_group in curves: for curve in crv_group: Tar_G = MoveAlongSunlight(curve) curve_2.append(Tar_G) #if input perimeter curve is only one list of curve, carry out following code except: for curve in curves: Tar_G = MoveAlongSunlight(curve) curve_2.append(Tar_G) #Get the solid Shadow_solid = CreatSolid(curve_2) #Find the shadow Shadow = FindShadow(Shadow_solid) try: #eliminate the overlaped part of the shadow area overlaps = [] sectionAreas = 0 #if there are more than two surfaces in the input list: for i in range(0,len(Shadow)): for j in range(i+1,len(Shadow)): bool = Geometry.DoesIntersect(Shadow[i][0],Shadow[j][0]) if bool: try: overlap = Geometry.Intersect(Shadow[i][0],Shadow[j][0]) sectionArea = overlap[0].Area sectionAreas = sectionAreas + sectionArea overlaps.append(overlap) except: pass #Calculate the shadow area shadowArea = 0 try: surfaces = [] for sin_shadow in Shadow: for area in sin_shadow: shadowArea = shadowArea + area.Area surfaces.append(area) 111 totalSrf = PolySurface.ByJoinedSurfaces(surfaces) except: for area in Shadow: shadowArea = shadowArea + area.Area totalSrf = PolySurface.ByJoinedSurfaces(Shadow[0:len(Shadow)]) except: totalSrf = "No shadow at this moment" shadowArea = 0 sectionAreas = 0 #/*******************************************************************************************/ #Calculate fraction coefficient Fu and exposeure coefficient Ce A_total = TotalArea() Fu = (A_total - shadowArea + sectionAreas)/A_total Ce = (A_total - exposedArea)/A_total #/*******************************************************************************************/ #Create the line to visualize sunlight direction sunLen = 2 #if the input perimeter curve is more than one list of curve, carry out following code try: bbox = BoundingBox.ByGeometry(curves) sunPt = bbox.MaxPoint reVector = GetReversedSunVectorAtPt(sunPt) sunLines = Line.ByStartPointDirectionLength(sunPt,reVector,sunLen) #if the input perimeter curve is only one list of curve, carry out following code except: sunLines = [] for crv_group in curves: bbox = BoundingBox.ByGeometry(crv_group) sunPt = bbox.MaxPoint reVector = GetReversedSunVectorAtPt(sunPt) sunLine = Line.ByStartPointDirectionLength(sunPt,reVector,sunLen) sunLines.append(sunLine) #/*******************************************************************************************/ #calculate the incidence angle: IncidenceAngle = GetIncidenceAngle(IN[1]) IncidenceAngle = math.fabs(math.cos(math.radians(IncidenceAngle))) output = [] output.append(totalSrf) output.append(Ce) output.append(Fu) output.append(IncidenceAngle) if IN[5] == True: output.append(sunLines) else: output.append("Sun Line is Not Available") #Assign your output to the OUT variable. OUT = output 112 Appendix E: Python Script of Luminance Distribution Calculator import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. sunAltitude = IN[0] sunAzimuth = IN[1] J = IN[2] Beta = 0.22 moisture_w = 0.1 #calculate turbidity factor T: T_turbidity = ((sunAltitude+85)/(39.5*math.pow(math.e,-moisture_w)+47.4) + 0.1) + (16 + 0.22*moisture_w)*Beta #illuminance distribution of clear sky #input: beta --- Angstrom's turbidity coefficient # w --- amount of precipitable moisture in the atmosphere (cm) def ClearSkyLumDist(skyAzimuth,skyAltitude,sunAzimuth,sunAltitude): #calculate the angle between sky element and sun cosGamma = math.sin(math.radians(skyAltitude))*math.sin(math.radians(sunAltitude)) + math.cos(math.radians(skyAltitude))*math.cos(math.radians(sunAltitude))*math.cos(math.radians(skyAzimuth- sunAzimuth)) gamma_R = math.acos(cosGamma) gamma = math.degrees(gamma_R) #calculate zenith luminance Lz (unit: kcd/m2) if sunAltitude<=60: if T_turbidity>3: Lz = (1.34*T_turbidity-3.46)*math.tan(math.radians(sunAltitude)) + 0.1*T_turbidity + 0.9 if T_turbidity<=3: Lz = 0.56*math.tan(math.radians(sunAltitude)) + 1.2 if sunAltitude>60: if T_turbidity>3: Lz_60 = (1.34*T_turbidity-3.46)*math.tan(math.radians(60)) + 0.1*T_turbidity + 0.9 Lz = (3.25*Lz_60*math.sin(math.radians(sunAltitude)))/((3.25-0.1050*(sunAltitude-60) + 0.001*math.pow((sunAltitude-60),2))*math.sin(math.radians(60))) if T_turbidity<=3: Lz_60 = 0.56*math.tan(math.radians(60)) + 1.2 Lz = (3.25*Lz_60*math.sin(math.radians(sunAltitude)))/( (3.25 - 0.1050*(sunAltitude- 60) + 0.001*math.pow((sunAltitude-60),2))*math.sin(math.radians(60)) ) #get the equation of clear sky illuminance distribution (unit: kcd/m2) a = 0.91 + 10*math.pow(math.e,-3*gamma) + 0.45*math.pow(math.cos(math.radians(gamma)),2) b = 1 - math.pow(math.e,-0.32/math.sin(math.radians(skyAltitude))) c = 0.27385*(0.91 + 10*math.pow(math.e,(-3*(90-sunAltitude))) + 0.45*math.pow(math.sin(math.radians(sunAltitude)),2)) L_clearSky = Lz*(a*b/c) return L_clearSky #Set number of sky azimuth as 18 and sky altitude as 8 to give a +-1% accuracy in the calculation of E_hcl skyAzimuNum = 18 skyAltiNum = 8 113 deltaSkyAzimu = 360/skyAzimuNum deltaSkyAlti = 90/skyAltiNum skyAzimui = [] skyAltij = [] for i in range(1,skyAzimuNum+1): skyAzimui.append((i-0.5)*deltaSkyAzimu) for j in range(1,skyAltiNum+1): skyAltij.append((j-0.5)*deltaSkyAlti) #Calculate exterior horizontal illuminance (Unit: ) E_hcl = 0 for azimuth in skyAzimui: for altitude in skyAltij: E_hcl = E_hcl + ClearSkyLumDist(azimuth,altitude,sunAzimuth,sunAltitude)*math.sin(math.radians(altitude))*math.cos(math.radia ns(altitude))*deltaSkyAzimu*deltaSkyAlti L = ClearSkyLumDist(90,60,sunAzimuth,sunAltitude) #Calculate the E_DN (exterior direct normal illuminance) (Unit: klx) #first, calculate direct normal solar illuminance (Unit: klx) #J = 250 ww = 360.0000/366.0000 h = 0.032 E_DNext = 126.82 +4.248*math.cos(math.radians(ww*J)) +0.0825*math.cos(math.radians(2*ww*J)) - 0.00043*math.cos(math.radians(3*ww*J))\ + 0.1691*math.sin(math.radians(ww*J)) + 0.00914*math.sin(math.radians(2*ww*J)) +0.01726*math.sin(math.radians(ww*J)) #second, claculate a_R --- atmosphere extinction coefficient due to Rayleigh scattering if Beta<0.075: a_R = 0.1512 - 0.0262*T_turbidity if 0.075<=Beta and Beta<0.15: a_R = 0.1656 - 0.0215*T_turbidity if Beta>0.15: a_R = 0.2021 - 0.0193*T_turbidity #third, calculate m --- optical air mass of atmosphere m = (1-0.1*h)/(math.sin(math.radians(sunAltitude)) + 0.15* math.pow((sunAltitude+3.885),-1.253)) #Fourth, calculate exterior direct normal illuminance (Unit: klx) E_DN = E_DNext*math.pow(math.e,-a_R*m*T_turbidity) E_DN = E_DN*1000 output = [] output.append(E_DN) output.append(E_hcl) #Assign your output to the OUT variable. OUT = output Appendix F: Python Script of Solid Angle Calculation import clr 114 clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. srf = IN[0] udiv = IN[1] vdiv = IN[2] refP = IN[3] ShadingSrf = IN[4] L_sky = IN[5] Lw = IN[6] # Panel division class class PanelDivision: # divide surface def QuadDivision(self, srf, udiv, vdiv, refPt,shading): panels = [] polys = [] quads = [] ShadedCenPts = [] UnshadedCenPts = [] distance = [] ShadedLines = [] UnshadedLines = [] vectors = [] normals = [] angles_B = [] ShadedSolidangles = [] UnshadedSolidangles = [] srfArea = srf.Area dArea = srfArea/(udiv*vdiv) ustep = 1.0/udiv vstep = 1.0/vdiv zAxis = Vector.ByCoordinates(0,0,1) length = 40 shaded_sum = 0 unshaded_sum = 0 for i in range(0,int(udiv)): for j in range(0,int(vdiv)): quad = [] #XYZ Quads cornerA = srf.PointAtParameter(i*ustep, j*vstep) cornerB = srf.PointAtParameter((i+1)*ustep,j*vstep) cornerC = srf.PointAtParameter((i+1)*ustep,(j+1)*vstep) cornerD = srf.PointAtParameter(i*ustep,(j+1)*vstep) #Append to quad quad.append(cornerA) quad.append(cornerB) 115 quad.append(cornerC) quad.append(cornerD) #Append quads quads.append(quad) #polygons poly = Polygon.ByPoints(quad) polys.append(poly) #panels panel = Surface.ByPerimeterPoints(quad) panels.append(panel) #center points cenPt = Polygon.Center(poly) #cenPts.append(cenPt) #sunlight ray vector vector = Vector.ByTwoPoints(refPt,cenPt) vectors.append(vector) #lines (for visualization) line = Line.ByStartPointDirectionLength(refPt,vector,length) bool = Geometry.DoesIntersect(line,shading) #window normal vector normal = Surface.NormalAtPoint(panel,cenPt) normals.append(normal) #distance from reference point to center points dist = Geometry.DistanceTo(cenPt,refPt) distance.append(dist) #angle_B angle = Vector.AngleBetween(normal,vector) if angle < 90: pass else: angle = 180 - angle angles_B.append(angle) cosB = math.cos(math.radians(angle)) cosB = float('%.4f'%cosB) #gamma gamma = Vector.AngleBetween(zAxis,vector) cosG = math.cos(math.radians(gamma)) cosG = float('%.4f'%cosG) #solid angles solidangle = (srfArea*ustep*vstep)*cosB*cosG/math.pow(dist,2) if bool==True: ShadedCenPts.append(cenPt) ShadedLines.append(line) ShadedSolidangles.append(solidangle) 116 shaded_sum = shaded_sum + solidangle else: UnshadedCenPts.append(cenPt) UnshadedLines.append(line) UnshadedSolidangles.append(solidangle) unshaded_sum = unshaded_sum + solidangle self.quads = quads self.polys = polys self.panels = panels self.UnshadedCenPts = UnshadedCenPts self.ShadedCenPts = ShadedCenPts self.distance = distance self.UnshadedLines = UnshadedLines self.ShadedLines = ShadedLines self.vectors = vectors self.normals = normals self.angles_B = angles_B self.UnshadedSolidangles = UnshadedSolidangles self.ShadedSolidangles = ShadedSolidangles self.shaded_sum = shaded_sum self.unshaded_sum = unshaded_sum #function to find duplicate items(s) within two list def intersection(list1,list2): duplicate = [] for item1 in list1: for item2 in list2: if item1 == item2: duplicate.append(item1) return duplicate #main code here.... panels = [] polys = [] quads = [] ShadedCenPts = [] UnshadedCenPts = [] Dist = [] ShadedLines = [] UnshadedLines = [] vecs = [] angles = [] ShadedSolidangles = [] UnshadedSolidangles = [] ShadedSA_sum = [] UnshadedSA_sum = [] 117 for k in range(0, len(srf)): s = srf[k] u = udiv v = vdiv for h in range(len(refP)): rp = refP[h] for n in range(len(ShadingSrf)): shade = ShadingSrf[n] divide = PanelDivision() divide.QuadDivision(s,u,v,rp,shade) ShadedCenPts.append(divide.ShadedCenPts) UnshadedCenPts.append(divide.UnshadedCenPts) ShadedLines.append(divide.ShadedLines) UnshadedLines.append(divide.UnshadedLines) ShadedSolidangles.append(divide.ShadedSolidangles) UnshadedSolidangles.append(divide.UnshadedSolidangles) ShadedSA_sum.append(divide.shaded_sum) #Eliminate the duplicated UNshaded item: TargetList_unsh = UnshadedSolidangles TargetList_unsh_new = [] try: unshlength = len(TargetList_unsh) media_unsh = [] for i in range(0,unshlength-2): mediaList_unsh = intersection(TargetList_unsh[i],TargetList_unsh[i+1]) media_unsh = intersection(mediaList_unsh,TargetList_unsh[i+2]) TargetList_unsh_new.append(media_unsh) except: TargetList_unsh_new.append(intersection(TargetList_unsh[0],TargetList_unsh[1])) #Calculate the unshaded solid angle summation UnshadedSA_sum = [] unshadedSA_sum = 0 for group in TargetList_unsh_new: for item in group: unshadedSA_sum = unshadedSA_sum +item UnshadedSA_sum.append(unshadedSA_sum) Illuminace_shaded_sum = [] Illuminace_unshaded_sum = [] for item in ShadedSA_sum: item = item*Lw Illuminace_shaded_sum.append(item) for item in UnshadedSA_sum: item = item*L_sky Illuminace_unshaded_sum.append(item) output = [] output.append(ShadedCenPts) output.append(UnshadedCenPts) 118 output.append(ShadedSolidangles) output.append(UnshadedSA_sum) OUT = output 119 Appendix G: Python Script of Internal Reflect Component Calculator import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. Wall_Area = IN[0] Ceiling_Area = IN[1] Floor_Area = IN[2] Wall_R = IN[3] Ceiling_R = IN[4] Floor_R = IN[5] wall_floor_fraction = IN[6] Transmittance = IN[7] shadeFraction = IN[8] InciAngle = IN[9] #Reflectance of interior surface R_Wall = 0.5 R_Ceiling = 0.8 R_Floor = 0.2 #Area of interior surfaces Area_Wall = 200 wall_floor_fraction = 0.6 Area_Ceiling = 100 Area_Floor = 100 Area_Window = 20 #calculate the total area of all interior surfaces Total_Area = Area_Wall + Area_Ceiling + Area_Floor + Area_Window #calculate the area-weighted average reflectance of upward interior surfaces Reflectance_FW = (Area_Floor*R_Floor + Area_Wall*R_Wall*wall_floor_fraction)/(Area_Floor + Area_Wall*wall_floor_fraction) #calculate the area-weighted average reflectance of downward interior surfaces Reflectance_CW = (Area_Ceiling*R_Ceiling + Area_Wall*R_Wall*(1-wall_floor_fraction))/(Area_Ceiling + Area_Wall*(1-wall_floor_fraction)) #calculate the area-weighted average reflectance of overall interior surfaces Ave_Rflectance = (Area_Wall*R_Wall + Area_Ceiling*R_Ceiling + Area_Floor*R_Floor)/Total_Area #calculate flux from sun #note: sun flux are only calculated for the exposed part of window where is not covered by facade components. Flux_sun = Transmittance*Area_Window*E_DN*math.cos(math.radians(InciAngle))*(1-shadeFraction) Flux_sun_CW = 0 Flux_sun_FW = Flux_sun 120 #calculate flux from sky (to be continue...) Flux_sky = 0.5*Flux_sun f = 0.5 #(this parameter vary based on window tilt angle) Flux_sky_CW = f*Flux_sky Flux_sky_FW = (1-f)*Flux_sky #calculate the overall upward flux and overall downward flux respectively. Flux_CW = Flux_sun_CW + Flux_sky_CW Flux_FW = Flux_sun_FW + Flux_sky_FW #calculate the internal reflected component of illuminance (unit: lm/ft2 or fc) Illuminance_Interior_R = (Flux_FW*Reflectance_FW + Flux_CW*Reflectance_CW)/(Total_Area*(1- Ave_Rflectance)) #estimate the shading luminous (unit: cd/m2) L_sh = Flux_sky/(math.pi*0.2) output = [] output.append(Illuminance_Interior_R) output.append(L_sh) #Assign your output to the OUT variable. OUT = output 121 Appendix H: Python Script of Solid to Perimeter Curves import clr clr.AddReference('ProtoGeometry') from Autodesk.DesignScript.Geometry import * import math #The inputs to this node will be stored as a list in the IN variables. ShadingGeometry = IN[0] #The function to find the maximum value in a given datalist def FindMax(datalist): MaxValue = 0 for data in datalist: if data>MaxValue: MaxValue = data return MaxValue srfs = [] srfArea = [] crvs = [] for solid in ShadingGeometry: polysrf = PolySurface.BySolid(solid) srfList = PolySurface.Surfaces(polysrf) SinSrfArea = [] for singleSrf in srfList: SinSrfArea.append(singleSrf.Area) MaxSrf = FindMax(SinSrfArea) if singleSrf.Area > MaxSrf - 0.0001: p_curve = Surface.PerimeterCurves(singleSrf) crvs.append(p_curve) srfArea.append(SinSrfArea) srfs.append(srfList) a = len(srfs) if a==1: surfaces = srfs[0] else: surfaces = srfs[0:a] output = [] length = len(crvs) if length > 2: output.append(crvs[1]) output.append(crvs[3]) else: output.append(crvs[1]) #Assign your output to the OUT variable. OUT = output 122 Appendix I: Solar Heat Gain Results for Each Façade Position 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 0.0 Diffuse Direct 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 0.0 Diffuse Direct 123 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 0.2 Diffuse Direct 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 0.2 Diffuse Direct 124 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 0.4 Diffuse Direct 0 200 400 600 800 1000 1200 1400 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 0.4 Diffuse Direct 125 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 0.6 Diffuse Direct 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 0.6 Diffuse Direct 126 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 0.8 Diffuse Direct 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 0.8 Diffuse Direct 127 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Aug 21st_Facade Position 1.0 Diffuse Direct 0 200 400 600 800 1000 1200 7 8 9 10 11 12 13 14 15 16 17 18 Solar Heat Gain (Wh) Time Solar Heat Gain _Dec 21st_Facade Position 1.0 Diffuse Direct
Abstract (if available)
Abstract
A tool for building information software can provide useful information to the designer about trade-offs between energy and daylighting and allow occupants to see how their behavior effects energy consumption. An assessment workflow using Revit and Dynamo was created to simulate and evaluate the performance of an exterior kinetic façade for an interior space. It includes parameters of energy performance, specifically, solar heat gain through the window, daylighting, and the occupants’ behavior. The solar heat gain was calculated based on the detailed calculation method in the ASHRAE handbook. The daylighting metric used was illuminance value, and it was calculated based on the algorithm of DOE-2 daylighting. Custom nodes in Dynamo were created in Python to calculate relevant parameters. The control strategy of the kinetic façade was determined through the combined use of Dynamo and Microsoft Excel by balancing solar heat gain and illuminance value on the work plane. Revit and Dynamo were used for building and façade modeling, geometric analytics, and relevant calculations. Microsoft Excel was used for further data processing. Other possible alternatives for data analysis were also discussed. The criteria for determining the control strategy is to avoid the direct glare, maintain illuminance value between 500 lux to 1500 lux and meanwhile regulate the solar heat gain based on real-time weather. ❧ Occupants can overrule the façade control based on their preferences, for example, based on the view out of the window or other personal choices about desiring more or less light. The program shows the tradeoff of doing so by comparing solar heat gain between the user’s choice and the theoretical optimum value, as well as the change of the lux level on the work plane in order to realize real-time control. A dashboard was created serving as the visualization interface for the occupants. The information included in the dashboard includes façade from both exterior view and interior view, date and time, and 3D columns and text to represent the level of solar heat gain and illuminance. Two case studies of the kinetic façade project were provided to demonstrate the viability of the proposed workflow.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Adaptive façade controls: A methodology based on occupant visual comfort preferences and cluster analysis
PDF
The intelligent control strategy of kinetic façades for daylight and energy performance: evaluating the daylight effect of adaptive systems based on parametric workflow
PDF
Kinetic facades as environmental control systems: using kinetic facades to increase energy efficiency and building performance in office buildings
PDF
Evaluation and development of solar control screens: using daylight simulation to improve the performance of facade solar control screens
PDF
Double skin façades performance: effects on daylight and visual comfort in office spaces
PDF
Daylight and health: exploring the relationship between established daylighting metrics for green building compliance and new metrics for human health
PDF
Energy use intensity estimation method based on building façade features by using regression models
PDF
Pushing the solar envelope: determining solar envelope generating principles for sites with existing buildings
PDF
Simulation-based electric lighting control algorithm: integrating daylight simulation with daylight-linked lighting control
PDF
Daylight prediction: an evaluation of daylighting simulation software for four cases
PDF
Streamlining sustainable design in building information modeling: BIM-based PV design and analysis tools
PDF
A proposal for building envelope retrofit on the Bonaventure Hotel: a case study examining energy and carbon
PDF
Energy efficient buildings: a method of probabilistic risk assessment using building energy simulation
PDF
Performative shading design: parametric based measurement of shading system configuration effectiveness and trends
PDF
Energy savings by using dynamic environmental controls in the cavity of double skin facades
PDF
Net zero energy building: the integration of design strategies and PVs for zero-energy consumption
PDF
Environmentally responsive buildings: multi-objective optimization workflow for daylight and thermal quality
PDF
Dynamic shading and glazing technologies: improve energy, visual, and thermal performance
PDF
Daylighting in Riyadh and Los Angeles: comparison of cultural factors in potential market penetration
PDF
Visualizing architectural lighting: creating and reviewing workflows based on virtual reality platforms
Asset Metadata
Creator
Luo, Kunyu
(author)
Core Title
Multi-domain assessment of a kinetic facade: determining the control strategy of a kinetic façade using BIM based on energy performance, daylighting, and occupants’ preferences; Multi-domain asse...
School
School of Architecture
Degree
Master of Building Science
Degree Program
Building Science
Publication Date
08/05/2018
Defense Date
04/26/2018
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
BIM,daylighting,Energy,kinetic facade,OAI-PMH Harvest,occupants
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Kensek, Karen (
committee chair
), Noble, Douglas (
committee member
), Schiler, Marc (
committee member
)
Creator Email
kunyuluo@usc.edu,lky15580091412@yahoo.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c89-51043
Unique identifier
UC11671712
Identifier
etd-LuoKunyu-6637.pdf (filename),usctheses-c89-51043 (legacy record id)
Legacy Identifier
etd-LuoKunyu-6637.pdf
Dmrecord
51043
Document Type
Thesis
Format
application/pdf (imt)
Rights
Luo, Kunyu
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
BIM
daylighting
kinetic facade
occupants