Monday, February 19, 2018

Virtual Solar Grid adds Crescent Dunes Solar Tower

The Crescent Dues Solar Tower as modeled in Energy3D
A light field visualization in Energy3D
A top view
The Crescent Dunes Solar Power Tower is a 110 MW utility-scale concentrated solar power (CSP) plant with 1.1 GWh of molten salt energy storage, located about 190 miles northwest of Las Vegas in the United States (watch a video about it). The plant includes a whopping number of 10,347 large heliostats that collect and focus sunlight onto a central receiver at the top of a 195-meter tall tower to heat 32,000 tons of molten salt. The molten salt circulates from the tower to some storage tanks, where it is then used to produce steam and generate electricity. Excess thermal energy is stored in the molten salt and can be used to generate power for up to ten hours, providing electricity in the evening or during cloudy hours. Unlike other CSP plants, Crescent Dunes' advanced storage technology eliminates the need for any backup fossil fuels to melt the salt and jumpstart the plant in the morning. Each heliostat is made up of 35 6×6 feet (1.8 m) mirror facets, adding up to a total aperture of 115.7 square meters. The total solar field aperture sums to an area of 1,196,778 square meters, or more than one square kilometer, in a land area of 1,670 acres (6.8 square kilometers). That is, the plant is capable of potentially collecting one seventh of all the solar energy that shines onto the field. Costing about $1 billion to construct, it was commissioned in September 2015.

A close-up view of accurate modeling of heliostat tracking
Since its inception in January 2018, our Virtual Solar Grid has included the Energy3D models of nearly all the existing large CSP power plants in the world. That covers more than 80 large CSP plants capable of generating more than 11 TWh per year. The ultimate goal of the Virtual Solar Grid is to mirror every solar energy system in the world in the computing cloud through crowdsourcing involving a large number of students interested in engineering, creating an unprecedentedly detailed computational model for learning how to design a reliable and resilient power grid based completely on renewable energy (solar energy in this phase). The modeling of the Crescent Dunes plant has put our Energy3D software to a stress test. Can it handle such a complex project with so many heliostats in such a large field?
A side view

Near the base of the tower
Over the shoulder of the tower
The solar field
This became my President's Day project. To make this happen, I had to first increase the resolution of Google Maps images supported in Energy3D. A free developer account of Google Maps can only get images of 640 × 640 pixels. When you are looking at an area that is as big as a few square kilometers, that resolution gets you very blurry images. To fetch high-resolution images from Google without paying them, I had to basically make Energy3D download many more images and then knit them together to create a large image that forms an Earth canvas in Energy3D (hence you see a lot of Google logos and copyrights in the ground image that I could not get rid of from each patch). Once I had the Earth canvas, I then drew heliostats on top of it (that is, one by one for more than 10,000 times!) and compared their orientations and shadows rendered by Energy3D with those shown in the Google Maps images. Now, the problem is that Google doesn't tell you when the satellite image was taken. But based on the shadows of the tower and other structures, I could easily figure out an approximate time and date. I then set that time and date in Energy3D and confirmed that the shadow of the tower in the Energy3D model overlaps with that in the satellite image. After this calibration, every single virtual heliostat that I copied and pasted then automatically aligned with those in the satellite image (as long as the original copy specifies the tower that it points to), visually testifying that the tracking algorithm for the virtual heliostats in Energy3D is just as good as the one used by the computers that control the motions of the real-world heliostats. Matching the computer model with the satellite image is essential as the procedure ensures the accuracy of our numerical simulation.

The solar field
After making numerous other improvements for Energy3D, the latest version (V7.8.4) was finally capable of modeling this colossal power plant. This includes the capability of being able to divide the whole project into nine smaller projects and then allow Energy3D to stitch the smaller 3D models together to create the full model using the Import Tool. This divide-and-conquer method makes the user interface a lot faster as neither you nor Energy3D need to deal with 9,000 existing heliostats while you are adding the last 1,000.

