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.

Tuesday, November 21, 2017

General Motors funds engineering education based on Energy3D

Designing a parking lot solar canopy at Detroit Airport
General Motors (GM), along with other RE100 companies, has committed to powering its worldwide factories and offices with 100% renewable energy by 2050. Last month, the company furthered its commitment by giving the Engineering Computation Team at the Concord Consortium a $200,000 grant to promote engineering education using renewable energy as a learning context and artificial intelligence as a teaching assistant.

Modeling GM's rooftop solar arrays in Baltimore, MD
Modeling GM's solar arrays in Warren, MI
The project will use our signature Energy3D software, which is a one-stop-shop CAD tool for designing and simulating all kinds of solar power systems including photovoltaic (PV) and concentrated solar power (CSP), both of which have reached a very competitive cost of merely 5¢ per kWh or below in the world market. A unique feature of Energy3D is its ability to collect and analyze "atomically" fine-grained process data while users are designing with it. This capability makes it possible for us to develop machine learning algorithms to understand users' design behaviors, based on which we can develop intelligent agents to help users design better products and even unleash their creativity.

The generous grant from GM will allow us to bring this incredible engineering learning tool and the curriculum materials it supports to more science teachers across New England. It will also help extend our fruitful collaboration with the Virtual High School (VHS) to convert our Solarize Your World curriculum into an online course for sustainable engineering. VHS currently offers more than 200 titles to over 600 member schools. Through their large network, we hope to inspire and support more students and teachers to join the crucial mission that GM and other RE100 companies are already undertaking.

By supporting today's students to learn critical engineering design skills needed to meet the energy and environmental challenges, GM is setting an example of preparing tomorrow's workforce to realize its renewable energy vision.

Monday, November 20, 2017

High Frequency Electronics and Thermtest feature Energy2D

Credit: High Frequency Electronics
High Frequency Electronics is a magazine for engineers. In the cover article titled "Substrate Selection Can Simplify Thermal Management" in its November 2017 issue, author John Ranieri included our Energy2D software as one of the modeling tools recommended to the reader, alongside with mainstream commercial products from industry leaders such as Mentor Graphics and ANSYS. The software is also featured by Thermtest, a UK-based company that focuses on thermophysical instruments. Thermtest supplements the software with a database of standard materials, making it easier for engineers to use.

An Energy2D model of a heat source and a heat sink
According to the article, "heat haunts many RF/microwave and power electronics circuits and can limit performance and reliability. The heat generated by a circuit is a function of many factors, including input power, active device efficiencies, and losses through passive devices and transmission lines. It is often not practical to disperse heat from a circuit by convection fan-driven cooling, and heat must be removed from sensitive components and devices, by creating a thermal path to a metal enclosure or heat sink with good thermal conductivity." As a thermal simulation tool, Energy2D can certainly be very useful in helping engineers conceptualize and design such thermal paths.

More importantly, Energy2D can make your engineering experience as fun as playing a sandbox game! As one of our users recently wrote, "I am working as consulting engineer and we often have to make quick estimations where a steady-state node model is too simplified and setting up a complex FEM model is overkill. Energy2D is a very handy tool for something [like] that and I like the click'n'play sandbox feeling in combination with the physical correctness. I never thought FEM could be that fun."

Saturday, November 4, 2017

Energy3D allows users to select brand name solar panels

Fig. 1: 20 brand name solar panels in Energy3D
Fig. 2: The daily outputs of 20 types of solar panels
Previous versions of Energy3D were based on a generic model of solar panel, which users can set its properties such as solar cell type, peak efficiency, panel dimension, color, nominal operating cell temperature, temperature coefficient of power, and so on. While it is essential for users to be able to adjust these parameters and learn what they represent and how they affect the output, it is sometimes inconvenient for a designer to manually set the properties of a solar panel to those of a brand name.

Fig. 3: The Micky Mouse solar farm
From Version 7.4.4, I started to add support of brand name solar panels to Energy3D. Twenty brand names were initially added to this version (Figure 1). These models are: ASP-400M (Advanced Solar Photonics), CS6X-330M-FG (Canadian Solar), CS6X-330P-FG (Canadian Solar), FS-4122-3 (First Solar), HiS-M280MI (Hyundai), HiS-S360RI (Hyundai), JAM6(K)-60-300/PR (JA Solar), JKM300M-60 (Jinko), LG300N1C-B3 (LG), LG350Q1K-A5 (LG), PV-UJ235GA6 (Mitsubishi), Q.PRO-G4 265 (Q-cells), SPR-E20-435-COM (SunPower), SPR-P17-350-COM (SunPower), SPR-X21-335-BLK (SunPower), SPR-X21-345 (SunPower), TSM-325PEG14(II) (Trina Solar), TSM-365DD14A(II) (Trina Solar), VBHN330SA16 (Panasonic), and YL305P-35b (Yingli). Figure 2 shows a comparison of their daily outputs in Boston on June 22 when they are laid flat (i.e., with zero tilt angle). Not surprisingly, a smaller solar panel with a lower cell efficiency produces less electricity.

Note that these models are relatively new. There are hundreds of older and other types of solar panels that will take a long time to add. If your type is not currently supported, you can always fall back to defining it using the "Custom" option, which is the default model for a solar panel.

Adding these brand names helped me figure out that the solar panels deployed in the Micky Mouse Solar Farm in Orlando (Figure 3) are probably from First Solar -- only they make solar panels of such a relatively small size (1200 mm × 600 mm).