Archive for June 2014

Simulating thermal radiation with Energy2D

June 27th, 2014 by Charles Xie
Figure 1: Stefan's Law in action.
The original ray-tracing radiation solver in our Energy2D software suffers from performance problems as well as inaccuracies (no, light particles do not travel that slowly as shown in it). After some sleepless nights, I finally implemented a real radiation solver, coupled it with the heat and fluid solvers, and supported both the convex and concave shapes (see this short paper for the mathematics and the algorithms). At last, Energy2D is capable of simulating all three heat transfer mechanisms in a decent way.

Figure 2: Radiation in a box.
Able to simulate heat, fluid, radiation, particles, and any combination of them, Energy2D is now one step closer towards a full multiphysics capacity. Despite the fact that all these complex calculations are done in real time on a single computer, the software still runs at a pretty amazing speed on an average Windows tablet (such as the Surface Pro). I guess this is why our industry friends love it (although Energy2D is mostly designed for K-12 students, to my surprise, quite a number of engineers are using it to do conceptual product design). Who doesn't like a CFD tool for dummies that can save time from the long preprocessor-solver-postprocessor cycle?

Figure 1 shows a simulation that illustrates radiation heat transfer. As you can see, energy can "jump" from a high-temperature object (a radiator) to a low-temperature one without heating the medium between them (unlike the cases of conduction and convection). Users
Figure 3. Radiation in a circle.
can adjust the temperature of the radiator on the left and investigate how the radiation heat transfer increases with respect to the temperature, as per Stefan-Boltzmann's Law. The image also shows the view factor field used in the computation. The simulation provides many subtleties. For example, if you observe carefully, you can find that the radiation barrier used to separate the left compartment from the right one increases the heating on the right side of the upper left object and the left side of the upper right object -- because it reflects the radiation from the two radiators at the lower part of the box to the two sides!

Figures 2 and 3 show radiation among different shapes in an enclosed space. They show how accurate the radiation solver may be. The radiation heating on the side walls seems to make sense. In Figure 2, the upper one gets the most radiation energy because it is the closest to the radiator. The right one gets the least because part of it is blocked from the radiator by the other object in a box. A further test case using a symmetric setup shows its accuracy.

Simulating PTC and NTC heating elements with Energy2D

June 23rd, 2014 by Charles Xie
Figure 1: A demo simulation.
A heating element converts electricity into heat through Joule heating: Electric current passing through the element encounters resistance, causing the temperature of the element to rise. A thermistor is a type of resistor whose resistance changes significantly with temperature. In a heating element that uses a thermistor with a positive temperature coefficient (PTC), called a PTC heating element, the temperature increases rapidly. In a heating element that uses a thermistor with a negative temperature coefficient (NTC), called a NTC heating element, the heating will gradually weaken when the temperature increases.

Figure 2: Setting the temperature coefficient.
Several Energy2D users have requested adding PTC/NTC controls to the software. So this was added last night. You can now set the temperature coefficient while defining a power source, as shown in Figure 2.

Figure 1 shows the comparison of the temperature increasing in a PTC heater, a constant-power heater, and a NTC heater, with the temperature coefficients being 0.1, 0, and -0.1, respectively. Note that in the case of constant power, the temperature increases linearly in time (as per the definition of constant power), whereas PTC and NTC exhibit nonlinear behaviors.

You can click the link under the image to run the simulation yourself.

Design replay: Reconstruction of students’ engineering design processes from Energy3D logs

June 18th, 2014 by Charles Xie
One of the useful features of our Energy3D software is the ability to record the entire design process of a student behind the scenes. We call the reconstruction of a design process from fine-grained process data design replay.


Design replay is not a screencast technology. The main difference is that it records a sequence of CAD models, not in any video format such as MP4. This sequence is played back in the original CAD tool that generated it, not in a video player. As such, every snapshot model is fully functional and editable. For instance, a viewer can pause the replay and click on the user interface of the CAD tool to obtain or visualize more information, if necessary. In this sense, design replay can provide far richer information than screencast (which records as much information as the pixels in the recording screen permit).


Design replay provides a convenient method for researchers and teachers to quickly look into students' design work. It compresses hours of student work into minutes of replay without losing any important information for analyses. Furthermore, the reconstructed sequence of design can be post-processed in many ways to extract additional information that may shed light on student learning, as we can use any model in the recorded sequence to calculate any of its properties.



The three videos embedded in this post show the design replays of three students' work from a classroom study that we just completed yesterday in a Massachusetts high school. Sixty-seven students spent approximately two weeks designing zero-energy houses -- a zero-energy house is a highly energy-efficient house that consumes net zero (or even negative) energy over a year due to its use of passive and active solar technologies to conserve and generate energy. These videos may give you a clue how these three students solved the design challenge.

Towards a multiphysics Energy2D

June 14th, 2014 by Charles Xie
Figure 1: Particle motions driven by convective flow.
Up to yesterday, our Energy2D software has been a program for simulating, mostly, fluid and heat flows. But there are also objects in the world that are not fluids. To simulate that part of the world, we have to incorporate some other physics. A simple addition is to couple particles with fluids. This technique is commonly known as discrete phase modeling in the CFD community. It is used to model things such as suspension particles in fluids.

Figure 2: Heat traces of fireballs.
The latest version of Energy2D has a particle solver and a particle editor. Particles in Energy2D observe collision dynamics among themselves and interact with fluid and heat flows: particles can not only be moved by the fluid but also exert reaction force and transfer heat to the fluid. Figure 1 shows the motion of two types of particles driven by a convective flow. Depending on its density (relative to the fluid density), a particle may be buoyant enough to flow with the fluid or so heavy that it must sink to the bottom. This is shown in Figure 1: The black particles are the heavy ones and the white ones are the light ones; the convective force is not strong enough to move the black ones.

Particles can also transfer physical properties such as energy and momentum to the fluid while they are moving. Figure 2 shows the heat traces left by fireballs of different sizes.

Figure 3: Thermophoresis (Soret's effect)
With this new capacity, we can simulate phenomena such as thermophoresis, in which the different particle types in a mixture respond to a temperature gradient differently and thereby can be separated by just heating them up.

If you are enticed enough to want to see these simulations at work, click the links below the figures.

These new features represent an overdue step towards making Energy2D a versatile multiphysics simulation system. For engineering simulations, multiphysics is essential as real-world problems are often complicated by more than one mechanisms, each driven by its own physics.

The particle dynamics shown here is very simple (just a weekend's work). In the long run, I expect that a generic contact dynamics engine such as that of Box2D will be implemented in Energy2D. Coupling the Eulerian and Lagrangian reference frames, this integration will make Energy2D more interesting and useful. That would be a critical step towards our goal for Energy2D to simulate as many energy-related natural phenomena as possible.