Get to Know Us
In this series, we discuss miscellaneous tips for using OpenStudio and the SketchUp plugin as well as some limited use of EnergyPlus directly.
All software used for these calculations (SketchUp, OpenStudio, FloorSpaceJS, and EnergyPlus) are open-source and free to download.
1. OpenStudio SketchUp - Orphan Geometry and Boundary Conditions
In this video, we will discuss surface boundary conditions. We will show how to use SketchUp to filter for and edit boundary conditions.
Quality control items for checking your model include verifying the boundary conditions of the surfaces. Right now, the model is set to render by surface type, which is a standard view. In this view, roofs appear as a dark red color, walls appear yellow, and floors appear gray. When switching to render by boundary condition, the colors change: floors appear dark beige, walls light blue, and roofs dark blue. In this view, one surface clearly stands out and should be inspected further. To inspect this item, go to the Inspector tool and use the Info tool. This surface is identified as surface 47. Click into the space and select surface 47. You can see that the surface is specified as a roof/ceiling, but the outside boundary condition is set to ground. This explains why it appears gray, since gray represents a ground boundary condition, which is typically correct for floors but not for roofs. This surface needs to be edited by changing the outside boundary condition to outdoors. Once this is changed, the surface color updates to light blue. Additional boundary conditions also need to be reviewed. The Sun Exposed setting currently indicates no sun exposure, but this surface is a roof and should be sun exposed. It should also be set as wind exposed. These conditions should be edited accordingly. The same process should be followed for other incorrect surfaces. For example, an overhang may be designated as ground exposed with an outside boundary condition, even though it is actually exposed to the outdoors. While it may not be sun exposed, it should still be wind exposed. Review all surfaces that appear incorrect and update their boundary conditions as needed. Thank you. Please like and subscribe! By the 90s, the US Department of Energy had developed a robust program, free to the public, for this purpose. It was called DOE-2. Unfortunately, it required a lot of coding knowledge. They further developed a graphical user interface called eQuest. Today, eQuest is the most widely used program for simulating building energy use. It is free, however updates are no longer supported. In the 90s, the Department of Energy began developing the next generation of energy simulation program called EnergyPlus. Today it is the latest, stable building energy simulation program. It allows engineers, scientists, and the construction industry to predict and simulate how a building uses energy through its lifetime. EnergyPlus uses a lot of complex mathematical models to calculate energy use for a building. In addition, just like DOE-2, it is a very obscure, programming language oriented, program. Not very user friendly. By the late 2000s, DOE realized that in order to get widespread adoption of the program they needed to develop a robust easy-to-use graphical user interface. They developed OpenStudio. OpenStudio is a graphical user interface for creating inputs to EnergyPlus. The workflow starts with creating geometry using Floor Space JS, located within the OpenStudio program. Alternatively, if you have complex geometry you can use SketchUp and the OpenStudio plug-in. Or you can import geometry from IDF files, GBXML files, SDD files, or IFC files. Then you can assign space types and thermal zones to your 3D model. You could think of this 3D model as a shell that will later hold all of your energy modeling information. From there, you can modify the model by changing different parameters such as: How many people are in the building. You can change lighting power densities. You can change ventilation rates. You can change schedules for occupancy. You can change other schedules, like when the building is open or closed. You can change water usage or how many people are in the building at one time during the day. You can change the HVAC systems set points. Basically, anything you can do in an energy modeling program. You can do it in OpenStudio. It is a graphical user interface so it is very intuitive. Once you are done assembling the model of the building it exports it out to EnergyPlus. EnergyPlus crunches the numbers for you and delivers information about your building. The final result shows you lots of information like: Total and monthly energy use. Building envelope performance. Peak space and HVAC loads. Peak water usage and ventilation.
2. OpenStudio SketchUp - Separating Thermal Zones
In this video, we will show how to use SketchUp to separate large open spaces into thermal zones.
We have a building that was modeled based on the architectural floor plan. To better understand the layout, we will hide the roof and look down from the top. We will also hide the plenum space. What we see now are rooms defined strictly by the architectural plans. However, the actual HVAC zoning is different. For example, RTU-2 serves this entire portion of the building, even though it is currently divided into multiple rooms in the model. At the moment, these zones are grouped by architectural rooms rather than by HVAC zoning. For the energy model, we need to adjust this. There is no physical wall in this location, but for simulation purposes, we must create a wall to isolate one thermal zone from another. We will focus on the RTU-2 zone and separate this room from the adjacent room so that each represents its own thermal zone. First, go to the Camera menu and turn off perspective view. Select the space, then use the Move tool. Select a corner of the space, hold the Control key to make a copy, and move the copied geometry into position. SketchUp may take a moment to process this action. Next, double-click the copied space to edit it. Select and delete the geometry that is not needed. Continue deleting until only the desired portion remains. Then, draw a line connecting the appropriate edges to define the new boundary. Draw another line downward to fully separate the geometry. Switch back to the overhead view and delete the excess portion, confirming that the remaining geometry is intact. Repeat the same process for the other portion of the zone that needs to be separated. Be careful to properly sever any windows by placing endpoints accurately so the geometry splits correctly. Once separated, delete the unnecessary portion and double-check that all elements are correct. Exit the active edit mode and use the Move tool to position the new zone back into place. Be very careful when selecting endpoints to ensure proper alignment. After this process, the space is fully separated into two distinct thermal zones. Thank you. Please like and subscribe.
3. OpenStudio SketchUp - Boundary Conditions
Quality control items for checking your model include verifying the boundary conditions of all surfaces. Right now, the model is set to render by surface type, which is a standard view. In this mode, roofs appear as a dark red color, walls appear yellow, and floors appear gray. This view helps quickly identify surface types, but it does not show how EnergyPlus interprets boundary conditions.
Next, switch the rendering mode to render by boundary condition. You will notice that the colors change: floors appear dark beige, walls appear light blue, and roofs appear dark blue. One surface clearly stands out and should be inspected further. Open the Inspector tool and use the Info tool to identify the surface. In this case, it is surface 47. Click into the space and select surface 47 to review its properties. You will see that the surface type is specified as a roof/ceiling, but the outside boundary condition is set to ground. This explains why it appears gray, since gray represents a ground boundary condition. Floors are also gray because they are typically ground-contact surfaces. However, this surface is a roof and should not be assigned to ground. We need to edit this surface and change the outside boundary condition to outdoors. Once this is done, the surface color updates to light blue. After updating the outside boundary condition, additional settings must be reviewed. The Sun Exposed condition is currently set to “No,” but this is a roof and should be exposed to the sun. It should also be marked as wind exposed. These conditions need to be corrected as well. Repeat this process for any other surfaces that appear incorrect. For example, an overhang may be designated as ground-exposed, but it is actually exposed to the outdoors. It may not be sun exposed, but it should still be wind exposed. Carefully review all surfaces that seem incorrect and update their boundary conditions accordingly. Thank you. Please like and subscribe!
4. OpenStudio Tips - Quickly Edit Multiple Schedules
In this video, we will show how to quickly edit multiple schedules at the same time.
Today we will discuss how to quickly adjust multiple schedules in OpenStudio. Start by going to the Schedules tab, where you will see multiple schedules such as lighting schedules and occupancy schedules. These schedules can have different priorities throughout the year, and in some cases we want several of them to follow the same pattern. In this example, you will notice that some schedules start on January 3rd, while others start on January 1st. January 1st is a weekend (Sunday), so all schedules should consistently start on the first day of the year. If you inspect one of these schedules, you will see that it begins on January 3rd. However, we actually want it to start on January 1st. This issue appears in multiple schedules, all starting on the third instead of the first. Rather than editing each schedule individually in the interface, we can quickly fix this by editing the OSM file directly using a text editor such as Notepad++. Open the OSM file in Notepad++ and search for the schedule rule definition. You will see entries where the schedule is defined as starting on the first month of the year and the third day of the month. We want to change this to the first month and the first day. Open the Replace dialog and include the line break code “\r\n” as needed. Make sure to enable “Wrap around” and select “Extended search mode,” then click “Replace All.” This will update all matching schedules at once. In this case, you may see a message indicating that 29 schedules were changed from January 3rd to January 1st. Save the file and return to OpenStudio. Click File → Revert to Saved to reload the updated model. Then go back to the Schedules tab and check one of the lighting or occupancy schedules to confirm the change. You should now see that the schedules correctly start on January 1st. This is an efficient way to adjust multiple schedules simultaneously using a text editor. Thank you. Please like and subscribe.
5. OpenStudio EnergyPlus - Input Output Objects
In this video, we will discuss EnergyPlus objects and how to find information about how they function. This will help you understand how OpenStudio / EnergyPlus functions to simulate your energy model. It will also help you to know what inputs are important, what inputs can be left default, and how they might affect your energy simulation.
Today we are going to discuss what an EnergyPlus object is. EnergyPlus objects are programming components inside the EnergyPlus simulation engine that perform specific calculations. For example, a fan is an EnergyPlus object, a DX cooling coil is an EnergyPlus object, and an air loop is also an EnergyPlus object. Every component you see in the model is represented internally as an object with its own calculation logic. Each EnergyPlus object has a defined set of inputs and outputs. The inputs are the parameters you adjust in the properties pane, such as efficiencies, flow rates, schedules, and control settings. The outputs are the results produced by the object during the simulation, such as energy use, temperatures, and flow rates. These inputs and outputs determine how the object behaves and how it interacts with the rest of the model. To understand what an object does and how each input is used, you can refer to the EnergyPlus Input Output Reference. For example, if you select a constant volume fan in OpenStudio, you will see its object name listed as OS:Fan:ConstantVolume. By searching for Fan:ConstantVolume in the Input Output Reference, you can find a detailed description of how this object operates. The documentation explains that this fan is intended to operate continuously based on a schedule and does not cycle on and off with heating or cooling demand. It also describes each input, such as fan efficiency, pressure rise, maximum flow rate, and end-use subcategory. The Input Output Reference also lists the outputs generated by each object. For a constant volume fan, these include electric power, fan heat added to the air, and total fan electric energy. The same process applies to other objects such as Coil:Heating:Gas or Controller:OutdoorAir. By looking up the object name in the Input Output Reference, you can see exactly what each input means and what outputs are available. This is the best way to fully understand how EnergyPlus objects work and how they affect your simulation results. Thank you. Please like and subscribe.
6. OpenStudio EnergyPlus- AirLoopHVAC Autosizing
In this video, we will show discuss how EnergyPlus autosizes air loop fans. We will also discuss how EnergyPlus balances airflows with zone level exhaust systems and use DView to verify the fans and Outdoor Air System are working together.
A user on YouTube asked a question: can you do an example of an air handling unit with 6000 CFM supply, 5000 CFM return, and 1,000 CFM fresh air with zero exhaust unless it is economizing? There is an exhaust fan at the zone level at 1,000 CFM, and the exhaust fan is separately ducted from the system. This is how the building stays neutral. However, the autosizing always makes the supply and exhaust fans the same size, which is incorrect. That is issue number one. Another issue is understanding how to tell the fresh air and exhaust air dampers to work with this 1,000 CFM offset, since there does not seem to be much configuration available. Let us walk through an example to show how this works. We will start by applying a measure and creating a prototype building. This is a measure that can be downloaded from the Building Component Library. We will click the measure, select a small office, keep all the default settings, and apply the measure. This creates a prototype office building for the simulation. Next, we go to the thermal zones tab. There are five thermal zones and an attic, and none of them currently have an exhaust fan. We will add an exhaust fan to zone 4. We will set the fan to always on and define the pressure. For the flow rate, we will choose 250 CFM, which is reasonable based on the building size. By default, the exhaust fan is set to Decoupled. Decoupled means the exhaust fan is not dependent on the air loop HVAC system serving the zone and runs only based on its own schedule. Instead, we want to use Coupled. Coupled, with an always-on availability schedule, means the exhaust fan is controlled by the air loop system. When the air loop turns on, the exhaust fan turns on as well. Next, we go to the air loops tab. The system is a unitary heat pump system, but for this example we need a return fan. We will add a constant volume fan on the return side of the system that serves zone 4, which already has the exhaust fan. Looking at the system settings, everything is set to autosized, including the flow rate when no cooling or heating is needed. We will leave these as autosized and run the simulation. The simulation completes successfully. We then go to the reports tab and select Air Loops. Scrolling down to zone 4, we see that OpenStudio reports equipment in the order it appears on the air loop, starting with the return side. The return fan is sized at about 744 CFM, and the unitary heat pump fan is also sized at 744 CFM, even though there is an exhaust fan scheduled to run whenever the air loop operates. This happens because EnergyPlus performs autosizing based only on the air loop itself. It does not account for external air balancing such as zone-level exhaust fans. This is an important limitation to remember. EnergyPlus does some air balancing, but not all of it. As a modeler, you must ensure the system is balanced correctly. EnergyPlus does account for air loop balancing during the simulation when the exhaust fan is set to Coupled, as referenced in the EnergyPlus Input Output Reference under the field “Balanced Exhaust Fraction Schedule Name.” To better understand what is happening, we can look at system node airflows. We go to output variables, select system nodes, and choose the current density volume flow rate with a reporting frequency of time step. We save these settings and run the simulation again. After the simulation finishes, we review the results again. The supply and return fans are still sized the same, but now we can inspect the actual airflows during operation using DView. Looking at the supply inlet and outlet nodes for perimeter zone 4, we see that the return airflow is significantly less than the supply airflow. This highlights another key concept: EnergyPlus calculates system sizing based on zone-level requirements first. Zone-level mass flow rates are determined, and then those requirements propagate outward through the air loop. Fans do not physically push air the way they do in real life. Instead, EnergyPlus back-calculates how much airflow the fan would have needed to deliver at a given pressure to meet the zone demand, and then calculates fan energy use from that. We can also examine how the outdoor air system and economizer are operating. By looking at the outdoor air, relief air, and mixed air nodes, we see that the outdoor air flow is slightly over 250 CFM, which matches the exhaust fan flow rate applied at the zone. This shows that the outdoor air system is supplying additional air to balance the exhaust. If we turn the exhaust fan off, the outdoor air flow rate drops to the minimum required ventilation, or to a different value if the system is economizing. To demonstrate this, we can modify the exhaust fan schedule so that it turns off in the middle of the day, rerun the simulation, and inspect the results again. When the exhaust fan turns off, the return air flow increases and the outdoor air flow drops accordingly. This behavior confirms that the outdoor air system is operating correctly and that the exhaust fan is being balanced with the air loop when it is coupled. If the exhaust fan were set to Decoupled, it would run independently of the air loop but would still affect the return air flow. Returning to the original question, the key takeaway is that autosizing will size the system for the maximum airflow seen on the loop. If you have a return fan that should be smaller due to exhaust air, you must hard-size it. For example, if the supply airflow is about 750 CFM and there is 250 CFM of exhaust, the return fan should be hard-sized to around 500 CFM. This is how you ensure the return fan is sized correctly for accurate energy calculations. Thank you. Please like and subscribe.
7. OpenStudio SketchUp Tips - Project Geometry Tool
We discuss how to use the project geometry tool in the OpenStudio SketchUp Plugin. This tool is helpful for applying sub-surfaces to multiple spaces at one time.
Our next task is to review and edit the construction materials. We will go to the Constructions tab on the left. At the top, you will see several sub-tabs: Construction Sets, Constructions, and Materials. These are treated as a parent-child relationship. Construction Sets are a group of construction assemblies that are applied to the building. In the fire station metal construction set, you can see exterior surface constructions such as metal building exterior walls, concrete slab, and metal building roof. Interior surface constructions include interior walls, interior floors, and interior ceilings. Ground contact surfaces are all concrete. Exterior subsurface constructions include windows, doors, and skylights, while interior subsurface constructions apply to interior partitions with windows or doors. At the bottom are other constructions that may be applied. A construction set defines a collection of constructions that make up the building and can be applied to the entire building or portions of it. Next, we will look at the Constructions tab, which shows the individual construction assemblies. For example, the metal building roof is composed of metal roofing and roof insulation. These materials are applied in layers, starting from the outside and moving inward, and are used to calculate thermal conductivity and heat transfer properties. You will also notice measure tags associated with these constructions. These measure tags are used for advanced energy modeling and can later be referenced by energy efficiency measures to evaluate how changes affect building performance. To understand the roof insulation, we go to the Materials tab and select roof insulation 22. This material includes measure tags and thermal properties such as roughness, thickness, thermal conductivity, density, specific heat, and absorptance values. The thickness and thermal conductivity combine to create an R-27 thermal resistance. For this project, the roof consists of metal roofing, a thermal break spacer, and steel purlins with insulation. Since this insulation will not be used elsewhere, we rename it to Purlins and Insulation R-29 and update its properties to reflect a 10-inch thickness and an R-value of 29.88. Next, we create a thermal break by duplicating a material and renaming it Thermal Break R-3. This thermal break has an R-value of 3, a thickness of one-half inch, and a thermal conductivity of 0.1167. After creating these materials, we return to the metal building roof construction assembly. We remove the existing insulation layer and insert the thermal break between the metal roofing and the purlins and insulation. The updated roof assembly now consists of metal roofing, a thermal break, and purlins with insulation, giving an overall R-29 value. We rename this construction Roof Metal Building, and it automatically updates in the construction set. If you do not want to create custom materials and assemblies, you can use construction sets from the library by dragging and dropping them into place. This same process can be applied to roofs, windows, doors, walls, and floors. If a needed material is not available locally, you can access the Building Component Library by registering online and entering the authorization code. Once connected, you can search for components such as windows, download them, and then find them in the library tab. These components are marked with a BCL label and can be assigned to the appropriate construction category. That concludes the overview of constructions, construction sets, and materials. Thank you, and please like and subscribe!
8. OpenStudio Tips - Assign Space Type to Multiple Spaces
We discuss how to use the Building Component Library measure "AssignSpaceTypeBySpaceName" to quickly assign space types to spaces with a common string in the name.
If you have a lot of spaces that you want to assign a specific space type to, you can use a measure from the Building Component Library. Go to Whole Building, then Space Types, and search for “Assign Space Type by Space Name.” You can download this measure and use it to speed up the process of assigning space types across many spaces. After downloading, go to Components and Measures and click Apply Measure Now. Search for the measure under the Whole Building category, where it will appear in the list. Select the measure and apply it to the model to begin assigning space types automatically. Please note that the string search used by this measure is case specific. For example, it cannot search for both uppercase and lowercase letters in names such as “Corridor” versus “corridor.” Because of this, it is important to make sure that all space names are consistent before running the measure. There is also a checkbox option in the measure interface that does not appear to work correctly, so it should not be used. Once the measure runs, you will see a confirmation message indicating success. In this case, the measure successfully assigned space types to 21 spaces in the model. Thank you. Please like and subscribe.
9. OpenStudio SketchUp Tips - Vertex Size Mismatch
We discuss how to resolve the common error "Vertex size mismatch between base surface".
We are going to discuss a common severe error that can terminate a simulation. This error appears in the error output file as a “Vertex size mismatch between base surfaces.” The message indicates a mismatch between two surfaces, such as surface 4840 and surface 149, and you may notice that the error repeats itself in reverse order. Although it looks like many errors, there are really only half as many, because once one surface pair is fixed, the corresponding reversed error is also resolved. In this example, we focus on surface 4830 and surface 4897, where one surface has eleven vertices and the other has seven vertices. We can verify this by opening the OSM file and searching for the surface numbers. Surface 4830 shows eleven vertices, while surface 4897 shows seven vertices. Using the OpenStudio SketchUp plugin and the Inspector tool under the Surfaces category, we can locate these surfaces and identify the spaces they belong to. Surface 4830 is associated with the space “Hallway 4-3,” and surface 4897 is associated with the space “Plenum 3-4-N.” By locating these spaces in the model, hiding all other geometry, and isolating only these two spaces, we can visually inspect the matching surfaces. After isolating the geometry, we can select and highlight the problem surfaces and count their vertices directly in SketchUp. Even though the surface may visually appear to have eleven vertices, the error output may report fewer vertices because SketchUp sometimes simplifies surfaces by sharing vertices with adjacent geometry. This simplification can confuse OpenStudio and EnergyPlus. A practical solution is to divide the surface by drawing a line between two vertices, splitting it into two smaller surfaces. The matching surface must also be divided in the same way so that both sides have a consistent number of vertices. If the problem persists, further subdividing the surfaces can help, as surfaces with four vertices tend to be more stable. As a rough workaround, you can also make the surfaces adiabatic. To do this, unmatch the surface, then set its boundary condition to adiabatic, and do the same for the matching surface. Adiabatic surfaces indicate no heat transfer between them. If the surfaces are small or the temperature difference between spaces is minimal, this will not significantly affect results. This approach can resolve the vertex mismatch severe error and allow the simulation to run successfully. Thank you. Please like and subscribe. Looking at these space types, you will notice that there is a default construction set, but it is empty. We need to assign a construction set to all of these spaces. Go to the My Model tab and drop down Construction Sets. Drag and drop our single construction set. To apply that construction set to all of the other space types, click the check boxes. Select the construction set you want to copy and click Apply To Selected. It automatically populates the construction set to all of the selected space types. This construction set defines what type of constructions these spaces will have. You can customize this by creating additional construction sets. To create additional construction sets, please see the previous video. Next, you will notice that each space type has a schedule set and an outdoor air specification. This ventilation specification tells the energy model how much ventilation is required for that space. In the next column, you will see space infiltration design flow rates. These infiltration rates can be defined based on floor area, total space, exterior surface area of roofs and walls, exterior walls, or air changes per hour. To create a different infiltration rate, simply rename it and change the values as needed. These can also be copied and applied using the same checkbox method. We will apply an infiltration rate to the space plenums. The final column shows Space Infiltration Effective Leakage Area. We will not be using this, but this is how you find information about it. Search for “Space Infiltration Effective Leakage Area” in your browser and look for Big Ladder Software or EnergyPlus input/output documentation. Big Ladder Software provides EnergyPlus input/output documentation online in HTML format. Select Effective Leakage Area or click the link to read about it. This method calculates infiltration differently and is typically used for smaller residential buildings. We will not use this for our project and will only use Space Infiltration Design Flow Rates. Next, go to the Loads tab at the top to see which loads have been applied to each individual space. For the Apparatus Bay, there is a lighting load definition and an associated schedule. There are also electrical equipment loads with their definitions and schedules, as well as infiltration loads with a load name and schedule. In a previous exercise, we created a microwave load to be applied to the closed office. You will notice that the microwave load is not currently applied to the office, so we need to add it. Go to the My Model tab and browse to Electrical Equipment Definitions. Locate the microwave load. It appears the microwave load definition may have been deleted or purged in the previous exercise. To add it back, go to the Loads tab, electrical equipment definitions, copy an existing load, and rename it. Next, return to the Space Types tab. Select Loads, scroll to the Closed Office space type, and from My Model, drag and drop the microwave load into the Closed Office. You will notice that the microwave has been automatically assigned the fire station equipment schedule. This needs to be changed. Go to My Model and browse to Rule Set Schedules. Locate the microwave schedule that was created earlier. Drag and drop it next to the microwave load. Now the microwave load and its schedule have been applied to the space type. You will see a multiplier value. This is used to fine-tune the model without changing loads or schedules. For example, if the microwave is used half as much as expected, you can change this value to apply a 0.5 multiplier. We will not adjust it here. Default values are shown in green, while overridden values appear in black. This is how you add loads and load schedules to a space type. There is also a filter button, which is useful for large projects. You can filter by people to see occupancy loads or by lights to see lighting loads. At the top, the Measures Tag tab is useful for advanced energy modeling. These tags act as keywords that energy efficiency measure programs use to evaluate how changes affect energy use. The Custom tab is used for custom programming. Next, we will briefly cover how to create a new space type. Click the plus button and rename the space type. We will call it Workshop. Apply a construction set, a schedule set, and an outdoor air specification. You can copy an existing one or select a different option. Go to the Library tab, select Specification Outdoor Air, and choose mechanical room ventilation. Next, select an infiltration design flow rate. Look for a mechanical room or utility option. Go to the Loads tab and locate the new Workshop space type. Drag and drop loads into the space. Since this is a machinery room, there will be no people definition. Add a lights definition and electrical equipment for utility or storage. Finally, assign an electrical equipment schedule. Go to My Model, Rule Set Schedules, and select an “always on” schedule. That completes the creation of a space type. To delete a space type, click the checkbox next to it and then click the X button at the bottom. Thank you. Please like and subscribe!
10. OpenStudio Tips - How to lodge issues on GitHub
We discuss OpenStudio and the SketchUp plugin open-source project and how users can contribute by lodging issues on GitHub.
The OpenStudio application is supported by the OpenStudio Coalition, which is a group of volunteers and paid programmers who maintain and improve the OpenStudio application. They rely heavily on feedback from users to identify bugs and resolve issues in both the OpenStudio Application and the OpenStudio SketchUp plug-in. When users report problems, it helps the development team understand real-world use cases and improve the stability and functionality of the software. To report an issue, you first need to create an account on github.com. After signing up, you should follow the OpenStudio repositories for the application and related tools. In this example, we are lodging an issue specifically for the OpenStudio application. Once on the repository page, navigate to the “Issues” section and select “Create a new issue.” You will see different categories, such as bug reports and enhancement requests. In this case, we select a bug report. Next, provide a clear and concise title that summarizes the issue. For example, “The application crashes when the user tries to delete an HVAC Airloop.” In the description, explain what is happening. In this scenario, the user selects an Airloop and attempts to delete it, which causes the program to crash. Supporting evidence is very helpful, so if you have a screenshot or a GIF showing the issue, upload it under the “Current Behavior” section to clearly demonstrate the problem. If you have additional information, you can include steps to reproduce the issue, possible causes, or suggestions for a solution. It is also important to list relevant system details, such as the operating system and software version. In this example, the system is running Windows 10 and OpenStudio version 1.10.0 r3. Once everything is filled out, scroll to the bottom and submit the new issue. The issue is now logged, and developers can review it and request more information if needed. Thank you. Please like and subscribe.
11. OpenStudio Tips - Create A Combined Plenum
In this video, we will show how to create a shared plenum between multiple spaces and floors. Also see this NREL video for more info on modeling plenums: https://youtu.be/n_u3WT2tX1Y
Today, I am going to show you how to create a shared plenum between two different floors. We are working with a large office building and, for simplicity, focusing on the third and fourth floors. These floors are made up of many spaces and are currently nine feet (2.7 m) from floor to ceiling. We need to add a four-foot (1.2 m) plenum between them. Switch to a side view and turn off the perspective camera. Select the fourth floor and move it up four feet (1.2 m). This creates the vertical separation needed for the plenum. Save this model as a separate file named “plenum,” then reopen the original model in a new instance of SketchUp. Open the saved plenum file in the new SketchUp instance and ignore any errors. Go to a side view, turn off perspective, select all geometry, right-click, and explode it. This removes all OpenStudio space information and leaves only basic SketchUp geometry. Delete the top portion, leaving the floor of the fourth floor. Then delete the bottom portion of the third floor, including windows. You are left with the ceiling of the third floor and the floor of the fourth floor. Connect the corners to form the plenum geometry. Save this file as a SketchUp file, since it no longer contains OpenStudio information and should not be saved as an OpenStudio model yet. Next, create a new space at the origin, exit the space, select all the plenum geometry, cut it, re-enter the space, and paste the geometry inside. After pasting, you will notice that the surface types are reversed: plenum ceilings are labeled as floors and plenum floors are labeled as ceilings. To fix this efficiently, open the plenum OpenStudio file in Notepad++. Search for surfaces with type “Floor” and replace them with “RoofCeiling1” as a temporary placeholder. Then replace all “RoofCeiling” entries with “Floor.” Finally, replace “RoofCeiling1” back to “RoofCeiling,” save the file, and reload it in OpenStudio. This corrects the surface orientations. After reloading, verify that floors and ceilings are correctly assigned. Sometimes OpenStudio inserts skylights automatically; these can be deleted by selecting and removing the skylight surfaces and redrawing the correct surfaces. Save the corrected plenum OpenStudio model. To insert it into your working model, create a new space, copy the plenum geometry from the plenum model, and paste it into the new space at the origin. The plenum will align correctly and already share intersections with surrounding spaces, so intersect geometry is not required. Only surface matching is needed. This is how you create a common plenum between floors and multiple spaces. Thank you. Please like and subscribe.
12. OpenStudio SketchUp - Lights vs Luminares
In this video, we will discuss two different ways to specify lighting power heat loads in a space. Lights Definitions allows for generic lighting power densities. Luminare Definitions (and the SketchUp Plugin Luminare button) are another way to specify lighting power loads.
Today we are going to talk about lighting power loads, focusing on the OpenStudio SketchUp extension and specifically the New Luminaire button. There are two main ways to input lighting power loads into spaces. The first method is using a general lighting power density, such as watts per square foot (W/ft² or W/m²). In this case, EnergyPlus calculates the total lighting power based on the area of the space. This can be reviewed in OpenStudio by going to the Loads tab and selecting Lights Definitions. For example, break room lights may be defined as watts per area. Alternatively, lighting power can also be defined as a fixed total wattage or as watts per person, which is useful for spaces with individual task lighting that occupants control themselves. The second method for defining lighting power is by using luminaires, or individual lighting fixtures. Initially, this project does not include any luminaire definitions. In the OpenStudio SketchUp Plugin, we select an Open Office space and verify its lighting definition in OpenStudio, which is specified as 0.98 watts per square foot (10.5 W/m²). Instead of relying on this general definition, we can add luminaires directly to the space. By double-clicking into the space, turning on section cuts, and clicking the New Luminaire button, we can place lighting fixtures inside the room. After saving the model and reverting to saved in OpenStudio, a new luminaire definition appears, initially set to zero watts until it is configured. To manage luminaire definitions more effectively, a separate OpenStudio file can be created as a luminaire library containing only luminaire definitions. In this example, a LuminaireLibrary.osm file includes multiple fixture types. A new luminaire can be created by copying an existing one, renaming it, and assigning wattage values such as 14 watts for a compact fluorescent fixture. Required fractions for radiant, visible, and return air heat must be entered, and in this case, default values are used because the fixture is fully exposed to the room with no plenum heat loss. This library file is then added to the project through Change Default Libraries, making all luminaire definitions available in the project. Once the luminaire library is added, luminaires can be placed in the space using the SketchUp plugin. The exact location of these fixtures does not affect illuminance calculations, as OpenStudio uses luminaires only to calculate heat added to the room. Fixtures are typically placed two feet from the selected surface, whether floor or ceiling. Multiple fixtures can be copied and placed within the space. After saving and reverting the model, these luminaires appear under the space loads. However, the original space type lighting power density may still be applied, resulting in double-counting. To avoid this, a new space type is created by copying the Open Office space type and removing the lighting definition. This new space type is then assigned to the space, ensuring that lighting power comes only from the placed luminaires. This demonstrates the different ways to define lighting power loads in OpenStudio. Thank you. Please like and subscribe.
13. OpenStudio SketchUp - Daylighting Controls
In this video, we will discuss how to input daylighting controls that reduce space lighting power as sunlight enters the space.
Today we are going to talk about daylighting controls using the “Create New Daylighting Control” button in the OpenStudio SketchUp plugin. Daylighting controls are used to manage artificial lighting in a space based on the amount of natural light entering through exterior windows. As sunlight enters the room during the day, the system can automatically reduce artificial lighting to maintain the required illumination level, helping save energy. To add a daylighting control, edit the space and click the New Daylighting Control button. The control is automatically placed 3 feet (0.91 m) above the floor, but it can be moved anywhere within the space depending on how aggressively you want to harvest daylight, often near the center of the room. After placing the daylighting control, you can select it and use the Inspector tool to review and edit its properties. The control is associated with the space in which it is placed, and its position coordinates and rotation axes are displayed. EnergyPlus allows a maximum of two daylighting controls per thermal zone, not per space. This means that if multiple spaces share a single thermal zone, only two daylighting controls can be used to control lighting across those spaces. To avoid this limitation, it may be best to assign separate thermal zones to each space. The arrows shown on the control represent sensor directions; one is used for daylight sensing, while another relates to glare sensing and window shading, which can be adjusted or rotated as needed. The illuminance setpoint is a key property of the daylighting control. This value represents the design illuminance of the space at night when no daylight is available and is based on the expected lighting level for that space type. The daylighting control will dim the lights from this maximum design illuminance down to defined lower limits as daylight increases. You can choose the lighting control type: Continuous control smoothly dims lighting down to a minimum input power fraction and minimum light output fraction; Stepped control reduces lighting power in discrete steps; and Continuous Off reduces lighting power to a minimum level and then turns the lights off completely when sufficient daylight is available. Additional settings include the probability that lighting will be reset in a manual stepped control, which is used to simulate occupants manually switching off lights rather than relying on automatic sensors. This probability represents how often occupants respond to high light levels by turning off lighting banks. The number of daylighting views is mainly used when running Radiance simulations in OpenStudio to better understand illumination distribution in the space. The maximum allowable discomfort glare index is used for automatic window shading controls, where shades or blinds deploy when glare becomes excessive. This concludes how to add and configure daylighting controls in a space. Thank you, and please like and subscribe.
14. OpenStudio Tips - Downloads from BCL or Elsewhere
We discuss OpenStudio and the SketchUp plugin open-source project and how users can contribute by lodging issues on GitHub.
Today, we discussed how to manually install components and measures in OpenStudio by downloading them directly from the Building Component Library (BCL) or by using files shared by a colleague. This method is helpful when a required measure does not appear in the “Apply Measure Now” list or when OpenStudio is unable to connect to the BCL using the “Find Measures on BCL” option. In these situations, you can go directly to the BCL website, browse the available measures or components, and download them manually to your computer. In this example, we navigated to the BCL website, selected “Browse Measures,” and filtered the list by lighting-related measures. We chose a recent measure called “Set Lighting Loads,” which is categorized under Electric Lighting and Lighting Equipment. After downloading the measure, it was saved as a ZIP file in the system’s Downloads folder. The ZIP file was then opened, and the extracted folder—named “Set Lighting Loads by LPD”—was copied into the local “My Measures” directory on the computer. After copying the folder, we returned to OpenStudio and selected “Apply Measure Now.” The newly added measure appeared under the Electric Lighting, Lighting Equipment category and was labeled as a “My” measure. Measures labeled “My” are stored locally on your computer and are not synced with the BCL, meaning they will not receive automatic updates. In contrast, measures labeled “BCL” remain connected to the Building Component Library and can be updated if newer versions become available. Finally, we explained that the same process applies when receiving custom measures or components from a colleague. A colleague can share an entire measure folder containing files such as Ruby scripts and XML definitions. You simply copy that folder into your “My Measures” directory using the My Measures button in OpenStudio. Once placed there, the custom measure becomes immediately available for use, allowing you to work with measures and components that are disconnected from the BCL or created specifically for your project.
15. OpenStudio SketchUp - Illuminance Controls with Radiance
In this video, we will discuss how to input daylighting controls, glare sensors, illuminance maps, and shading controls in preparation for using the Radiance measure. We will download and install Radiance and Strawberry Perl. We will use the OpenStudio Radiance measure to simulate lighting and shading controls. Finally, we will briefly look at the Radiance outputs using DView.
Today, we discussed how to use the Radiance measure in OpenStudio for advanced lighting simulations. Radiance is a more detailed and accurate lighting simulation engine compared to the standard EnergyPlus lighting model, which does not handle lighting and daylighting as effectively. The last icons at the top of the SketchUp plug-in are dedicated to Radiance and are used along with previously installed daylighting controls. To begin, we edited the space, turned off camera perspective, selected an overhead view, and used the New Illuminance Map button to place an illuminance map inside the room. The map was moved to a corner, scaled to cover the entire space, and adjusted vertically to approximately desk height. This illuminance map represents a grid of points that measure illuminance levels throughout the room. The grid resolution (for example, 10 × 10), size, and coordinates can all be adjusted based on modeling needs. In addition to the illuminance map, we added a New Glare Sensor. The glare sensor initially dropped to the floor, so its height was adjusted to three feet, and it was rotated to face the windows. The number of glare vectors was increased from one to three to simulate glare directions radiating from the sensor. We also adjusted the Maximum Allowable Daylight Glare Probability, which represents the percentage of occupants bothered by glare before shading is activated. This value was reduced from 60% to 30%, meaning that if 30% of occupants experience glare, the window shades will deploy. Shading controls were then added through Extensions → OpenStudio User Scripts → Alter or Add Model Elements → Add Shading Controls. A new blind was created, and its properties were reviewed using the OpenStudio Inspector tool. Various shading strategies are available, though defaults were used here. The shading controls were then assigned to the appropriate window subsurfaces within the space. Next, we applied the Radiance measure in OpenStudio, which is located under Electric Lighting → Electric Lighting Controls. Two versions were available: one connected to the Building Component Library (BCL) and a newer version downloaded from GitHub and stored as a “My” measure. The newer version was dragged into the workflow and saved using default settings. To run the Radiance measure, both Radiance and Strawberry Perl must be installed on the computer. Radiance was downloaded from Radiance-Online.org, installed with the option to add it to the system path, and Strawberry Perl (32-bit) was installed as well. After installation, the computer was restarted, which is a required step before running the simulation successfully. Once the simulation was run, Radiance executed the lighting and shading calculations first, then passed the results to EnergyPlus for the full building energy simulation. During this process, EnergyPlus daylighting controls were temporarily removed to prevent them from overwriting the Radiance results. The Radiance output files were accessed through the project’s run folder, specifically under the “Radiance Daylighting Measure Copy” directory. Key output files included SQL and CSV files. The SQL file was opened using DView and showed annual illuminance trends, including Direct Normal Illuminance, Global Horizontal Illuminance, the daylight sensor values, and the average illuminance from the illuminance map. The daylight sensor showed lower illuminance than the map average because it measures a single point, while the map averages multiple points across the room. This highlighted the importance of proper sensor placement. The illuminance setpoint was approximately 46 foot-candles (495 lux), and the results showed that this level was generally maintained. Additional views such as daily heat maps and monthly profiles were also available, along with detailed statistics in the CSV file. This completed the demonstration of using daylighting controls, illuminance maps, glare sensors, shading controls, and running the Radiance measure in OpenStudio. Thank you, and please like and subscribe.
17. OpenStudio SketchUp - Assign thermal zones automatically
In today's video, we will be using the OpenStudio User Script: Add New Thermal Zones For Spaces With No Thermal Zone.
Good afternoon. Today, we are going to teach you a very quick tip. A very good tip. This is a tip on how to assign thermal zones in just a few clicks to all spaces at once. Let us start. First, select the model. Next, go to the Extensions menu, then OpenStudio User Scripts, then Alter or Add Model Elements, and choose Add New Thermal Zone For Spaces With No Thermal Zone. Select it, click, and wait. All spaces are now assigned with thermal zones. Keep in mind that some thermal zones may appear to have similar colors, but the program recognizes them as different and unique thermal zones. This was the tip for today on how to reduce modeling time by assigning thermal zones to all spaces that are not already assigned to a thermal zone. Thank you! Please like and subscribe.
18.OpenStudio SketchUp - Adding overhang elements in a few clicks
In today's video, we will be adding overhang elements to all or select sub-surfaces of the model in
few clicks. These elements, also known as awnings, brises, or exterior shades aim to minimize the incidence of direct solar radiation to the windows.
This strategy helps to reduce the thermal load, thus minimizing the energy use of active air conditioning systems.
So let us look at another quick and useful tip in a few clicks. Today, we are going to be inserting window overhangs to the top of the windows. These are also known as horizontal brises, exterior shades, or awnings. These elements are essential to minimize the incidence of direct solar radiation on the window surfaces, and they help minimize the thermal load. To begin, our first step will be to select the model. Select the spaces to which we want to add the shades. We will select all spaces. Now go to Extensions, OpenStudio User Scripts, Alter or Add Model Elements, and select Add Overhangs by Projection Factor. It gives us options related to the dimensions of the windows, which will be used to make edits to the overhang elements in our model. The first dialog box, Projection Factor, refers to how far the overhang projects from the wall. It is a percentage of the window height. A value of 0.5 means it will project at 50% of the window height, which defines its length. The Offset corresponds to the vertical distance the overhang will be above the window, measured from the top edge of the window, and it is also a percentage of the window height. Click “OK”. We will now have the following result. Note the overhang elements that were created. These elements were generated based on the characteristics assigned in the dialog box. The previously mentioned Offset corresponds to the distance from the top edge of the window to where the overhang is installed. We will change these values to see how the shortcut works again. We will again select our model, click on Extensions, and repeat the same steps as before. Since we have already added overhangs, we will need to replace them. We will keep the size at 50% of the window or sub-surface height, and for the offset value, we will assign 0.2. Now select the True option, because we want to replace the old overhangs with the new ones. Click “OK”. Notice the vertical distance. We now have a greater vertical distance from the top of the window. Let us do it again as another example. Select True again. This time, we will remove the vertical offset and add another 20% to the size of the overhang element. Notice that the vertical distance no longer exists, and we have obtained an increase of 20% in the length of the overhang element. This was a quick instruction on how to use the OpenStudio User Script for adding overhangs to your windows. Thank you! Please like and subscribe.
19. OpenStudio SketchUp - Adding Photovoltaics
Today we will be adding photovoltaic systems to the energy model. We will prepare the model to receive the system, we will observe some fundamental details in the insertion and investigate the effects of the fraction of the area occupied by the photovoltaic system and its efficiency.
Good afternoon folks, we are back again, learning about energy modeling. We are using the SketchUp extension for Open Studio. Today we are going to be learning how to implement a simple photovoltaic system. We will also run the model, look at the results, and make some comparisons. A photovoltaic (PV) system is a system capable of converting solar energy into electrical energy, explaining it in a very basic way. Our aim here is to use this type of system for our model. To begin, let us first prepare a surface to receive the photovoltaic system. We cannot use any surface. For this user script, we will be applying the PV to a shading surface. Our first step is to use the “create shading surface group” tool. Select in the model a surface to apply the shading element. It will be our PV system. Validate by pressing the “Enter” key. We will not draw the PV system. The shading element should have the same shape as the photovoltaic (PV) system. So when you think about your photovoltaic system, think about its shape when you are drawing it. To simplify the progress of this video, we will not discuss optimal orientation (the best orientation for capturing the most sunlight). We have created the shading element. It is important that this dark purple tint is facing outward. If it is not outward, it is necessary to invert. If necessary: select the face, right click, reverse faces. We will extrude our surface to a box to give it some depth. (Alternatively, you can use the move tool to position the surface a little higher.) Okay. Now we will assign the photovoltaic (PV) system. Select the shading group and select the surface. Go to “Extensions”, “OpenStudio User Scripts”, “Alter or Add Model Elements”, “Add Photovoltaics”. We have a dialog box with three options. The first option is choosing a load distribution center. It is the control center for metering and managing the PV system. We do not have a distribution center, so it is necessary to create it. Leave this as default. The second option describes how much of the surface is covered with PV cells. As shown on the screen, the value is specifying that 100% of the photovoltaic system will occupy the shading element. If we only assigned 50%, the value to be specified would be 0.5. The program would understand that only 50% of the system would occupy the shading element. We will leave the default value. The third option tells us about the conversion efficiency of the PV. The conversion of solar energy into electrical energy is not 100% efficient. It does not convert all of the sunlight into electricity. The default efficiency is 20%. Depending on the manufacturer, the percentage of efficiency can be different. We will leave it as a default. We click OK. You can see now that the photovoltaic system is assigned to the building. In the model, this system could be in any position, but strategically it is positioned on horizontal surfaces or even with a certain angle. That will capture the most solar radiation. The next step is to simulate. We open the model in Open Studio and run the simulation, and we will evaluate the simulation results. We are going to add a report measure to be able to evaluate the energy produced by the PV, how much electric energy is consumed by the building, and how much is generated by the PV. For this model, simple internal loads were used such as lighting and electrical equipment. They are there so we can test the photovoltaic model. The measurement report is already added. We are using the International measurement system (Philippines version). Let us run the simulation. We were successful in our simulation. We will evaluate the report. According to the “Building Summary”, we see our model has a total demand for electricity. There are internal loads generating this demand. Let us look at the “Renewable Energy Source Summary”. This is electricity produced by the photovoltaic system that we added, where the photovoltaic system would occupy 100% of the shading element and has 20% efficiency. The system is capable of generating an electricity equivalent to 9,816 kWh. This results from the characteristics that we previously assigned. We can also see in the “Site and Source Summary” guide. Here we have the electric energy demand of the model. Below we have the “Net Site Energy”. It is a difference in energy consumed and produced, the energy being consumed minus the energy generated from the photovoltaic system. Of course, we will not find exactness in values if we do the calculations. There are distribution and energy conversion losses. These losses add up from the PV array, to the electrical wires, to the DC to AC conversion, and finally the reactive losses going to the electrical grid. These factors are used to estimate approximately. They are, in general, reliable estimates. We are now going to change the characteristics of the photovoltaic system and re-evaluate those numbers in the report. Let us memorize this amount of electricity produced so that we can compare it later. This generated value corresponds to a fraction of 100% of the shaded area as solar cells operating at 20% efficiency. We will change these values. Go to “Extensions”, “OpenStudio User Scripts”, “Alter or Add Model Elements”, “Remove Photovoltaics”. First, let us remove the existing system. Click “Yes” to remove it completely. We are now going to assign a new photovoltaic system. Let us change the fraction of the photovoltaic plate. Efficiency will remain at 20%, so that we can compare with the numbers we already have. Click OK. Save the model and reopen it in the Open Studio application. Now let us simulate again. We were successful again. We will evaluate the report again. The system generated 4,908 kWh of electrical energy. This value corresponds to exactly half of the energy produced previously. As we reduce the photovoltaic system by 50%, we will also reduce 50% of the electricity generated, and that is exactly what was expressed in the report. We will now work with efficiency. By default, the program uses 20% efficiency. We are going to increase the efficiencies to obtain new values of electric energy. Again, we are going to edit. Every time you edit, you need to click on the surface and remove the existing system as we did previously. It allows you to deploy a new system. This time we are not going to touch the fraction of the area, but the efficiency. We will add an additional 20% efficiency to our system, resulting in an overall efficiency equivalent to 40%. We click OK. Save it. Re-open it in Open Studio (you can search for the file or just use “Revert to Saved”). And we have it opened again. Recall that we are investigating the influence of the efficiency variable of the photovoltaic system. We will run the simulation again. Simulation finished. Let us evaluate the results. Go to the “Renewable Energy Source Summary”. We observe that the value of electric energy produced is now approximately 19,633 kWh. In the first simulation, with characteristics of 100% area fraction and 20% efficiency, we obtained a value of 9,816 kWh. Realize that the value of power generation has increased, and this increase is justified by the 20% increase in efficiency that we used this time. It is clear that our changes affected the simulation. So, that is basically it. It is the way to add photovoltaic systems to energy models. There are many factors to be analyzed when designing a photovoltaic system. This SketchUp OpenStudio User Script allows you to easily customize the dimensions and simple performance parameters of a PV system. It will allow you to quickly evaluate the performance of a photovoltaic system. I thank you all, I ask you to subscribe to the channel, enjoy the videos, and do not forget to click on the notifications to receive updates whenever we post new videos.
20. OpenStudio SketchUp - All About Shading Surfaces
We'll cover the three categories of shading elements available in the video and when to use each one. We will assign construction materials to the shading elements as well as transmittance schedules. The model will be simulated and the properties will be evaluated in the HTML report made available by the program after the simulation.
In this video, we explore the three categories of shading surfaces used in energy simulations and demonstrate several OpenStudio user script tools before running a full simulation. We begin by assigning shading surfaces using the “New Shading Surface Group” tool. An eave is created for the roof using the line tool, followed by a neighboring building modeled as a rectangular shading surface. We also create a tree in front of the building using the rectangle tool, cut it, and reposition it closer to the structure. At this stage, the model contains three shading surfaces: the roof eave, a neighboring building, and a tree. Next, horizontal window shades are added using a user script, where the projection factor is set to 0.5 (50% of the window size) and the offset is set to zero, placing the shade at the top of the window. The difference in color between shading elements is intentional and indicates that the program recognizes different shading types. We then explain the three shading surface types available in the Inspector tool: site, building, and space. Site shading elements represent objects external to the building, such as neighboring buildings and trees, and do not rotate with the building. Building-type shading elements, such as roof eaves, are part of the building and rotate with it. Space-type shading elements are associated with specific spaces, making it easier to edit multiple shading elements linked to a space. To improve clarity in OpenStudio, shading elements are renamed appropriately. After defining these types, the model is exported to the OpenStudio application, where geometry integrity is checked, ensuring all shading elements are correctly placed. In the Facilities tab under the Shading sub-tab, all shading elements are listed, including a few empty elements that do not affect the simulation. Next, we assign construction materials to the shading elements. In the Constructions tab, new constructions are created for each shading type. The neighboring building (site type) is assigned a concrete material, the tree (site type) is assigned wood, the roof eave (building type) is also assigned concrete, and the exterior window shades (space type) are assigned a metal material. These constructions are then applied to the corresponding shading elements in the Facilities tab. Although these materials are approximations, OpenStudio allows detailed material editing and access to extensive libraries. After assigning constructions, we create a transmittance schedule for the tree to represent seasonal foliage changes. A fractional schedule named “tree” is created with a default transmittance of 0.9, reduced to 0.1 between March 20 and September 23 to represent full foliage, and set to 1.0 during winter and summer design days to represent leafless conditions. Finally, solar distribution settings are configured in the simulation control to include both exterior and interior reflections. The transmittance schedule is assigned to the tree and relevant shading elements. The model is then simulated successfully, and results are reviewed through the generated HTML report. The report shows visible solar reflectance and transmittance values for all shading elements, including exterior window shades, neighboring structures, and vegetation. These properties directly influence the building’s energy balance and overall performance. The video concludes by emphasizing how shading elements and their properties affect energy modeling results, encouraging viewers to subscribe, enable notifications, and follow future tutorials.
21. OpenStudio SketchUp - Assigning Stories
In this video we will present a quick and efficient way to characterize the building's floors. For the characterization of the floors, we will use another one of the Users Scripts.
In this quick tip, we introduce another useful tool available in the OpenStudio “User Scripts.” The focus of this video is on quickly assigning floor numbers, also known as stories, to a building model. First, we verify whether stories are already assigned by maximizing the Inspector window and checking each floor level. We observe that the first floor, intermediate floors, and the top floor already have story numbers assigned. However, to demonstrate the tool properly, we assume that these assignments were forgotten during modeling. To start fresh, we remove all existing story assignments so the model has no floors defined. After removing the story assignments, we return to the initial step. We select the entire model and minimize the Inspector window. With the model selected, we navigate to the Extensions menu, choose “OpenStudio User Scripts,” then select “Change or Add Model Elements.” From this list, we use the tool designed to assign floors (stories) to the building. Once selected, we wait briefly while the program automatically processes the model and assigns the stories. Next, we verify the results by maximizing the Inspector window again. We can see that the stories have now been correctly assigned to the model. The tool automatically detected the number of floors in the building and assigned them accordingly. The program determined that this building contains four floors, and the assignment was completed without manual input. Although this automated method saves time, story assignments can also be adjusted manually if needed. Individual spaces can be selected, and a different floor number can be assigned using the checkbox in the Inspector, such as manually assigning a space to the fifth floor. This flexibility allows both automated and manual control depending on project requirements. The video concludes by reminding viewers to subscribe to the channel, like the videos, and activate notifications to stay informed about new content.
22. OpenStudio SketchUp - Cleanup Origins
In this tutorial, one more functionality of the user scripts extension will be covered. Let's learn how to resize the available space in relation to the space needed. It should be noted that it is a practical tool to use, but you should pay close attention to how you use it.
Let us begin another video in the “User Scripts” series. As we know, User Scripts are important tools that help save time and improve workflow efficiency. They are often very effective; however, it is important to be careful when using them. In today’s example, we have a building model where the space origins are located far outside the actual spaces. While this is mainly a visual issue, it can be confusing and make the model difficult to work with. A quick solution to this issue is available through the “User Scripts” extension using the “Cleanup Origins” tool. Before performing this procedure, we first save the model and check for any errors or warnings. In this case, there are no errors or warnings in the project. Although this procedure can be applied to a single space, we will apply it to all spaces in the model, since many spaces require correction. To do this, we select the model, go to Extensions, OpenStudio User Scripts, Alter or Add Model Elements, and choose Cleanup Origins. Once the program finishes executing the command, the model may appear visually confusing at first, but this is usually not a problem. We then save the model and reopen it. After reopening, all space origins have been corrected and readjusted to fit properly within their respective spaces. It is very important to pay attention to any errors that may be generated by this procedure. Checking for these errors is essential. To verify the results, we use the Inspector tool and review any error information to ensure no distortions or unintended changes occurred in the model. Resolving errors is critical to avoid problems during simulations. This concludes another video in the “User Scripts” series. Thank you for your attention, and don’t forget to subscribe to the channel.
23. OpenStudio SketchUp - Export Selected Spaces to a new External Model
In this episode, we discuss the OpenStudio user script "Export Selected Spaces to a new External Model". It is used to eport geometry and space type information into a completely new, separate, OpenStudio model for further analysis of different thermal zoning patterns and/or HVAC systems.
Today we are going to talk about another useful User Script. It is located under Extensions, OpenStudio User Scripts, Alter or Add Model Elements, and it is called “Export Selected Spaces to a New External Model.” In this example, we have a model with various different spaces. If we take a look at the OSM file, we can see that it has a weather file assigned, schedule sets, construction materials, people loads, lighting loads, and gas loads. It also includes specific space types, and in the Spaces section we can see that spaces have already been assigned. In addition, some thermal zones have been assigned, and those thermal zones are associated with HVAC systems, making this a fully complete model. If you want to export some of these spaces—or even all of them—into a separate model in order to create a different thermal zoning pattern or assign different HVAC systems, this User Script allows you to do that. You can select multiple spaces and export them, or you can select all spaces and export them to an external model for further analysis. In this case, we will select all of the top floor spaces and export them to a separate file so that we can analyze them and assign a different type of HVAC system. This allows us to study how this floor operates under different scenarios. We go to User Scripts, Alter or Add Model Elements, and select “Export Selected Spaces to a New External Model.” The program reports that the process was successful and that it created a new model with 36 spaces. When we open the new model, we can see that the 36 spaces have been exported. The space types, along with the associated people and lighting loads, are included. Looking at the geometry confirms that the upper floor was exported. However, when we check the Thermal Zones tab, we see that no thermal zones were exported, and when we check the HVAC tab, no HVAC systems were exported either. This new model can be considered a seed model for analysis of the upper floor, allowing you to assign new thermal zones and HVAC systems and study system behavior under different parameters. That is how you export geometry to another model using Extensions, OpenStudio User Scripts, Alter or Add Model Elements, and “Export Selected Spaces to a New External Model.” Thank you, and please like and subscribe.
24. OpenStudio SketchUp - Merge Spaces From External File
In this episode, we discuss the OpenStudio user script "Merge Spaces From External File". It is used to import geometry and space type information into an existing OpenStudio model for further analysis. This measure is useful for combining buildings into a large campus model for analysis of shared HVAC systems such as a central heating or cooling plant.
Today we are going to talk about another useful user script. It is located under Extensions, OpenStudio User Scripts, Alter or Add Model Elements, and it is called “Export Selected Spaces to a New External Model.” You can see that we have a model with various different spaces in it. If we take a look at the OSM file, you can see that it has a weather file assigned, schedule sets, construction materials, and people, lighting, and gas loads. It also has specific space types, and in the Spaces section you can see that spaces are assigned. You can even see that thermal zones have been assigned, and associated with those thermal zones there are HVAC systems, making this a fully complete model. If you want to export some of these spaces, or even all of them, to a separate model in order to create a different thermal zoning pattern or different HVAC systems, you can use this measure. We can select multiple spaces and export them to an external model, or we can even select all of them and export them to an external model for further analysis. In this example, we will select all of the top floor spaces and export them to a separate file so that we can analyze them and assign a different type of HVAC system. This will allow us to see how this first floor operates using different scenarios. Go to User Scripts, Alter or Add Model Elements, and select “Export Selected Spaces to a New External Model.” The program reports that it was successful and that it created a new model with 36 spaces. When we open the new model, you can see that the 36 spaces were exported. It includes the space types as well as the people and lighting loads associated with them. If we look at the geometry, we can see that the upper floor was exported. However, if we look at the Thermal Zones tab, no thermal zones were exported, and if we look at the HVAC tab, no HVAC systems were exported. You can think of this as a seed model for doing analysis on the upper floor, where you can assign new thermal zones and HVAC systems and run separate simulations to see how the system operates with different parameters. That is how you export geometry to another model using Extensions, OpenStudio User Scripts, Alter or Add Model Elements, and “Export Selected Spaces to a New External Model.” Thank you, and please like and subscribe.
25. Building Energy Modeling in OpenStudio - Troubleshooting 2
In this series of episodes, we discuss some common simulation warnings and errors found in the EnergyPlus eplusout.err file. We will discuss these errors, and show common strategies to resolve them.
In this series I am going to cover a lot of the most common errors associated with running OpenStudio models for the first time. It is very discouraging to run a model and get the error “simulation failed to run.” A lot of this stems from improper inputs to the program. To find information about these errors on YouTube, go to YouTube and type in OpenStudio followed by the error that you are getting. For example, type “requested number of time steps is less than” and then hit enter. I will have the video captions posted in the description. You can find many of these error codes by typing in OpenStudio and then the error wording. If I discuss it, you should be able to find it. For example, the error we just typed can be seen in the description and in the closed captions. If you click on it, it will go right to the video that discusses the error “Requested number of time steps is less than suggested minimum.” Let us begin. Go to the folder where the OpenStudio file is located and open it. We have our OpenStudio file here, the OSM file. It also creates a folder with a large amount of output information. Open this folder, go to the run directory, and look for the file called eplusout.err, which is an “.err” file. You can open this file with a text editor, as discussed in previous troubleshooting videos. You will see that there are several warnings and also some severe errors. Normally, severe errors are what cause simulation failures. However, there are a few warnings that could significantly affect your model and should not be neglected. EnergyPlus will usually continue to run a simulation even if there are simple warnings, but some warnings should be treated as severe errors even if the simulation completes successfully. Looking at the first warning, we see “CheckEnvironmentSpecifications: SimulationControl specified doing design day simulations, but no design environments specified.” If we go back to the model and look at the Site tab and the design day information, we can see that no design days were specified. These design days represent the most extreme summer and winter temperatures, and since none were specified, the design day simulation error occurred. To fix this, we need to import a design day file, which can be downloaded from the EnergyPlus website. We also see another error stating that weather simulations were specified but no weather file was assigned. Looking at the model confirms that no weather file was set. In the error file, there are severe errors stating that a weather simulation was requested but no weather file was attached and that errors were found when getting a new environment. At the bottom of the error file, a summary shows the number of severe errors and warnings. After adding the weather file and design days, we run the simulation again and it completes successfully. Now let us look at the error file again. The previous errors are gone, but there are still other warnings. The first warning mentions the schedules “ALWAYS OFF DISCRETE” and “ALWAYS ON CONTINUOUS.” If we search for these in the OSM file using a text editor, nothing appears because these schedules are not stored in the OSM file. They are automatically added when OpenStudio translates the model to EnergyPlus. These warnings are not important and can be ignored. The next warning states that there are 11 nominally unused constructions and suggests using Output:Diagnostics with DisplayExtraWarnings. In recent versions of OpenStudio, this option is located in the simulation settings menu. We enable display extra warnings and re-run the simulation. After reloading the error file, it now lists the 11 unused constructions. Looking at the constructions tab, we see that these constructions are part of a construction set. They should be used, so we check whether the construction set is applied to space types. It is applied at the facility level but not at the space type level. When we check the thermal zones tab, we see that no thermal zones are assigned. This is a major issue because EnergyPlus only simulates thermal zones, not spaces. OpenStudio groups spaces into thermal zones, and those zones are passed to EnergyPlus. Without thermal zones, the model is essentially empty. We create a thermal zone and assign all spaces to it, then run the simulation again. After doing this, the unused construction warnings disappear. A new error appears stating that the requested number of timesteps is less than the suggested minimum of four. This relates to the Timestep object described in the EnergyPlus Input/Output Reference manual. We go to the simulation settings tab in OpenStudio and change the number of timesteps per hour from one to four, which results in 15-minute timesteps. After running the simulation again, this error is removed. Another warning appears regarding ManageSizing and the lack of Sizing:Zone objects. The Input/Output Reference manual explains that Sizing:Zone objects are required for zone sizing calculations, which occur when HVAC systems are present. Checking the thermal zones tab shows that no HVAC systems, air loops, or zone equipment are assigned. Additional errors indicate missing district heating and cooling meters, which exist because there is no HVAC equipment to meter. To fix this, we enable Ideal Air Loads for the thermal zone, which provides ideal heating and cooling. After running the simulation again, the sizing errors disappear. Another warning appears regarding ground temperatures not being specified. EnergyPlus defaults to a ground temperature of 18°C, which is acceptable for most models. This warning is not serious and will not significantly affect the simulation unless extreme climate conditions are involved. Thank you, and please like and subscribe.
26. Building Energy Modeling in OpenStudio - Troubleshooting 3
In this series of episodes, we discuss some common simulation warnings and errors found in the EnergyPlus eplusout.err file. We will discuss these errors, and show common strategies to resolve them.
Let us look at the next warning in our eplusout.err file. It says: Warning CheckConvexivity: Zone="Thermal Zone 1". It tells you what surface is applicable. It is non-convex. What is convexivity? What is convex and what is non-convex? We will copy this text and search for it in the EnergyPlus input output reference manual. It takes you to this bit of information. It describes convexivity. It tells you that convexivity only seriously affects your model if you are running FullInteriorAndExterior or FullInteriorAndExteriorWithReflections. What do these selections mean in OpenStudio? Go to the simulation settings tab...simulation control...solar distribution. It gives you an option for how EnergyPlus will simulate the model. Right now we only have FullExterior selected. It will only be modeling the energy effects of the Sun as it contacts exterior surfaces. It will not be taking into account Sun Reflections going through windows and bouncing off floors and walls. If you want to model full solar effects that go through windows and bounce off the inside of the spaces, you need to select FullInteriorAndExterior or FullInteriorAndExteriorWithReflections. If you are modeling just FullExterior, you don't have to worry about these non-convexivity issues. Let us go back and take a look at what exactly convexivity is. In a nutshell, this shows convex zones and non-convex zones. Definition Convex Zone: a light Ray will only pass through two surfaces as it enters and exits the zone. Definition Non-Convex Zone: a light Ray would pass through more than two surfaces. You can see, for example...if this light Ray went through this wall right here and it might pass out through this wall right here. It only passes through two surfaces. Whereas, this right right Ray might pass through this window right here and it might go out through this wall and it might go in through this window and then it might also pass out through this wall. It is non-convex because it is actually transiting one, two, three, four surfaces. That is the definition of a convex Thermal Zone. And non-convex Thermal Zone. If you take a look at our building, you can see that there are a lot of spaces that we have here, but all of these spaces are grouped into only one Thermal Zone. That one Thermal Zone...all of these spaces get combined into one big Thermal Zone and they get sent to EnergyPlus. You can see that our building is actually quite non-convex. If you drew a line passing from one side of the zone to the other you can see that it passes through multiple surfaces. That is what this warning is telling us. If you do have zones that are non-convex; you are going to get a warning. There are also non-convex surfaces as well. As mentioned, if you are only modeling full exterior you do not have to worry about these these non-convexivity errors. Let us now discuss convex and non-convex surfaces. This is saying that we have a surface number 100 which is non-convex. We can search for the surface 100 in our .osm file and in SketchUp. You can see that this surface has five vertices and is highlighted. If the vertices are not on the same plane, EnergyPlus gets confused. This is not a serious error unless the surface is severely curved. To fix it, connect the vertices into triangles. After editing the surfaces, reload the model in OpenStudio and rerun the simulation. The errors are removed. The next warning indicates vertices that are extremely close together, which EnergyPlus automatically resolves by dropping one vertex. This does not significantly affect the model. You can fix it by moving the vertices slightly apart. After correcting these issues, reload and rerun the simulation. The simulation is successful and the errors are resolved. That is enough for today. We will continue this series of videos troubleshooting errors in future episodes. Thank you! Please like and subscribe.
27. Building Energy Modeling in OpenStudio - Troubleshooting 4
In this series of episodes, we discuss some common simulation warnings and errors found in the EnergyPlus eplusout.err file. We will discuss these errors, and show common strategies to resolve them. Errors in this episode: 1. CalculateZoneVolume: The Zone="THERMAL ZONE 1" is not fully enclosed. To be fully enclosed, each edge of a surface must also be an edge on one other surface. 2. The surface "SURFACE 10" has an edge that is either not an edge on another surface or is an edge on three or more surfaces:
Okay, we are back here for another episode of troubleshooting the errors. We are looking at the eplusout.err file. The next warning that we get is CalculateZoneVolume: The Zone="THERMAL ZONE 1" is not fully enclosed. To be fully enclosed, each edge of a surface must also be an edge on one other surface. Then it says The zone volume was calculated using the opposite wall area times the distance between them method. So, that is the first error. We are going to look at this next one in a minute. These are two related. Let us talk about this calculate Zone volume error. First we will go take a look at the model. One of the things that we need to note is this model has a single Thermal Zone. Even though I have all of these different spaces, when this gets passed to EnergyPlus it becomes one big blob. It is a combination of all of the spaces. It is an average of all of these different spaces. If we take a look at this rendered by Thermal Zone, you can see it is just one Thermal Zone. There are no other colors. So, this whole thing gets passed to EnergyPlus as a single piece of geometry. A single zone that would be controlled by a single thermostat. But, it is complicated. There is complicated geometry. With this error "calculate Zone volume" EnergyPlus is saying the geometry is not fully enclosed. EnergyPlus is saying there is a piece missing somewhere. For example, there is a hole or something in your geometry. EnergyPlus is saying this is not fully enclosed. There is a hole somewhere, so it can not calculate the volume based on all of the surfaces. So for example EnergyPlus will calculate the distance between, say, this wall here and this wall here and it multiplies it by the area of this wall. EnergyPlus is assuming that this is basically just a rectangular Thermal Zone. But it is not. Therefore, EnergyPlus tends to make very big mistakes on this. There are two ways to solve this problem. You can figure out where the hole is and try to patch it up. But, sometimes that is not successful because the holes can be very small. Or, there could just be some mismatch in your lines that are connecting the spaces. The other solution is to hard size the volume and the floor area. Basically, you would manually calculate what the floor area is. Then, you would enter it in here; in the Thermal Zone in the OpenStudio inspector. Then, you would calculate the volume and then hard size that right here. How would you do that? You can have SketchUp do it for you! We will just open up another instance of SketchUp. We will copy all of this. Click Control-A to select all. Control-C and copy this. Click Control-V to paste it in here. Now we have our model pasted into another instance of SketchUp. Click Control-A to select everything and then right click and explode the whole thing. That destroys all of our spaces that we created. It just makes the model dumb. All of these surfaces are at the very top level. It is all one big mixture of surfaces. We will do a side view and change the perspective, then go through here and delete all of the walls. Delete all of the walls. This gets kind of tricky, especially if you have windows. I have most of it deleted. Then you can open up the default tray, entity info. If you click on any one of these surfaces, SketchUp will show you what the area is. You could go through and add all of these up. Alternatively, you could have SketchUp calculate that for you. We will just hide this for now. Click hide. Then, do a top-down view of this. Now we can just delete all of these floors. Now it is one big floor. Then, if you just add one line here, it should connect everything up into a single surface. Now, if you click on that surface, that will give you the total floor area. Right here. 12,435. Then, you can go into your model and hard size the floor area. Click hard size and then put in 12,435. You can do the same thing for volume. If we do unhide all, you would still need to go through and delete these windows and stuff. Assume we deleted all the windows. Then you start connecting this together into one piece of geometry. You may have to delete all of these ceilings too. Once you have the whole thing patched up into one big piece of geometry, you should be able to click on it and SketchUp will tell you what that volume is. I will do a sample here. I will just draw a rectangle and then push-pull it. If you click on the surface SketchUp will tell you the area. Now, select the whole thing, right click, and do a make group. Now, SketchUp will tell you what the volume is right here. That is basically what I did. I removed all the walls, the floors, and the ceilings, and I reconnected everything up so it was one continuous hollow piece of geometry. Then I had SketchUp calculate the volume. That is one way of solving this calculate Zone volume error. This error is also connected with another error which says a surface has an edge that is either not an edge on another surface or is an edge on three or more surfaces. This happens because the whole building is a single Thermal Zone. To fix this, you can either separate the spaces into individual Thermal Zones or use surface matching. Go to surface matching, intersect in entire model, then match in entire model. After matching, interior walls are correctly recognized. The model runs successfully, but some zones may still not be fully enclosed. In those cases, hard sizing the floor area and volume solves the problem. That is how you solve these errors. Thank you! Please like and subscribe.
28. OpenStudio Tips - Natural Ventilation-Windows
We discuss how to download and implement the OpenStudio measure "Add Wind and Stack Open Area". This measure simulates opening a casement or door type window for natural ventilation. It takes into account wind driven air exchange and thermal bouyancy "stack" effect air exchange.
I get a lot of questions about how to do natural ventilation. There is a number of ways that you can approach natural ventilation. We will focus on one of them in this episode; adding a natural ventilation object to your windows on the building. That object is called ZoneVentilation:WindandStackOpenArea. This is a download that you can get from the Building Component Library. If we go to the BCL and we search for "stack"... Here it is. It is called Add Wind and Stack Open Area. You can download this measure and put it into your my measures directory. I discussed this in some of my other videos. Unfortunately this version in the building component library, at the moment, is an older version. It is not compatible with the most recent version of OpenStudio. What can we do? We can go to GitHub.com. Search for Building Performance Simulation. One of their repositories, OpenStudio Measures, has...they are updating many of the EnergyPlus measures to be OpenStudio measures. We can go into their Library, measures, and then add_wind_and_stack_open_area here. You would have to download all these folders and files and place them inside your my measures folder. I discussed this in my previous video, but you can go to the measures Tab and easily open up your My Measures folder with this button down here. So, that is where you would place these downloaded files. You would place them in their own folder called add_wind_and_stack_open_area. That way you can access those through OpenStudio. So, what does this wind and stack open area measure do? It is based on some ASHRAE research...it is based on a typical door or a casement type window that that swings outward. It has an opening area from the very bottom of the window to the very top. From the very bottom of the door to the very top of the door. If we look at casement windows...and...I am trying to find a good example... A casement window is very similar to a swinging door. It opens very much like a door. We can just take a look at this one right here...just do a Snipping tool...and we will just do this...so we can draw on this. What does this add_wind_and_stack_area measure do? It looks at two different calculations from ASHRAE fundamentals. There is a wind component and it uses this equation here. It is based on open area, the effectiveness, the angle of the window to the wind, the actual open fraction of the window, and the wind speed. That is the wind component of the equation. The other component of the equation is a stack effect. This equation here. It is based on a temperature difference between the outside air and the Zone temperature. It is also based on a height difference between the neutral pressure level and the open area fraction...how open is the window...and then the actual window opening area and there is a discharge coefficient of the opening. What is this stack effect doing? It is modeling a thermal bouyancy stack effect. Basically, when you open the window there is a neutral pressure level here somewhere in the middle of the window. Air is getting sucked in at the bottom portion and air is discharging out the top portion of the window. So, this measure is combining the stack effect and the wind effect as a quadrature sum. It is calculating a ventilation rate for that room. Let us look at our model...we have a typical building. This was generated with the Department of energy prototype measure. It is a typical, standalone, office building. It has a number of Windows and doors located around the building. All of these windows on this model are are called fixed windows. So, the first thing to note with this measure; we have to change these windows to operable windows. You can go to the spaces tab...and go to subsurfaces...we can search by subsurface type...we can look for fixed windows. We want to change all of these to an operable window type. We will change that one and then we will apply to selected. That changes all of our windows in the building to operable windows. You can change whatever windows you want. For this example we are going to assume that all the windows in the building are operable. We will click save. The next step is to go to the measures tab. The measure that we are looking for is located under Library, envelope, fenestration. We will select the my measures one. As I said, the older BCL measure is outdated and it does not work with the latest version of EneryPlus. We will do this one that we downloaded from GitHub. We will drop it into the OpenStudio measures spot. We can click on it to edit the input variables...it gives you a number of options. This drop down give the option to add this wind_and_stack_area object to all operable windows. Or, you can select the type of window that you want it to be applied to. You may have multiple different windows in your project. For this example, we will just apply it to all the windows. The next component is open area fraction schedule. It says "a typical operable window does not open fully, the actual opening area in a zone is a product of the area of upper windows and the open area fraction schedule." It also says it defaults to 50 percent. What is that saying? With 50%, it is saying that the window is only open 50 percent. This is just a default open fraction schedule (of 50%). If we wanted to adjust that opening, we can create a fractional schedule. You would go to schedules tab, schedules. Then, add a schedule. Select fractional. Click apply. Suppose we wanted the window to be open 75%. We would hover over it and type 0.75. That would be the window opening percentage of total area. We could just call this...natural vent window fraction schedule. Suppose, the window is closed at night...we can double click and say at night time it is at zero. The windows are always closed at night. They are only open during the day and when they are opened they are opened to 75%. We could say that the people go home around four o'clock and close the windows before they leave. There is our open area fraction schedule. This is this is the first part of it. We can go back to the measures tab, select the measure, and then select our custom fraction schedule. This one that we just created. Natural vent window fraction schedule. There are also a bunch of other parameters that we can input. Minimum indoor temperature; this is the indoor temperature below which the windows are shut closed. Even though we have this fraction schedule, if the indoor temperature is below this value, the occupants will not open the windows. Alternatively, you can specify a custom temperature schedule if the occupant preferences vary throughout the day. You can create a custom schedule; for instance, the occupants would never open the windows in the mornings unless the indoor temperature was a certain value. But, they might open it in the afternoons if the indoor temperature was a certain value. So you can create a temperature schedule for that. Moving on...there is a maximum indoor temperature above which the windows are closed shut. If the temperature inside the room gets above this value, the occupants will always close the windows. Likewise, you can create a custom schedule. The next one is maximum indoor-outdoor temperature difference. This is the temperature difference below which the ventilation is shut off. Three degrees is quite small. It is pointless to open those windows if there is a temperature difference below three degrees (unless it is windy). You can also assign a custom schedule. The next one is minimum outdoor temperature; this is the outdoor temperature below which the ventilation is shut off. The next one is maximum outdoor temperature; this is the outdoor temperature above which the windows are closed shut. Finally, the last component is the maximum wind speed in meters per second. Above this wind speed, the windows are shut. We can go ahead and run the measure. We will go to the Run simulation Tab and click run...the simulation was run successfully. We can compare results with and without natural ventilation. Site EUI without natural ventilation is 33.26 and with natural ventilation it is 33.04. Heating increases slightly while cooling decreases significantly, resulting in net savings. Climate zone matters; this model is in ASHRAE climate zone 5B in Oregon. Increasing window height can increase ventilation but may increase cooling due to added solar gains. Results show a balancing act between window size, orientation, wind, and occupant behavior. This measure only accounts for window-level stack effects and does not model full-building stack effects like roof vents. That is how you simulate window ventilation. I think that is good for today. Thank you! Please like and subscribe.
29. OpenStudio Tips - Natural Ventilation-Zones
We discuss how to implement the OpenStudio measure "Add Wind and Stack Open Area" on thermal zones. This EnergyPlus object simulates natural ventilation for a thermal zone. It takes into account wind driven air exchange and thermal bouyancy "stack" effect air exchange. By adjusting a few parameters and assigning to thermal zones, we can do a simple simulation of whole building natural ventilation.
We are back with another episode and we are still talking about natural ventilation. If you did not see the previous episode; we talked about modeling natural ventilation with operable windows. This time, we are going to talk about modeling natural ventilation with a more purposeful design of natural ventilation. In this episode we are going to talk about using the whole building for natural ventilation. Let us take a quick look at this. What does this look like? We will just take a snapshot of our building. You can see that...in the previous episode we had a window, a simple window. The ventilation was coming in the bottom of the window. It was circulating through the room and then it was going out the top of the window. In this episode we will be modeling ventilation with the windows again, but in this instance the air is entering through the Windows and escaping through some exhaust/vent at the top of building. That allows you to take advantage of the thermal buoyancy "stack" effect. It will allow for more natural ventilation into the building. There is some terminology that we need to discuss, similar to last time, as part of this natural ventilation. There is going to be what is called a "neutral pressure level". It is an arbitrary place in the building where the pressure is causing the air to enter the building below this level and exit the building above this level. This neutral pressure level can vary depending on the temperature differences between the inside and the outside and also the wind speed and wind direction. For simplification, this neutral pressure level can be approximated as half of the distance between the top and the bottom, the inlet and the outlet. So, this is the value we will be working with, right here. Going back to our model; we took our model from a previous episode and we have saved it as a new version. We can go to Thermal Zones...I am sorry, let us go to Measures first. We will delete the operable windows that we did last time. Now we will go to the Thermal Zones tab. Go to the library and go down to Zone Ventilation Wind and Stack Open Area. This is the same object that was being used in the previous episode, but it was being applied to only the windows. In this instance, it is being applied to the whole Thermal Zone. We can drag this in and apply it to our Thermal Zone. You can apply this to any Zone you want. For this example, we are just going to apply it to the zones with Windows. We will run this model and compare it to the previous one with simple operable windows. This model is assuming operable windows, but it is also assuming that we are going to have that ventilation coming into the window and escaping out the top of the building. Let us take a look at this object. You will notice that almost all of these inputs are the same inputs as we used last time. The first input is called Opening Area. We are looking at Zone 1, so let us take a look at Zone 1 here. The opening area is going to be our Windows once again. We can have SketchUp calculate those window areas for us. Hold down the shift key and select all of these windows. We can see that the total area is about 270 square feet. This is actually in meters, so we can go to preferences, units, change it back to English...270 square feet. The next input is the Open Area Fraction Schedule; this is the fraction schedule that we created in the previous episode. It is called Natural Vent Window Fraction Schedule. We are going to use the same window opening schedule as we did previously. The Opening Effectiveness is based on those equations that we talked about last time. You would have to look into the Input Output Reference Manual or the Engineering Reference Manual for EnergyPlus. You will find those equations there. We will leave it to Auto calculate just as we did last time with the measure. The effective angle; that angle is based on orientation from true north. If we go ahead and look overhead on our model you can see the green axis. That is true north for our model. We will be using that as the direction of zero and it goes around clockwise in degrees. This Zone one is actually located at an effective angle of 180° from true north. The height difference is going to be that distance between the middle of the window and the neutral pressure level. It is going to be this distance right here. We can calculate that using SketchUp. We are just going to extend this out...midpoint of the windows...this...up here. SketchUp is telling us that this line is 16 feet long, so it is going to be approximately half of that. Let us say...8 ft (2.44 m). Discharge Coefficient for Opening; that is based on the equations that we talked about last time. You can find those in the reference manuals. The minimum indoor temperature; we can look at our previous model. We will use the same numbers just so we are comparing apples to apples on this simulation. The minimum indoor temperature was 21.67°C. I will have to change back to units, metric...21.67. Maximum was 40°C. The delta-T was 3°C. The minimum was 18.33°C. The maximum was 25.556°C. The maximum wind speed was 5.4 m/s. We will save the model. We are going to apply this object to all the other zones with operable windows. We can select these other three zones. Select the object and apply to selected. The only thing that we have to change now is the opening area and the effective angle. Let us take a look at Zone 2. The effective area is 176 square feet (16.4 square meters). Change this back to English...176 square feet. The effective angle for Zone 2 is 90° from true north. Let us go to Zone 3. It is facing true north and the window area is 180 square feet, using true north. Finally, Zone 4. The window area is 120 square feet. It is facing 270° from true north. Those are the parameters that we can input for our model. Now, we will run our model and compare it to the model that we created in the previous episode. The simulation has completed successfully. We could take a look at the output reports and simply compare energy use intensity. For this example we want to compare the ventilation flow rate of this natural ventilation, so we selected some output variables on the Output Variables tab. We are going to use DView to view those. These output variables record some variables during the simulation. I cover this on some of my other videos, so we will not talk about that now. Go to the top right and click the show simulation button. It will take you to the Run folder for the simulation. We are looking for the eplusout.SQL file. We are going to open that using DView. We are going to select Outdoor Air Dry Bulb Temperature, Zone Mean Air Temperature for Zone 1, and Zone Ventilation Standard Density Volume Flow Rate for Zone 1. Likewise, we are going to do that for the previous simulation we did with just the operable windows. This is simply the operable windows. This is the simulation using the operable windows plus exhaust at the top of the building. You can see there is quite a bit of difference here. We are getting a lot more ventilation flow through the building using that stack effect versus just opening the windows. You can see that this ventilation increases during the more temperate portions of the year and it decreases towards the more extreme conditions because we do have those upper and lower limits on our natural ventilation. That is how you model natural ventilation in a Zone as opposed to doing natural ventilation just through windows. Thank you. Please like and subscribe!
30. Building Energy Modeling in OpenStudio - Troubleshooting 5
In this series of episodes, we discuss some common simulation warnings and errors found in the EnergyPlus eplusout.err file. We explain what these errors mean and show common strategies to resolve them.
We continue troubleshooting warnings found in the eplusout.err file. The first warning states that Surface 321 has a vertex that is colinear with the previous and next vertices. This results in the surface being non-convex within Thermal Zone 6. Additional messages indicate that collinear points were removed and the surface was reprocessed with four sides. EnergyPlus also reports coincident or collinear vertices being deleted. By searching for Surface 321 in the model and selecting all connected geometry, it becomes clear that this surface overlaps with another surface, Surface 25. Overlapping geometry causes the collinearity and convexity issues. The solution is to hide the overlapping surface, delete it, and recreate the geometry correctly so the surfaces are no longer overlapping. After saving the model and rerunning the simulation, these convexity warnings are resolved. The next issue is a severe error indicating that Thermal Zone 7 is not fully enclosed, preventing EnergyPlus from calculating the zone volume. Severe errors should always be addressed even if the simulation completes. The error message indicates that an edge is only used once and is not shared by another surface, which suggests missing enclosure geometry. By inspecting surfaces 112 and 243 associated with Thermal Zone 7, it becomes clear that one or more required surfaces are missing. The recommended solution is to delete the problematic surfaces and recreate them so the zone is completely enclosed. After correcting the geometry, saving the model, and rerunning the simulation, the zone volume error is resolved. Another warning reports several nominally unused constructions in the model. These include interior ceilings, interior doors, interior floors, interior partitions, and interior windows. Since this is a single-story building with no adjacent interior spaces, these constructions are not needed. Interior ceilings and floors are only required for multi-story buildings, and interior doors or windows are only used when two spaces share an opening. Interior partitions are used to model thermal mass and solar absorption from elements such as cubicles, which are not present in this model. These unused constructions can be removed from the construction set. After deleting them, the purge function should be used to remove unused constructions and materials from the model. Once the model is saved and the simulation is rerun, these warnings are removed. The next set of warnings relates to invalid Output:Meter key names for natural gas, district heating, and district cooling. These warnings occur because the model does not include any equipment that uses these energy sources. EnergyPlus reports the warnings because the requested meters have no data associated with them. These warnings are common and not critical. If equipment using these fuels were added to the model, the warnings would disappear automatically. The final warning indicates that Output:Table:Monthly was requested, but the simulation was not run for the Weather File Run Period. Monthly output tables require a full annual simulation. Since the simulation was only run for sizing periods, EnergyPlus could not generate monthly results. By enabling “Run Simulation for Weather File Run Periods” in the simulation control settings and rerunning the simulation, EnergyPlus generates results for all months of the year. This resolves the monthly output table warning, and the required reports are produced. This concludes the troubleshooting for this episode. Additional warnings and errors will be addressed in future episodes.
31. OpenStudio SketchUp - Editing the User Script Ruby Programs
In this episode, we discuss how to edit the OpenStudio user script programs. We show where to locate the user script ruby files and give a quick example of changing text within the code.
Today we are going to talk about the SketchUp OpenStudio User Scripts, which are located under Extensions, OpenStudio User Scripts. All of these scripts are written using the Ruby programming language. In this example, we will look at how to locate the Ruby files behind these user scripts and how to edit them using a simple and practical example. There is a useful user script that renames thermal zones based on space names. When a space has a defined name, this script assigns a thermal zone name that is based on that space name, making it easier to locate information in output files. The script applies a prefix called “Thermal Zone” followed by the space name. While this approach is helpful, it can result in very long thermal zone names that do not always display well. To make the names shorter and easier to read, the prefix can be changed to “TZ”. To locate the Ruby file for this user script, you need to navigate through your computer’s hard drive to Users, then your username, followed by AppData, Roaming. From there, search for the SketchUp folder corresponding to your SketchUp version, then go to SketchUp, Plugins, OpenStudio, and finally the user_scripts directory. Inside the “Alter or Add Model Elements” subfolder, you will find the Ruby file named “Rename Thermal Zones based on Space Names” with a .rb file extension. Open the Ruby file by double-clicking it and use Ctrl-F to search for the text string “Thermal Zone.” This string defines the prefix applied to the thermal zone names. Replace “Thermal Zone” with “TZ” and save the file. After saving, close SketchUp completely and reopen it so the script recompiles. When the user script is run again, the thermal zones will now be renamed using the shorter “TZ” prefix instead of the longer original text.
32. OpenStudio Tips - Boiler with Convectors / Radiators
We discuss how to implement a centralized hydronic boiler with hot water radiators / convectors.
So, we are back again with a D.O.E. prototype building, and at the moment the building does not have any heating or cooling systems assigned. Our goal is to add a simple hydronic hot water heating system using a boiler and convective or radiative heaters within the thermal zones. The quickest way to do this is by going to the HVAC Systems tab and clicking the green plus button. From the available options, we scroll down and select the package rooftop VAV with reheat system. This system includes a hot water component, indicated by the raindrop and red thermometer icons, meaning it will automatically create a boiler hot water loop in the model. After adding the system to the model, we can see that a hot water loop has been created, including a boiler, a pump, a temperature setpoint, and several hot water coils connected to the air system. Since we only want the boiler loop and not the air handling equipment, we first disconnect the hot water coils from the loop. It is always best practice to remove components from air loops or water loops before deleting the loops themselves. Once the coils are disconnected, we delete the VAV air handler, leaving behind an empty hydronic hot water boiler loop with no equipment attached. Next, we move to the Thermal Zones tab and scroll through the library to find the zone heating equipment. We can choose between baseboard convective water units or baseboard radiant convective water units. In this example, we select the radiator/convector option and drag it into the zone equipment for one of the thermal zones. We review the properties, which look acceptable, including the loop temperature settings, and then use the chain link icon to connect the unit to the boiler hot water loop. Once the first radiator/convector is connected, we add the same equipment to the remaining thermal zones by applying it to the selected zones. Returning to the boiler hot water loop, we can now see that all of the radiator/convectors are connected to it. This completes the setup of a simple hydronic hot water boiler loop supplying radiant or convective heaters directly to the thermal zones.
33. OpenStudio Tips - Getting Information from Output Reports
We discuss the two standard output reports provided by OpenStudio/EnergyPlus and how you can get additional information to show in them. We also download a measure from the Building Component Library that provides even more information and will allow you to extract or link the report information for use in external spread sheets.
Today we are going to talk about the output reports that you can get from OpenStudio EnergyPlus. I am going to show you a handy measure that I wrote, which you can download from the Building Component Library. One of the default reports available in the Measures tab is the OpenStudio Results Report. When you click on it, you can choose whether the output is displayed in imperial units or metric units, and you can also select the different categories of information you want included in the report. Another report you can access is located directly in the project folder under the reports directory. There you will find the OpenStudio Results Report saved as an HTML file, as well as the EnergyPlus tabulation report. The EnergyPlus tabulation report contains similar information, but if you want additional details, you can go to the Simulation Settings tab and scroll to the bottom where you will find Output Table Summary Reports. Enabling this option provides an expanded set of reports within the EnergyPlus tabulation output. In addition to the default reports, you can download a custom reporting measure that I wrote, which includes additional outputs such as Zone Component Load reports and Air Loop Component Load reports. These reports are very useful for diagnosing system performance and understanding load contributions. You can find these measures under Find Measures, Reporting, QAQC, and select either “Set Output Table to SI Units V2” or “Set Output Table to IP Units V2.” For this example, we will use the IP Units V2 measure. Once applied, it outputs both the EnergyPlus tabulation report and the OpenStudio results report in IP units. After running the simulation successfully, refreshing the EnergyPlus HTML output shows new tables, including zone and air loop component load summaries, engineering checks, and sizing safety factor multipliers. This measure also allows you to extract the data more easily. Instead of copying from the HTML file, you can go to the project’s Run folder and open the eplustbl.tab file. This tab-delimited file contains the same information as the EnergyPlus HTML report but is formatted for use in Excel. You can search for specific tables such as Zone Sizing Information and copy or link this data into an external Excel file. Linking the data allows it to automatically update when the simulation is rerun, making it much easier to manage and analyze results. That is it in a nutshell. Thank you, and please like and subscribe.
34. OpenStudio Tips - Warning GetOAControllerInputs
In this video we will introduce a custom measure, View Data, that can be downloaded from the Building Component Library. This measure allows you to overlay output data onto your model geometry. It is good for visualizing surface parameters such as temperatures, radiation, heat gains, heat storage, etc.
Hello everyone, and welcome back with another quick tip. This is a very common warning that you may see in EnergyPlus. It states that the program cannot locate a matching DesignSpecification:ZoneAirDistribution object for a thermal zone associated with a mechanical ventilation controller. Because of this, EnergyPlus reports that it is using a default zone air distribution effectiveness of 1.0 for both heating and cooling. This is a common warning and generally not a serious issue, but whether it can be ignored depends on the actual air distribution characteristics of your zone. Zone air distribution effectiveness depends on where supply air and return air are located. For example, it matters whether supply air is delivered from the ceiling or the floor, and where the return air is drawn from. These values come from ASHRAE 62.1, specifically the ventilation rate procedure. If you look at the mechanical code or ASHRAE 62.1 documentation, you will find a section on outdoor air requirements and zone air distribution effectiveness. For ceiling or floor supply of cool air, the effectiveness is 1.0. Ceiling or floor supply of warm air with a low return also has an effectiveness of 1.0. However, if warm air is supplied from the ceiling and the return is also located at the ceiling, the effectiveness drops to 0.8. In OpenStudio, this issue occurs because the outside air controller needs to determine how much outdoor air is required. If you go to the Thermal Zones tab and look under Cooling Sizing Parameters, you will see a column labeled Design Zone Air Distribution Effectiveness in Cooling Mode. By default, this field is blank in OpenStudio. When the model is translated to EnergyPlus, EnergyPlus does not know what value to use, so it automatically assigns a value of 1.0. While this avoids failure, it is good practice to explicitly set the correct value based on the system you are modeling. To remove the warning, you can enter a value such as 1.0, select all zones, and apply it to the selected zones. The same process applies to the Heating Sizing Parameters tab. Assuming a ceiling supply diffuser and a ceiling return grille, you can enter the appropriate value, select all zones, and apply it. After applying the changes, you can toggle between the cooling and heating sizing tabs to confirm the values were applied correctly. Once the model is run again, it should complete successfully. When you reload the eplusout.err file, you will see that the warning has been resolved. Thank you, and please like and subscribe.
35. OpenStudio SketchUp - Data Visualization Measure
We discuss the warning ** Warning ** GetOAControllerInputs: Controller:MechanicalVentilation="CONTROLLER MECHANICAL VENTILATION ... Cannot locate a matching DesignSpecification: ZoneAirDistribution object, what it means, and how to resolve it.
Today we are going to take a look at a measure that you can download from the Building Component Library that allows you to visualize certain output variables. These variables are overlaid directly on top of surfaces in your model. In this example, we are looking at surface temperatures, specifically the temperature of the roof surface during the simulation. Let us go ahead and launch OpenStudio. Go to the Measures tab and look for a measure you can download from the Building Component Library. Navigate to Components and Measures, find Measures, and look under the Reporting category. Search for “View” and you will find a measure called View Data. You can see that it is already downloaded here, but normally you would check the box and click Download. It is located in the Reporting category under QA/QC. Drag this measure into the reporting section and select it. You will see a number of inputs associated with this measure. The model source can be either the OSM file or the IDF file. The OpenStudio file is sometimes modified by EnergyPlus to fix geometry errors before being passed along as an IDF file. That is the distinction between the two. We will leave it set to OSM. The reporting frequency controls how often output variables are reported, either hourly or at each simulation timestep. We will leave it at hourly since timesteps would produce a large amount of data. This model uses a 10-minute timestep, which is six timesteps per hour. Next, there are three output variables you can track: Surface Outside Face Temperature, Surface Inside Face Temperature, and Zone Mean Radiant Temperature. These are EnergyPlus output variables associated with surfaces and zones, and they can be found in the Input Output Reference manual. For now, we will leave the defaults and run the simulation. Once the simulation is complete, go to the Results Summary tab. At the top left, select View Data. At the top right, select Render by Data. Scroll down and you will see all the adjustable parameters. By default, we are viewing the Surface Outside Face Temperature. You can change the color scheme, but we will leave it at diverging so cold temperatures appear blue and hot temperatures appear red. You can select any day of the year, where day zero corresponds to January 1st and values near the middle correspond to June or July, which will show the greatest temperature swing between day and night. You can adjust the hour of the day as well. These two parameters allow you to cycle through the hours of the day and control the playback speed. When you click Cycle, you can see how the roof temperature changes throughout the day. In the morning, the east side of the roof heats up first, and in the afternoon the west side heats up. If we hide the wireframes and solar panels, we can see that the roof is a single surface. Because it is a single surface, the visualization shows the average temperature for the entire roof. The shading effect of the solar panels is not visible. To see that effect, the roof needs to be subdivided into smaller surfaces. You can also click on any surface to see the exact temperature value at that timestep. This measure is useful for identifying hot and cool areas, such as exposed projections that heat up more and shaded areas that remain cooler. To subdivide the roof, go back to SketchUp and update the model. Double-click to edit the space and double-click the roof surface. Copy it, exit the space, and paste in place so it becomes standalone SketchUp geometry. Right-click and make it a group. We will use the Sandbox tools, which either come with SketchUp or can be downloaded separately. Enable them under View, Toolbars, Sandbox. Use the “Create Grid” tool and change the default grid spacing from 10 feet to 2 feet. Zoom into the corner of the roof, switch to overhead view, and drag out the grid across the roof. Move the grid above the model, select it, and use the “Drape” tool to project the grid onto the roof surface. Once completed, delete the grid. The roof surface is now divided into smaller sections. Select all geometry, go to Edit → Entities, deselect edges, and delete the faces, leaving only the mesh edges. Copy this mesh, edit the original space, and paste it in place. This subdivides the roof into many smaller surfaces. Sometimes not all faces paste correctly, so you may need to manually divide remaining large surfaces. SketchUp operates using surface loops, and occasionally OpenStudio cannot keep up with these calculations, causing instability. It is important to save frequently. In some cases, OpenStudio may mistakenly create skylights when subdividing large surfaces. If this happens, delete the skylights and redraw the surfaces. Repeatedly cutting and pasting in place forces OpenStudio to recalculate the perimeter and gradually breaks the surface into smaller pieces. Save often and clean up any artifacts that appear. After cleaning the geometry, return to OpenStudio and revert to the saved model. Check the Geometry tab to confirm the subdivision looks correct. You can force a refresh by changing a small parameter and saving. Back in SketchUp, you can hide or delete the temporary mesh geometry. Sometimes it is useful to save that mesh in a separate SketchUp file in case you need it later. Once everything is clean, unhide all geometry, fix any remaining artifacts, save, and return to OpenStudio. Run the simulation again. After it completes, go to the Results Summary tab and select View Data. Cycle through the hours again and you will now see the shading effect of the solar panels on the roof. The shaded areas remain cooler while exposed areas heat up. If you subdivide walls as well, you can see shading effects throughout the day, especially in the afternoon and evening. Clicking on individual surfaces displays the exact simulation values. Finally, if you want to visualize other variables such as solar radiation, go back to the Measures tab and replace one of the output variables with something like Surface Outside Face Incident Solar Radiation Rate. Rerun the simulation and view the data again. This produces much greater contrast and clearly shows solar and diffuse radiation effects. That is how you can perform advanced surface visualizations using a custom measure from the Building Component Library. Thank you, and please like and subscribe.