One thing I had to do, though, was to double the memory requirement for the software from the default 256 MB to 512 MB for the Windows version (the Mac version is fine), which would make the software fail on really old computers that have only 256 MB of total memory (but I don't think such old computers would still work properly today anyways). The implication of this change is that, if you are a Windows user and have installed Energy3D before, you will need to re-install it using the latest installer from our website in order to take advantage of this update. If you are not sure, there is a way to know how much memory your Energy3D is allocated by checking the System Information and Preferences under the File Menu. If that number is about 250 MB, then you have to re-install the software -- if you really want to see the spectacular Crescent Dunes model in Energy3D without crashing it.

With basically only the three Ivanpah Solar Towers left to be modeled and uploaded, the Virtual Solar Grid has nearly incorporated all the operational solar thermal power plants in the world. We will continue to add new CSP plants as they come online and show up in Google Maps. In our next phase, we will move to add more photovoltaic (PV) solar power plants to the Virtual Solar Grid. At this point, the proportion of the modeled capacity from PV stands at only 8% in the Virtual Solar Grid, compared with 92% from CSP. Adding PV power plants will really require crowdsourcing as there are many more PV projects in the world -- there are potentially millions of small rooftop systems in existence. On a separate avenue, the National Renewable Energy Laboratory (NREL) has estimated that, if we add solar panels to every square feet of usable roof area in the U.S., we could meet 40% of our total electricity need. Is their statement realistic? Perhaps only time can tell, but by adding more and more virtual solar power systems to the Virtual Solar Grid, we might be able to tell sooner.

Monday, January 29, 2018

Virtual Solar Grid comes online

Fig. 1: Modeled output of the Virtual Solar Grid
Fig. 2: A residential rooftop PV system.
If you care about finding renewable energy solutions to environmental problems, you probably would like to join an international community of Energy3D users to model existing or design new solar power systems in the real world and contribute them to the Virtual Solar Grid — a hypothetical power grid that I am developing from scratch to model and simulate interconnected solar energy systems and storage. My ultimate goal is to crowdsource an unprecedented fine-grained, time-dependent, and multi-scale computational model for anyone, believer or skeptic of renewables, to study how much of humanity's energy need can be met by solar power generation on the global scale — independent of any authority and in the spirit of citizen science. I have blogged about this ambitious plan before and I am finally pleased to announce that an alpha version of the Virtual Solar Grid has come online, of course, with a very humble beginning.

Fig. 3: The Micky Mouse solar farm in Orlando, FL.
Fig. 4: NOOR-1 parabolic troughs in Morocco.
As of the end of January, 2018, the Virtual Solar Grid has included 3D models of only a bit more than 100 solar energy systems, ranging from small rooftop photovoltaic solar panel arrays (10 kW) to large utility-scale concentrated solar power plants (100 MW) in multiple continents. At present, the Virtual Solar Grid has a lot of small systems in Massachusetts because we are working with many schools in the state.

With this initial capacity, the Virtual Solar Grid is capable of generating roughly 4 TWh per year, approximately 0.02% of all the electricity consumed by the entire world population in 2016 (a little more than 2 PWh). Although 0.02% is too minuscule to count, it nonetheless marks the starting point of our journey towards an important goal of engaging and supporting anyone to explore the solar energy potential of our planet with serious engineering design. In a sense, you can think of this work as inventing a "Power Minecraft" that would entice people to participate in a virtual quest for switching humanity's power supply to 100% renewable energy.

Fig. 5: Khi Solar One solar power tower in South Africa.
Fig. 6: PS 10 and PS 20 in Spain.
The critical infrastructure underlying the Virtual Solar Grid is our free, versatile Energy3D software that allows anyone from a middle school student to a graduate school student to model or design any photovoltaic or concentrated solar power systems, down to the exact location and specs of individual solar panels or heliostats. Performance analysis of solar power systems in Energy3D is based on a growing database of solar panel brand models and weather data sets for nearly 700 regions in every habitable continent. To construct a grid, micro or global, an Energy3D model can be geotagged — the geolocation is automatically set when you import a Google Maps image into an Energy3D model. Such a virtual model, when uploaded to the Virtual Solar Grid, will be deployed to a Google Maps application that shows exactly where it is in the world and how much electricity it produces at a given hour on a given day under average weather conditions. This information will be used to investigate how solar power and other renewables, with thermal and electric storage, can be used to provide base loads and meet peak demands for a power grid of an arbitrary size, so to speak.

Finally, it is important to note that the Virtual Solar Grid project is generously funded by the U.S. National Science Foundation through grant number #1721054. Their continuous support of my work is deeply appreciated.

Saturday, December 16, 2017

Energy2D used as a simulation tool in astrobiology research

Fig. 1: Frasassi Caves, Italy (credit: Astrobiology)
Deposition of minerals in caves may be affected by microbes. Geochemical analysis of these minerals can reveal biosignatures of subsurface life on a planet such as the Mars. Research in this area can help NASA build subsurface life probes for future planetary missions.

Fig. 2: Energy2D simulations (credit: Astrobiology)
Astrobiology, a peer-reviewed scientific journal covering research on the origin, evolution, distribution and future of life across the universe, just published a research paper titled "Transport-Induced Spatial Patterns of Sulfur Isotopes (δ34S) as Biosignatures" by a group of researchers at Pennsylvania State University, the University of Texas at El Paso, and Rice University. The lead author is Dr. Muammar Mansor. The researchers analyzed sample sites in the Frasassi Caves, Italy (Figure 1) and used Energy2D to simulate the effects of convection and diffusion on the chemical deposition processes (Figure 2). According to the paper, the results of the deposition simulated using Energy2D are consistent with the data collected from the cave sites, suggesting the importance of the effect of natural convection.

This is the second paper that uses Energy2D in astrobiology research (and the 16th published paper that used Energy2D in scientific research to simulate a natural or man-made system). In the first paper, Energy2D was used to simulate the thermal conditions for the origin of life. Once again, the publication of this paper provides fresh evidence for the broader impacts of our work.

Friday, November 24, 2017

Energy3D uses intelligent agents to create adaptive feedback based on analyzing the "DNA of design"

Fig. 1: A simple case of teaching thermal insulation.
Energy3D is a "smart" CAD tool because it can monitor the designer's behavior in real time, based on which it can generate feedback to the designer to regulate the design behavior. This capacity has tremendous implications to learning and teaching scientific inquiry and engineering design with open-ended nature that requires, ideally, one-to-one tutoring so intense that no teacher can easily provide in real classrooms.

The computational mechanism for generating feedback in Energy3D is based on intelligent agents, which consist of sensors and actuators (in very generic terms). In Energy3D, all the events are logged behind the scenes. The events provide the raw data stream from which various sensors produce signals based on subsets of the raw data. For instance, a sensor can be created to monitor any event related to solar panels of a house. An agent then uses a decision tree model to determine which actuators should be called to provide feedback to the user or direct Energy3D to change its state. For instance, if a solar panel is detected to be placed on the north-facing roof, the agent can remind the designer to rethink about the decision. Just like what a teacher may do, the agent can even suggest a comparative analysis between a solar panel on the north-facing roof and a solar panel on the south-facing or west-facing roof. Although this type of inquiry and design can be also taught using directly scaffolded instruction that guides students to explore step by step, in practice we have found the effect of this approach often diminishes because many students do not read instruction carefully enough and remember them long enough. It is also challenging for teachers to guide the whole class through this kind of long learning process as students often pace differently. Adaptive feedback provides a way to help students only when they need or just when a need is detected, thus providing a better chance to deliver effective instruction.

Let's look at a very simple example. Figure 1 shows a learning activity, the goal of which is to teach how the thermal property of a wall, called the U-value, affects the energy use of a house. Many students may walk away with a shallow understanding that the higher the U-value is, the more energy a house uses. The challenge is to help them deepen their understanding. For example, how can we make sure that students will collect enough data points to discover that the energy a house uses is proportional to the U-value? How can we support them to find out that the relationship is independent of seasonal change, wall orientation, and solar radiation (e.g., a lower U-value is good in both summer and winter, irrespective of whether or not the wall faces the sun). Helping students accomplish this level of understanding through inquiry-based activities is by no means a trivial task, even in this seemingly simple example. Let's explore what we may do in Energy3D now that we have a way to monitor students' interactions with it.

Fig. 2: An event sequence coded like a DNA sequence.
In nearly all software that support learning and teaching, the events during a process can be coded as a string with characters representing the events and ordered by their timestamps, such as Figure 2. In this case, A represents an analysis event in the Energy3D CAD tool, U represents an event of changing the U-value of a wall, C represents an event of changing the date for the energy simulation, a questionmark (?) represents an event of requesting help from the software, an underscore (_) represents an inactive time period longer than a certain threshold, and * is a wildcard that represents any other event "silenced" in this expression in order to reduce the dimensionality of the problem. For those who know a bit about bioinformatics, this resembles a DNA sequence. In the context of Energy3D, we may also call it as the DNA of a design, if that helps your imagination.

Now that we have converted the sequence of events into a string, we can use all sorts of techniques that have been developed to analyze strings to analyze these events, including those developed in bioinformatics such as sequence alignment or those developed in natural language processing. In this article, I am going to show how the widely-supported regular expressions (regex) can be used as a technique to detect whether a certain type of event or a certain combination of events occurred or how many times it occurred. I feel that regex, in our case, may be more accurate than edit distances such as the Levenshtein distance in matching the pattern. For example, a single substitution of event may represent a very different process despite the short edit distance.

Fig. 3: A sequence that shows high usage of feedback
We know that, a fundamental skill of inquiry is to keep everything else fixed but change only one variable at a time and then test how the system's output depends on that variable. Through this process of inquiry, we learn the meaning of that variable, as explained by Bruce Alberts, former president of the National Academy of Sciences and former Editor-in-Chief of the Science Magazine. In the example discussed here, that variable is the U-value of a selected wall of the house and the test is the simulation-based analysis. A pattern that has alternating U and A characters in the event string suggests a high probability of inquiry, which can be captured using a simple regex such as (U[_\\*\\?]*A)+. Between U and A, however, there may be other types of events that may or may not exist to weaken the probability or compromise the rigor. For example, changing the color of the wall between U and A may also result in an additional difference in energy use of the house that originates from the absorption of solar radiation by the external surface of the wall and has nothing to do with its U-value. In this case, changing multiple variables at a time appears to be a violation of the aforementioned inquiry principle that should be called out by the agent using another regex to analyze the substring between U and A.

An interesting feature in Energy3D is that feedback itself is also logged. Figure 3 shows a sequence that has an alternation pattern similar to that of Figure 2, but it records a type of behavior showing that the user may rely overly on feedback from the system to learn (the questionmarks in the string stand for feedback requests made by the user) and avoid deep thinking on their own. This may be a common problem in many intelligent tutors (sometimes this behavior is called "gaming the system").

The development of data mining and intelligent agents in Energy3D is opening interesting opportunities of research that will only grow more important in the era of artificial intelligence (AI). We are excited to be part of this wave of AI innovation.