Category Archives: Molecular Workbench

Khi Solar One

Khi Solar One (KSO) is a 50 MW solar power tower plant located in Upington, South Africa, which was commissioned in February, 2016. KSO has 4,120 heliostats on 346 acres of land. Each heliostat is as large as 140 square meters, reflecting sunlight to a tower as tall as 205 meters. KSO has two hours of thermal storage. The power plant is expected to generate a total of 180 GWh per year.

A low-resolution simulation of Energy3D predicts that on February 28 (close to when the Google Maps image was most likely taken) and June 28 (a winter day in the southern hemisphere), the total daily input to the solar tower (not the output of electricity generated by the turbines) is about 2.6 MWh and 1.9 MWh, respectively, as is shown in the graphs below.

The Energy3D model of the KSO can be downloaded from this web page, along with other solar power plants.



Creating computer models for all solar thermal power plants in the world

Fig. 1: Energy3D models for six solar power towers
Fig. 2: The Gemasolar Plant
One of the unique features of Energy3D is its ability to model, design, and simulate solar power towers. Figure 1 shows the Energy3D models for six solar power towers: Gemosolar (Spain), PS10 (Spain), PS20 (Spain), Greenway (Turkey), Themis (France), and Badaling (China). To support the research and development on concentrated solar power (CSP) -- a solar power solution alternative to photovoltaic (PV) arrays that may be able to provide some baseload capacity, I have been working on creating a library of 3D models for all the existing and planned solar thermal power plants in the world. The ultimate goal is to develop Energy3D into a versatile CAD tool for all forms of CSP (and PV), based on accurate simulation of existing plants first. The acquisition of the capability of reliably modeling both CSP and PV will enable Energy3D to truly support our Solarize Your World Initiative.

Fig. 3: The Gemasolar Plant
Fig. 4: The Gemasolar plant (June 30)
This article shows a bit of progress towards that goal. I have recently added in Energy3D weather data for scores of sites that already have CSP plants or are planning to build CSP plants. Many of these new sites are in Africa, China, Europe, and South America (some of them were requested by our users in Algeria and Chile). These newly added locations bring the total number of sites supported in Energy3D to more than 250. This growing network should provide you weather data that are approximately applicable to your site (but let me know if your site is not currently covered by Energy3D to your satisfaction). When you import your Earth view in Energy3D, the software will automatically choose the supported location that is closest to your site. If there is already a power tower, you can use the length and direction of its shadow in the picture to estimate the date and time when the picture was taken -- this can be done by turning on the shadow and adjusting the date and time spinner of Energy3D until the calculated shadow approximately aligns with the real shadow. After this is done, the heliostats that you add to the scene will approximately point to the same direction as in the image.

In this article, I picked the impressive Gemosolar Thermosolar Plant near the city of Seville, Spain as a showcase. The plant has 2,650 heliostats on 520 acres of land, each of which is as large as 120 square meters. The tower is 140 meters tall. The annual output is approximately 110 GWh. With molten salt tanks, it can store up to 15 hours of energy. Using a low-resolution setting, it takes Energy3D 5-10 minutes to complete a daily simulation and up to a couple of hours to complete an annual simulation. If you can afford to wait longer, you can always increase the simulation resolution and improve the accuracy of results (e.g., more points on the reflectors better account for blocking and shadowing losses).

A Mickey Mouse-shaped solar farm

Fig. 1: An aerial view of the Mickey Mouse-shaped solar farm
Fig. 2: An Energy3D model of the Mickey Mouse-shaped solar farm
If I didn't tell you that this is an actual solar farm near the Epcot Theme Park in the Disney World in Orlando, Florida, you probably would think this is some kind of school project done by kids. But no, this 22-acre 5 MW project was designed and installed by Duke Energy and it has been powering Disney World's facilities since 2016 (Figure 1 is an image from Disney.com). So this is some kind of serious business and has drawn a lot of media attention. The solar farm is so new that even the latest version of Google Maps in May 2017 still does not show it (it is available through Google Maps API that we are using, though).

By shaping the beloved Mickey Mouse character with tens of thousands of solar panels, Disney World has delivered a strong message to the world that the company is committed to a sustainable future.

Fig. 3: A solar radiation heat map representation (June 22).
But who says that kids should not do this? Perhaps they couldn't do it because of the lack of appropriate support and tool. Not any more. Thanks to the support from the National Science Foundation, our powerful Energy3D software and our Solarize Your World curriculum can probably turn every wild imagination in solar power into virtual reality, particularly for children who may need more inquiry- and design-based activities that connect so deeply to their world and their future. Figure 2 shows a model of the Mickey Mouse-shaped solar farm in Energy3D and Figure 3 shows a heat map representation of the solar radiation onto the solar panel arrays.

A complete 3D model of the PS20 solar power plant

