Author Archives: Charles Xie

Video tutorial: Solarize an imported building in Energy3D

We are pleased to announce that the solar panel and analysis tools in Energy3D (version 6.5.6 or higher) are now fully applicable to arbitrary imported structures. We hope that the new capabilities can help engineers who design rooftop solar systems and building solar facades to get their jobs done more efficiently and students who are interested in engineering to learn the theory and practice in an inquiry-based fashion. The six-minute video in this article demonstrates how easy it is to perform solar panel design and analysis in Energy3D. (Note: Unfortunately, the annotations in the video do not show if you are watching this on a smartphone.)



One of the handiest features is the automatic, real-time detection of the angle of the surface under a solar panel while the user is moving it. This feature basically allows the user to drag and drop a solar panel or a solar panel rack anywhere (on top of roofs, walls, or other surfaces) without having to set its tilt angle manually.

Solar heat map of a house with solar panels
Copy and paste a house with solar panels
Solar panels are "first-class citizens" in Energy3D as they are readily recognized by the built-in simulation engines. Energy3D provides a comprehensive list of properties that you can choose for each solar panel or solar panel array. For example, even the temperature coefficient of Pmax, a parameter that specifies the change of solar cell efficiency with regard to ambient temperature change, is supported. The software also has a variety of analytic tools for predicting the hourly, daily, and annual outputs of each solar panel and their sums. Interactive graphs are available to intuitively show the trends and allow the user to compare the outputs of different solar panels, of different arrays, on different days, or with different environmental settings (e.g., with or without a tree nearby).

These "native" solar panels are now completely blended into the "alien" meshes of structures imported into Energy3D from other CAD software or Google Earth. For example, once you drop a solar panel on a surface of the structure, it will stick to it. In other words, if you move or rotate the structure, the solar panel will go with it as if it were part of the original design. When you copy and paste the entire building, the solar panels will be copied and pasted as well (by the way, it takes only four clicks to copy and paste a building in Energy3D through the pop-up menu: one click to pick which one to act upon, one click to select the "Copy" action, one click to pick where to paste, and one last click to select the "Paste" action). That is to say, the native and alien meshes are completely meshed.

Automatic remeshing in Energy3D for solar analysis

A headache in the practice of simulation-based engineering or computer-aided engineering is the incompatibility of the meshes used to create and render structures (let's call them the drawing meshes) and the meshes needed to simulate and analyze certain functions (let's call them the analysis meshes). This incompatibility stems deeply from the fundamental differences in computer graphics for visual rendering and computer simulation for physics modeling.

When importing a model from a CAD tool into a simulation tool, engineering analysts often have to recreate new analysis meshes for their computation, which requires fine-grained discretization such is in the case of finite element analysis and other methods. It becomes a nightmare when the conversion from the drawing meshes to the analysis meshes can only be done manually. Even if only a few drawing meshes need to be taken care by hand while the majority of the meshes can be converted automatically, the analyst still would have to check all the meshes to make sure that every mesh is good for simulation. So we really need a tool that can deal with all sorts of scenarios. And this kind of tool is by no mean easy to develop.


Mesh incompatibility was (and may remain for a long time) a problem for Energy3D when it imports structure models created by other tools such as SketchUp. For example, in most architectural CAD models, a structural element such as a wall or a roof (or a part of them) is represented by two planar meshes that have exactly opposite normal vectors, representing the interior and exterior surfaces, respectively. These two meshes have identical coordinates for their vertices, though the orders of their definition are different (one goes clockwise and the other anticlockwise in order for their normal vectors to be exactly opposite). Whatever they represent has therefore no thickness, but with the two faces, we can apply two different textures to them so that the viewer can tell if they are looking at its interior or exterior surface.


While this sounds good to people who use such models in 3D games, it spells troubles to Energy3D. The first problem is that it increases the number of vertices that Energy3D has to load and, therefore, the memory footprint of such models. In a physics simulation, a structural element without thickness is meaningless. If we don't really need the two faces in most cases (we do in some other cases, but I will skip that line of discussion in the article), why bother to import them in the first place? Despite spending days on researching on the Internet and checking the Collada specification, I couldn't figure out how to force SketchUp to export only the exterior meshes (SketchUp's Colloda export function does provide the option of exporting two-sided faces or not, but it sometime exports only the interior sides for some meshes, mixed with exterior sides for others). So it occurred to me that I had to deal with them in the Energy3D code.

If we don't treat them and use the meshes as they are, we then have the second problem: which mesh should we pick to be the side that receives solar radiation? While it is self-evident which mesh of the two identical ones faces outside when we look at the 3D model after it is rendered on the computer screen, we absolutely have no way to tell from their coordinates alone in our code. Somehow, we have to invent an algorithm that simulates how people discern it when they look at the 3D view of the model on a computer screen.

Picking and choosing the right meshes, of course, is crucial to the correctness of the simulation results. In order to test the new algorithms in Energy3D, I selected the lower Manhattan island and the US Capitol Building as two test cases. The results of the lower Manhattan island have been reported in an earlier article. But the Capitol Building has turned out to be a harder case as -- with over 15,000 meshes -- it is geometrically more complicated and it has so many details that really put our code to test. After more than a week of my work on solving a myriad of problems, it seems that Energy3D has passed the test (or has it?). The screenshots of the solar irradiance heat maps of the Capitol Building from different angles show that severe anomalies are practically non-existent across the heat maps.


The heat maps occasionally suffer from a flickering effect called "Z-fighting" when two planar surfaces are visually close, especially when being looked at from a distance sufficiently far away. For the Z-fighting between identical meshes, this can be mitigated by increasing the offset of their distance. But, as this doesn't affect the simulation result, it is less a concern for the time being.

Automatic remeshing for solar analysis may also need to include automatic repair of models that contain errors. For example, some models may contain surfaces that have only one mesh with the normal vector pointing inward (this could happen if the original designer accidentally used the "Reverse Faces" feature in SketchUp without realizing that the normal vectors would be flipped). This kind of mesh is tolerated in SketchUp because it does not affect rendering. But they cannot be tolerated in Energy3D because such a single-face mesh with a north-pointing normal vector, which appears to the viewer as south-facing, will show little to zero solar radiation when the sun shines on it. Luckily, due to the visualization in Energy3D, we can quickly spot those incorrect surfaces and fix them by reversing their faces manually. But we will need to find a way to automate this process (not easy, but not impossible).

Solar analysis of metropolitan areas using Energy3D

Fig. 1: Sunshine at the lower Manhattan island
Energy3D can be used to analyze the solar radiation on houses, buildings, and solar power plants to help engineers design strategies for exploiting useful solar energy or mitigating excessive solar heating. This blog post shows that Energy3D may also be used to analyze the solar radiation in large urban areas (e.g., to study the effect of urban heat islands).

Fig. 2: Solar irradiance heat map of Manhattan on 4/25
To demonstrate this application, I chose a 3D model of a section of the lower Manhattan island as a test. The 3D model was downloaded from SketchUp's 3D Warehouse. It was supposedly created after the lower Manhattan island in 2008. I didn't bother to check for accuracy as this was supposed to be a test of Energy3D. Figure 1 shows the model of the Manhattan area.

Fig. 3: More solar irradiance heat maps.
The model has more than 8,000 meshes of various sizes (a mesh is a polygon area for computational analysis and graphical rendering in Energy3D). The entire area is so big that even a low-resolution daily simulation took more than five hours to complete on my Surface Book computer. Figures 2 and 3 show the rendering of the solar irradiance heat map on top of the 3D model after the computation completes.

Our next step is to figure out how to optimize our simulation engine to speed up the calculations. The latest version of Energy3D already includes some optimizations that allow faster re-rendering of the solar irradiance heat map by re-generating the texture images without re-calculating the solar irradiance distribution.

Importing and analyzing models created by other CAD software in Energy3D: Part 2


Fig.1: The Gherkin (London, UK)
In Part I, I showed that Energy3D can import COLLADA models and perform some analyses. This part shows that Energy3D (Version 6.3.5 or higher) can conduct full-scale solar radiation analysis for imported models. This capability officially makes Energy3D a useful daylight and solar simulation tool for sustainable building design and analysis. Its ability to empower anyone to analyze virtually any 3D structure with an intuitive, easy-to-use interface and speedy simulation engines opens many opportunities to engage high school and college students (or even middle school students) in learning science and engineering through solving authentic, interesting real-world problems.
Fig. 2: Beverly Hills Tower (Qatar)

There is an ocean of 3D models of buildings, bridges, and other structures on the Internet (notably from SketchUp's 3D Warehouse, which provides thousands of free 3D models that can be exported to the COLLADA format). These models can be imported into Energy3D for analyses, which greatly enhances Energy3D's applicability in engineering education and practice.

Fig. 3: Solar analysis of various houses
The images in this post show examples of different types of buildings, including 30 St Mary Axe (the Gherkin) in London, UK (Figure 1) and the Beverly Hills Tower in Qatar (Figure 2). Figure 3 shows the analyses of a number of single-family houses. All the solar potential heat maps were calculated and generated based on the total solar radiation that each unit area on the building surfaces receive during the selected day (June 22).

These examples should give you some ideas about what the current version of Energy3D is already capable of doing in terms of solar energy analysis to support, for example, the design of rooftop solar systems and building solar facades.

In the months to come, I will continue to enhance this analytic capacity to provide even more powerful simulation and visualization tools. Optimization, which will automatically identify the boundary meshes (meshes that are on the building envelope), is currently on the way to increase the simulation speed dramatically.

Importing and analyzing models created by other CAD software in Energy3D: Part 1

Fig. 1: Solarize a COLLADA model in Energy3D
Fig.2: A house imported from SketchUp's 3D Warehouse
Energy3D is a relatively simple CAD tool that specializes in building simulation and solar simulation. Its current support for architectural design is fine, but it has limitations. It is never our intent to reinvent the wheel and come up with yet another CAD tool for architecture design. Our primary interest is in physics modeling, artificial intelligence, and computational design. Many users have asked if we can import models created in other CAD software such as SketchUp and then analyze them in Energy3D.

Fig. 3: A house imported from SketchUp's 3D Warehouse
I started this work yesterday and completed the first step today. Energy3D can now import any COLLADA models (*.dae files) on top of a foundation. The first step was the inclusion of the mesh polygons in the calculation of solar radiation. The polygons should be able to cast shadow on any object existing in an Energy3D model. This means that, if you have a 3D model of a neighboring building to the target building, you can import it into Energy3D so that it can be taken into consideration when you design solar solutions for your target. Once you import a structure, you can always translate and rotate it in any way you want by dragging its foundation, like any existing class of object in Energy3D.

Fig. 4: A house at night in Energy3D
Due to some math difficulties, I haven't figured out how to generate a solar radiation heat map overlaid onto the external surfaces of an imported structure that are exposed to the sun. This is going to be a compute-intensive task, I think. But there is a shortcut -- we can add Energy3D's solar panels to the roof of an imported building (Figure 1). In this way, we only have to calculate for these solar panels and all the analytic capabilities of Energy3D apply to them. And we can get pretty good results pretty quickly.

Fig. 5: A 3D tree imported from SketchUp's 3D Warehouse
Figures 2-4 show more examples of how houses designed with SketchUp look like in Energy3D after they are imported. This interoperability makes it possible for architects to export their work to Energy3D to take advantage of its capabilities of energy performance analysis.

Being able to import any structure into Energy3D also allows us to use more accurate models for landscapes. For instance, we can use a real 3D tree model that has detailed leaves and limbs, instead of a rough approximation (Figure 5). Of course, using a more realistic 3D model of a tree that has tens of thousands of polygons slows down the graphic rendering and simulation analysis. But if you can afford to wait for the simulation to complete, Energy3D will eventually get the results for you.

Why is Israel building the world’s tallest solar tower?

Fig. 1: Something tall in Negev desert (Credit: Inhabitat)
The Ashalim solar project (Figure 1) in the Negev desert of Israel will reportedly power 130,000 homes when it is completed in 2018. This large-scale project boasts the world’s tallest solar tower -- at 250 meters (820 feet), it is regarded by many as a symbol of Israel’s ambition in renewable energy.

Solar thermal power and photovoltaic solar power are two main methods of generating electricity from the sun that are somewhat complementary to each other. Solar tower technology is an implementation of solar thermal power that uses thousands of mirrors to focus sunlight on the top of a tower, producing intense heat that vaporizes water to spin a turbine and generate electricity. The physics principle is the same as a solar cooker that you have probably made back in high school.

Why does the Ashalim solar tower have to be so tall?

Surrounding the tower are approximately 50,000 mirrors that all reflect sun beams to the top of the tower. For this many mirrors to "see" the tower, it has to be tall. This is easy to understand with the following metaphor: If you are speaking to a large, packed crowd in a square, you had better stand high so that the whole audience can see you. If there are children in the audience, you want to stand even higher so that they can see you as well. The adults in this analogy represent the upper parts of mirrors whereas the children the lower parts. If the lower parts cannot reflect sunlight to the tower, the efficiency of the mirrors will be halved.

Fig. 2: Visualizing the effect of tower height
An alternative solution for the children in the crowd to see the speaker is to have everyone stay further away from the speaker (assuming that they can hear well) -- this is just simple trigonometry. Larger distances among people, however, mean that the square with a fixed area can accommodate less people. In the case of the solar power tower, this means that the use of the land will not be efficient. And land, even in a desert, is precious in countries like Israel. This is why engineers chose to increase the height of tower and ended up constructing the costly tall tower as a trade-off for expensive land.

Fig. 3: Daily output graphs of towers of different heights
But how tall is tall enough?

Fig. 4: Energy output vs. tower height
This depends on a lot of things such as the mirror size and field layout. The analysis is complicated and reflects the nature of engineering. With our Energy3D software, however, complicated analyses such as this are made so easy that even high school students can do. Not only does Energy3D provide easy-to-use 3D graphical interfaces never seen in the design of concentrated solar power, but it also provides stunning "eye candy" visualizations that clearly spell out the science and engineering principles in design time. To illustrate my points, I set up a solar power tower, copied and pasted to create an array of mirrors, linked the heliostats with the tower, and copied and pasted again to create another tower and another array of mirrors with identical properties. None of these tasks require complicated scripts or things like that; all they take are just some mouse clicks and typing. Then, I made the height of the second tower twice as tall as the first one and run a simulation. A few seconds later, Energy3D showed me a nice visualization (Figure 2). With only a few more mouse clicks, I generated a graph that compares the daily outputs of towers of different heights (Figure 3) and collected a series of data that shows the relationship between the energy output and the tower height (Figure 4). The graph suggests that the gain from raising the tower slows down after certain height. Engineers will have to decide where to stop by considering other factors, such as cost, stability, etc.

Note that, the results of the solar power tower simulations in the current version of Energy3D, unlike their photovoltaic counterparts, can only be taken qualitatively. We are yet to build a heat transfer model that simulates the thermal storage and discharge accurately. This task is scheduled to be completed in the first half of this year. By that time, you will have a reliable prediction software tool for designing concentrated solar power plants.

Modeling the six MW solar farm at the Palmer Metropolitan Airfield in Massachusetts

Fig. 1 Aerial view of PMA (courtesy of Borrego Solar)
Fig. 2 The polygon tool for drawing land parcels
The Palmer Metropolitan Airfield (PMA) solar farm (Figure 1) is the first and, at 6 MW, the largest Massachusetts Department of Energy Resources qualified brownfield project under the SREC II solar energy incentive program. The solar farm consists of 20,997 solar panels of three different types (5,161 Suniva, 13,851 Yingli, and 1,985 Canadian Solar), connected by 74 SMA string inverters. It is expected to produce an estimate of 8.5 GWh annually, enough to power 1,000 homes and offset 4,000 tons of carbon dioxide every year -- according to this news source. The PMA solar farm was engineered by our partner, Borrego Solar, the third largest company in the commercial solar market in the US.

Fig. 3 The Automatic Layout Wizard for solar rack arrays
The PMA solar farm is the first test of Energy3D's capacity of seriously designing utility-scale (greater than 1 or 5 MW, depending on your point of view) photovoltaic solar power plants. This design capacity was enabled by three critical new features that were added only recently to Energy3D (V6.2.2): 1) A tool to draw polygons that represent parcels of land for solar farms; 2) a tool to automatically generate solar panel and rack array layouts within selected parcels of land; and 3) accelerated graphical user interface and numerical simulation to handle 10,000+ solar panels (which I have blogged earlier this month).

Fig. 4 The result of the Automatic Layout Wizard
Since Energy3D can import an Earth view image from Google Maps, you can directly draw polygons on top of the image to trace the parcel of land for designing your solar farm (Figure 2). Note that if you have multiple parcels of land that are separate from one another, you may have to use multiple foundations in Energy3D as each foundation is allowed to have one and only one polygon for the time being.

Fig. 5 Heat map representations of output in four seasons.
Fig. 6 Annual yield vs. tilt angle
As soon as you are all set with your land plans, you can use the Automatic Layout Wizard of Energy3D to add solar panel rack arrays (Figure 3). This wizard will automatically generate the array layout within the selected land parcel and assign properties to the solar panels based on the parameters of your choice. For instance, you can select how many rows of solar panels you want to have on each rack (I picked four because that is what Google Maps shows about the setting in PMA). Figure 4 shows the result of applying the Automatic Layout Wizard to populate the three subfields of the PMA solar farm.
Fig. 7 Monthly yields vs. tilt angle

After the layout is done, you can always revise the field. You can drag any rack to resize or move it, delete it, copy and paste it, or add a new rack. The Automatic Layout Wizard is not the only way to add solar panel arrays. It is just a super fast way to add thousands of solar panels at once -- without the wizard, it would have been too time-consuming to manually add solar panel racks one by one. The solar panel field is always editable after a layout is applied.

Let's now check how close our model is to reality. The total number of solar panels of our model is 21,064 -- only 67 more than that of the real PMA solar farm (I had no information about the exact types of solar panels deployed in PMA, so I guessed and selected two different sizes 0.99m x 1.65m and 0.99m x 1.96m for different subfields).

In terms of the annual output, Energy3D predicts approximately 9.6 GWh, about 12% higher than the estimated output of 8.5 GWh by Borrego Solar. I currently do not have access to the real operational data, though.

Having created a computer model allows us to experiment with it to study how to optimize the design. For example, we can easily change the tilt angles of the arrays and investigate how the annual yield is affected. Figure 6 shows that a tilt angle close to the latitude (42 degrees) seems to result in the highest overall annual output.

But the total annual output is not necessarily the only criterion. Sometimes, it is necessary for solar companies to consider load balancing to guarantee stable outputs throughout the year (assuming that we want to minimize the use of base load from burning fossil fuels). It is, therefore, interesting to also take a look at the outputs across 12 months of a year. Figure 7 suggests that a smaller tilt angle will produce peak power in the summer, whereas a larger tilt angle will produce peak power in early fall. If the demand of electricity in the summer is higher than that in the fall, it may be more lucrative to position solar panels at a lower tilt angle.

Ten research papers utilizing Energy2D published in the past two years

Screenshots from recent papers that use Energy2D
Energy2D simulation of fire
Energy2D is a multiphysics simulation program that was created from scratch and is still under development (though its progress has slowed down significantly because my priority has been given to its Energy3D cousin). The software was originally intended to be a teaching and learning tool for high school students who are interested in studying engineering. Over the past two years, however, we have seen 10 research papers published in various journals and conferences that involved significant applications of Energy2D as a scientific research tool for modeling natural phenomena and engineering systems. The problems that these researchers simulated range from solar energy, industrial processes, geophysics, and building science. The authors come from universities from all over the world, including top-notch institutions in US, Europe, and China.

Energy2D simulation of thermal bridge
Among them, researchers from Delft University of Technology, Technical University of Darmstadt, and Eindhoven University of Technology wrote in their recent paper about the validity of Energy2D: "The software program Energy2D is used to solve the dynamic Fourier heat transfer equations for the Convective Concrete case. Energy2D is a relatively new program (Xie, 2012) and is not yet widely used as a building performance simulation tool. To gain more confidence in the predictions with Energy2D, an analytical validation study was therefore carried out first, inspired by the approach described in Hensen and Nakhi (1994). Those analytical solutions and the simulation results of the dynamic response to a 20°C temperature step change on the surface of a concrete construction with the following properties were compared for this research." They concluded that "the simulation results never divert from the exact solution more than 0.45°C and it is therefore considered acceptable to further use this model."

The publication of these papers and very positive user feedback suggest that Energy2D seems to have found itself an interesting niche market. Many scientists and engineers are unable to invest a lot of time and money on its complicated commercial counterparts. But they nonetheless need a handy simulation tool that is much more flexible, intuitive, and capable than formulas in books to deal with realistic geometry -- at least in 2D. This is where Energy2D comes into play.

Reaching this milestone is critically important to the free and open-source Energy2D software, whose future will be reliant on community support. Its modest popularity among scientists is a valid demonstration of the broader impact expected by the National Science Foundation that funded its development. One can only imagine that there are many more users who used the software in their workplace but didn't publish. Now that good words about it have spread, we expect the usage to continue and even accelerate. To better support our users, we have added a community forum recently. We also plan to work with Professor Bob Hanson to port the Java code to JavaScript through his SwingJS translator so that the program can run on more devices.

The list of these papers is as follows:
  1. Mahfoud Abderrezek & Mohamed Fathi, Experimental Study of the Dust Effect on Photovoltaic Panels' Energy Yield, Solar Energy, Volume 142, pp 308-320, 2017
  2. Dennis de Witte, Marie L. de Klijn-Chevalerias, Roel C.G.M. Loonen, Jan L.M. Hensen, Ulrich Knaack, & Gregor Zimmermann, Convective Concrete: Additive Manufacturing to Facilitate Activation of Thermal Mass, Journal of Facade Design and Engineering, Volume 5, No. 1, 2017
  3. Javier G. Monroy & Javier Gonzalez-Jimenez, Gas Classification in Motion: An Experimental Analysis, Sensors and Actuators B: Chemical, Volume 240, pp 1205-1215, 2017
  4. Tom Rainforth, Tuan Anh Le, Jan-Willem van de Meent, Michael A. Osborne, & Frank Wood, Bayesian Optimization for Probabilistic Programs, 30th Conference on Neural Information Processing Systems, Barcelona, Spain, 2016
  5. E. Rozos, I. Tsoukalas, & C. Makropoulos, Turning Black into Green: Ecosystem Services from Treated Wastewater, 13th IWA Specialized Conference on Small Water and Wastewater Systems, Athens, Greece, 2016
  6. W. Taylor Shoulders, Richard Locke, & Romain M. Gaume, Elastic Airtight Container for the Compaction of Air-Sensitive Materials, Review of Scientific Instruments, Volume 87, 063908, 2016
  7. Zachary R. Adam, Temperature Oscillations near Natural Nuclear Reactor Cores and the Potential for Prebiotic Oligomer Synthesis, Origins of Life and Evolution of Biospheres, Volume 46, Issue 2, pp 171-187, 2016
  8. Jiarui Chen, Shuyu Qin, Xinglong Wu, & Paul K Chu, Morphology and Pattern Control of Diphenylalanine Self-Assembly via Evaporative Dewetting, ACS Nano, Volume 10, No. 1, pp 832-838, 2016
  9. Atanas Vasilev, Geothermal Evolution of Gas Hydrate Deposits: Bulgarian Exclusive Economic Zone in the Black Sea, Comptes rendus de l‘Académie bulgare des Sciences, Volume 68, No. 9, pp 1135-1144, 2015
  10. Pedro A. Hernández, et al., Magma Emission Rates from Shallow Submarine Eruptions Using Airborne Thermal Imaging, Remote Sensing of Environment, Volume 154, pp 219-225, November 2014

Accelerating solar farm design in Energy3D with a new model of solar panel racks

Fig. 1: A solar farm of 5,672 solar panels on 8/16 in Boston
The solar simulation in Energy3D is based on discretizing a solar panel, a reflector, a solar water heater, a window, or any other surface into many small cells (mesh), calculating the solar radiation to the centers of the cells, and then summing the results up to obtain the total energy output. For example, a photovoltaic solar panel can be divided into 6x10 cells (this is also because many residential versions of solar panels are actually designed to have 6x10 solar cells). The simulation runs speedily when we have only a few dozen solar panels such is in the case of rooftop solar systems.

Fig. 2: Simulation of 5,672 solar panels on 8/16 in Boston
Unlike rooftop solar systems, large-scale solar farms typically involve thousands of solar panels (mega utility-scale solar farms may have hundreds of thousands of solar panels). If we use the same discretization method for each panel, the simulation would run very slowly (e.g., the speed drops to 1% when the number of solar panels are 100 times more). This slowdown basically makes Energy3D impractical to use by those who cannot afford to wait such as students in the classroom who need to get the results quickly.

Fig. 3: The result of the accelerated model
Fig. 4: The result of the original model
Luckily, solar panel arrays are often installed on parallel long racks in many solar farms (Figure 1). For such solar panel arrays, a lot of calculations could be spared without compromising the overall accuracy of the simulation too much. This allows us to develop a more efficient model of numeric simulation to do solar radiation calculation and even explore methods that use non-uniform meshes to better account for areas that are more likely to be shaded, such as the lower parts of the solar panel arrays. By implementing this new model, we have succeeded in speeding up the calculation dramatically. For example, the daily solar simulation of a solar farm consisting of more than 5,000 solar panels took about a second on my Surface Book computer (Figure 2 -- in this scene I deliberately added a couple of trees so that you can see the result of shading). With the previous model I would probably have to wait for hours to see the result and the graphics card of my computer would take a very deep breath to render more than 5,000 dynamic textures. This is a huge improvement.

Figures 3 and 4 show a comparison of the simulation results between the new and old models. Quantitatively, the total output of the new model is 93.63 kWh for the selected day of June 22 in Boston, compared with 93.25 kWh from the original model. Qualitatively, the color shading patterns that represent the distribution of solar radiation in the two cases are also similar.

The new rack model supports everything about solar panels. It has a smart user interface that allows the user to draw racks of any size and in any direction -- it automatically trims off any extra length so that you will never see a partial solar panel on a rack. When tracking systems are used with long, linear racks, there is only one way to do it -- horizontal single-axis tracker (HSAT). The new model can handle HSAT with the same degree of speed-up. For other trackers such as the vertical single-axis tracker (VSAT) or the altazimuth dual-axis trackers (AADAT), the speed-up will not be as significant, however, as the inter-rack shading is more dynamically complex and each rack must be treated independently.

Infrared Street View won Department of Energy’s JUMP competition

Creating an infrared street view using SmartIR and FLIR ONE
Our Infrared Street View (ISV) program has won the JUMP Competition sponsored jointly by CLEAResult, the largest provider of energy efficiency programs and services in North America, and the National Renewable Energy Laboratory (NREL), a research division of the US Department of Energy (DOE). This JUMP Competition called for innovations in using smartphones' sensing capabilities to improve residential energy efficiency. Finalists were selected from a pool of submitted proposals and invited to make their pitches to the audience at the CLEAResult Energy Forum held in Austin, TX on October 4-6, 2016. There is only one winner among all the good ideas for each competition. This year, we just happened to be one.

IR homework
We envision the Infrared Street View as an infrared (IR) counterpart of Google's Street View (I know, I know, this is probably too big to swallow for an organization that is a few garages small). Unlike Google's Street View in the range of visible light, the Infrared Street View will provide a gigantic database of thermal images in the range of invisible IR light emitted by molecular vibrations related to thermal energy. If you think about these images in a different way, they actually are a massive 3D web of temperature data points. What is the value of this big data? If the data are collected in the right way, they may represent the current state of the energy efficiency of our neighborhoods, towns, cities, and even states. In a sense, what we are talking about is in fact a thermographic information system (TIS).

We are not the only group that realized this possibility (but we are likely the first one that came up with the notion and name of TIS). A few startup companies in Boston area have worked in this frontier earlier this decade. But none of them has tapped into the potential of smartphone technologies. With a handful of drive-by trucks or fly-by drones with a bunch of mounted infrared cameras, it probably would take these companies a century to complete this thermal survey for the entire country. Furthermore, the trucks can only take images from the front of a building and the drones can only take images from above, which mean that their data are incomplete and cannot be used to create the thermal web that we are imagining. In some cases, unsolicited thermal scan of people's houses may even cause legal troubles as thermal signatures may accidentally disclose sensitive information.

Our solution is based on FLIR ONE, a $200-ish thermal camera that can be plugged into a smartphone (iOS or Android). The low cost of FLIR ONE, for the first time in history, makes it possible for the public to participate in this thermal survey. But even with the relatively low price tag, it is simply unrealistic to expect that a lot of people will buy the camera and scan their own houses. So where can we find a lot of users who would volunteer to participate in this effort?

Let's look elsewhere. There are four million children entering the US education system each year. Every single one of them is required to spend a sizable chunk of their education on learning thermal science concepts -- in a way that currently relies on formalism (the book shows you the text and math, you read the text and do the math). IR cameras, capable of visualizing otherwise invisible heat flow and distribution, is no doubt the best tool for teaching and learning thermal energy and heat transfer (except for those visually impaired -- my apology). I think few science teachers would disagree with that. And starting this year, educational technology vendors like Vernier and Pasco are selling IR cameras to schools.

What if we teach students thermal science in the classroom with an IR camera and then ask them to inspect their own homes with the camera as a homework assignment? At the end, we then ask them to acquire their parents' permissions and contribute their IR images to the Infrared Street View project. If millions of students do this, then we will have an ongoing crowdsourcing project that can engage and mobilize many generations of students to come.

Sensor-based artificial intelligence
We can't take students' IR images seriously, I hear you criticizing. True, students are not professionals and they make mistakes. But there is a way to teach them how to act and think like professionals, which is actually a goal of the Next Generation Science Standards that define the next two or three decades of US science education. Aside from a curriculum that teaches students how to use IR cameras (skills) and how to interpret IR images (concepts), we are also developing a powerful smartphone app called SmartIR. This app has many innovations but two of them may lead to true breakthroughs in the field of thermography.

Thermogram sphere
The first one is sensor-based intelligence. Modern smartphones have many built-in sensors, including the visible light cameras. These sensors and cameras are capable of collecting multiple types of data. The increasingly powerful libraries of computer vision only enrich this capability even more. Machine learning can infer what students are trying to do by analyzing these data. Based on the analysis results, SmartIR can then automatically guide students in real time. This kind of artificial intelligence (AI) can help students avoid common mistakes in infrared thermography and accelerate their thermal survey, especially when they are scanning buildings independently (when there is no experienced instructor around to help them). For example, the SmartIR app can check if the inspection is being done at night or during the day. If it is during the day (because the clock says so or the ambient light sensor says so), then SmartIR will suggest that students wait to do their scan until nightfall eliminates the side effect of solar heating and lowers the indoor-outdoor temperature difference to a greater degree. With an intelligent app like this, we may be able to increase the quality and reliability of the IR images that are fed to the Infrared Street View project.
Virtual infrared reality (VIR) viewed with Google Cardboard

The second one is virtual infrared reality, or VIR in short, to accomplish true, immersive thermal vision. VIR is a technology that integrates infrared thermography with virtual reality (VR). Based on the orientation and GPS sensors of the phone, SmartIR can create what we called a thermogram sphere and then knit them together to render a seamless IR view. A VIR can be uploaded to Google Maps so that the public can experience it using a VR viewer, such as Google's Cardboard Viewer. We don't know if VIR is going to do any better than 2D IR images in promoting the energy efficiency business, but it is reasonable to assume that many people would not mind seeing a cool (or hot) view like this while searching their dream houses. For the building science professionals, this may even have some implications because VIR provides a way to naturally organize the thermal images of a building to display a more holistic view of what is going on thermally.

With these innovations, we may eventually be able to realize our vision of inventing a visual 3D web of thermal data, or the thermographic information system, that will provide a massive data set for governments and companies to assess the state of residential energy efficiency on an unprecedented scale and with incredible detail.