According to Wikipedia, the 20 MW PS20 Solar Power Plant in Seville, Spain consists of a solar field of 1,255 heliostats. Each heliostat, with a surface area of 120 square meters(!), automatically tracks the sun on two axes and reflects the solar radiation it receives onto the central receiver, located at the top of a tower that is as tall as 165 meters. The concentrated heat vaporizes water and produces steam that drives a turbine to generate electricity. The Wikipedia page mentions that PS20 uses a thermal storage system, but it is not clear whether it is a molten salt tank or not.

PS20 generates about 48,000 MWh per year, or roughly 132 MWh per day on average without considering seasonal variations.

The full 3D model of the PS20 plant is now available in Energy3D and can be downloaded from http://energy.concord.org/energy3d/designs/ps20-solar-tower.ng3. While it generally costs hundreds of millions of dollars to design and build such a futuristic power plant, it costs absolutely nothing to do so in the virtual space of Energy3D. In a way, Energy3D gives everyone, especially those in developing nations, a powerful tool to explore the solar potential of their regions. Whether you live in a desert or on the coast, near or far away from the equator, in cities or rural areas, you can imagine all sorts of possibilities with it.

I am working on heat transfer, energy conversion, and thermal storage models that can predict the electricity generation accurately. Right now, Energy3D estimates the raw solar radiation input to the receiver on June 22 to be about 656 MWh, considering all the shadowing and blocking losses. If the system efficiency of heat transfer and energy conversion is in the range of 30-50%, then Energy3D's prediction will fall into a reasonable range.

Designing ground-mounted solar panel arrays: Part II

To design a solar panel array, we need to understand the specifications of the type of solar panel that we are going to use (here is an example of the specs of SunPower's X21-series). Although all solar panels provide nominal maximum power outputs (Pmax or Pnom), those numbers specify the DC power outputs under the Standard Test Conditions (STC) or PVUSA Test Conditions (PTC). Those numbers only provide some standardized values for customers' reference and cannot be used to calculate the electricity generation in the real world. Although each brand of solar panel may be designed in different ways and the specs vary, there are a few scientific principles that govern most of them. The calculation of power generation can therefore be drawn upon these fundamental principles. This article covers some of these principles.

The first parameter for solar power calculation is the solar cell efficiency, which defines the percentage of incident sunlight that can be converted into electricity by a cell of the solar panel. This property is usually determined by the semiconductor materials used to make the cell. Monocrystalline silicon-based materials tend to have a higher efficiency than polycrystalline ones. As of 2017, the solar cell efficiency for most solar panels in the market typically ranges from 15% to 25%. The higher the efficiency, the more expensive the solar panel.

Figure 1: All cells in a series (left) and diode bypasses (right)
The solar cell efficiency generally decreases when the temperature increases. To reflect this relationship, solar panels usually specify the Nominal Operating Cell Temperature (NOCT) and the Temperature Coefficient of Pmax. The former describes how high the temperature of the cell rises to under the sun. The latter describes how much the solar cell efficiency drops as the cell temperature rises. If we know the solar cell efficiency under STC, the NOCT, the Temperature Coefficient of Pmax, the air temperature, and the solar radiation density on the surface of the cell, we can compute the actual efficiency of the solar cell at current time.

Now, in order to compute the actual power output of the cell, we will need to know two more things: the area of the cell and the angle between the surface of the cell and the direction of the sun. The area of the cell is related to the packing density of the cells on a solar panel. Polycrystalline solar cells can have nearly 100% of packing density as they are usually rectangular, whereas monocrystalline ones have less packing density as they usually have round corners (therefore, they can't use up the entire surface area of a solar panel). The angle between the cell and the sun depends on how the solar panel is installed. This usually comes down to its tilt angle and azimuth.

Figure 2: Landscape vs. portrait (diode bypasses, location: Boston)
All these parameters are needed in Energy3D's solar radiation simulation. As a user, what you have to do is to understand the meaning of these parameters while designing your solutions and set the parameters correctly for your simulations. As Energy3D hasn't provided a way to select a solar panel model and then automatically import all of its specs, you still have to define a solar panel brand by setting its properties manually.

The next thing we must consider is a little tricky. A solar panel is made of many cells, arranged in an array of, for example 6 × 10. In order for the cells to produce usable voltage, they are usually connected in a series (the left image in Figure 1). In this case, the electric current flowing through each cell is the same but the voltage adds up. However, the problem with a series circuit is that, if one cell gets shaded by, say, a leaf that falls on it, and as a result generates a weaker current, every other cell of the panel will end up generating a smaller output (worse, all the generated electricity that cannot flow freely will turn into heat and damage the cells). To mitigate this problem, most solar panels today use diode bypasses (the right image in Figure 1) or similar technologies to allow the part of the solar panel that is not shaded to be able to contribute to the overall output. However, if the shade is not as spotty as is in the case of a leaf, even the diode bypasses will not be able to prevent complete loss (this video nicely demonstrates the problem). Therefore, our design of solar arrays must consider the actual wiring of the solar cells on the solar panel that we choose.

Figure 3: Month-by-month outputs of four arrays in Figure 2.
What are the implications of the cell wiring? Figure 2 shows four solar panel arrays with two different inter-row distances but the same number of identical solar panels that connect their cells with diode bypasses. The size of each solar panel is about 1 meter × 2 meters. On the racks of two arrays, the solar panels are placed in the landscape orientation -- each rack has therefore four rows of solar panels. On the racks of the other two arrays, they are placed in the portrait orientation -- each rack has therefore two rows of solar panels. When the inter-row spacing between two adjacent racks is the same, our simulation suggests that the landscape array always generates more electricity than the portrait array. This difference demonstrates the effect of the cell wiring using diode bypasses. In the front part of Figure 2 for arrays with narrower inter-row spacing, the simulation shows that about a quarter of the area on the racks after the first one is shaded during the course of the day (as indicated by their blue coloring). When the solar panels at the bottom of a rack is shaded, a portrait orientation reduces the output of 50% of the solar panels (there are two rows of solar panels on each rack in the portrait array shown in Figure 2), while a landscape orientation reduces the output of 25% of the solar panels (there are four rows of solar panels on each rack in the landscape array shown in Figure 2). The difference becomes less when the inter-row distance is longer. So when you have a limited space to place your solar arrays, you should probably favor the landscape orientation.

Figure 4: Shadow analysis shows inter-row shading in four seasons.
Of course, the output of a solar array depends also on the season. When the sun is high in the sky in the summer, the inter-row shading becomes less a problem. It is during the winter months when the shading loss becomes significant. This is shown in Figure 3. A snapshot of the shadow analysis (Figure 4) illustrates the difference visually.

For sites in the snowy north, another factor in the winter that favors the landscape orientation is the effect of snow accumulation on the panels. As soon as snow slides off the upper third of a solar panel in the landscape arrangement, it will start to generate some electricity. In the case of the portrait arrangement, it has to wait until all the snow comes off the panel.

Note that this article is concerned only with the cell wiring on a solar panel. The wiring of solar panels in an array is another important topic that we will cover later.

Introducing the Virtual Solar Decathlon

Hypothetical solar power near Hancock Tower in Boston
At the ACE Hackathon event on April 28, we introduced the concept of the Virtual Solar Decathlon to students at Phillips Academy who are interested in sustainable development.

Hypothetical solar canopies at Andover High School
The U.S. Department of Energy's Solar Decathlon challenges 20 collegiate teams to design, build, and operate solar-powered houses that are forward-thinking and cost-effective. Such a project, however, may take up to a year to complete and cost up to $250,000.

PS20 solar power tower in Seville, Spain
For a few years, I have been thinking about creating a high school equivalent of the Solar Decathlon that costs nothing, takes a much shorter time, and allows everyone to participate. The result of this thinking process is the Virtual Solar Decathlon that can now be supported by our Energy3D CAD software (and increasingly so as we added new features to allow more clean energy technologies to be simulated and designed). The goal of the Virtual Solar Decathlon is to turn the entire Google Earth into a simulation-based engineering lab of renewable energy and engage students to change their world by tackling energy problems (at least virtually) that matter deeply to their lives.

Here is the link to our presentation at Phillips Academy.

High school students to solarize the city of Lowell — virtually


In April, high school students in Lowell, Massachusetts will start exploring various solarization possibilities in the city of Lowell -- famously known as the Cradle of American Industrial Revolution. Many municipal properties and apartment buildings in Lowell have large roofs that are ideal for rooftop solar installations. Public parking facilities also provide space for installing solar canopies, which serve the dual purpose of generating clean energy and providing shade for parked cars. Students will discover the solar potential of their city and calculate the amount of electricity that can generated based on it.

This project is made possible by our Energy3D software, which supports engineering-grade solar design, simulation, and analysis. The Lowell High School, local business owners, and town officials have been very supportive about this initiative. They provided a number of public and private sites for students to pick and choose. Some of them have even agreed to serve as the "clients" for students to provide specifications, inputs, and feedback to students while they are carrying out this engineering project.

Among the available sites, five public parking garages managed by the municipal authority, which have not installed solar canopies, will be investigated by students through feasibility studies that include 3D modeling, solar energy simulation, and financial planning. Through the project work, students will author reports addressed to the property owners, in which they will recommend appropriate solar solutions and financial options.

Solving real-world problems like these creates a meaningful and compelling context and pathway for students to learn science and engineering knowledge and skills. Hopefully, their work will also help inform the general public about the solar potential of their city and the possibility of transitioning it to 100% renewable energy in the foreseeable future, which is a goal recently set by Massachusetts lawmakers.

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 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.