Posts Tagged ‘CFD’

Modeling solar thermal power using heliostats in Energy2D

March 22nd, 2015 by Charles Xie
An array of heliostats in Energy2D (online simulation)
A new class of objects was added in Energy2D to model what is called a heliostat, a device that can automatically turn a mirror to reflect sunlight to a target no matter where the sun is in the sky. Heliostats are often used in solar thermal power plants or solar furnaces that use mirrors. With an array of computer-controlled heliostats and mirrors, the energy from the sun can be concentrated on the target to heat it up to a very high temperature, enough to vaporize water to create steam that drives a turbine to generate electricity.

Image credit: Wikipedia
The Ivanpah Solar Power Facility in California's Mojave Desert, which went online on February 13, 2014, is currently the world's largest solar thermal power plant. With a gross capacity of 392 megawatts, it is enough to power 140,000 homes. It deploys 173,500 heliostats, each controlling two mirrors.

A heliostat in Energy2D contains a planar mirror mounted on a pillar. You can drop one in at any location. Once you specify its target, it will automatically reflect any sunlight beam hitting on it to the target.

Strictly speaking, heliostats are different from solar trackers that automatically face the sun like sunflowers. But in Energy2D, if no target is specified, as is the default case, a heliostat becomes a solar tracker. Unlike heliostats, solar trackers are often used with photovoltaic (PV) panels that absorb, instead of reflecting, sunlight that shine on them. A future version of Energy2D will include the capacity of modeling PV power plants as well.

Complete undo/redo support in Energy2D

March 11th, 2015 by Charles Xie
In Version 2.3 of Energy2D, I have added full support of undo/redo for most actions. With this feature, you can undo all the way back to your starting point and redo all the way forward to your latest state. This is not only a must-have feature for a design tool with a reasonable degree of complexity, but also a simple -- yet powerful -- mechanism for reliably collecting very fine-grained data for understanding how a user interacts with the software.

Why are we interested in collecting these action data?

From the perspective of software engineering, these action data provide first-hand information for quality assurance (QA). QA engineers can analyze these data to measure the usability of the software, to identify behavior patterns of users, and to track results from version to version to gauge if an adjustment has led to better user experience.

From the perspective of education and training, these action data encode users' cognitive processes. Any interaction with the software, especially with a piece of highly visual and responsive software like Energy2D, is automatically a process of cognition. A fundamental thesis in learning science is to understand how we can design interactive materials that maximize learning for all students. These precious fine-grained action data may hold an important key to that understanding.

This idea of using the stack of actions stored in the undo manager of a piece of software to record and replay the entire process of interaction is a unique feature that has been implemented in our Energy2D and Energy3D software and proven a non-obtrusive, high-fidelity, and low-bandwidth technique for data collection.

Energy2D video tutorials in English and Spanish

February 20th, 2015 by Charles Xie
Many users asked if there is any good tutorial of Energy2D. I apologize for the lack of a User Manual and other tutorial materials (I am just too busy to set aside time for writing up some good documentations).


So Carmen Trudell, an architect who currently teaches at the School of Architecture of the University of Virginia, decided to make a video tutorial of Energy2D for her students. It turned out to be an excellent overview of what the software is capable of doing in terms of illustrating some basic concepts related to heat transfer in architectural engineering. She also kindly granted permission for us to publish her video on Energy2D's website so that other users can benefit from her work.

If you happen to come from the Spanish-speaking part of the world, there is also a Spanish video tutorial made by Gabriel Concha based on an earlier version of Energy2D.

Energy2D recommended in computational fluid dynamics textbook

January 27th, 2015 by Charles Xie
Computational fluid dynamics (CFD) is an important research method that uses numerical algorithms to solve and analyze problems that involve fluid flows. Computers are used to perform the calculations required to simulate the interaction of liquids and gases with surfaces defined by boundary conditions. Today, almost every branch of engineering rely on CFD simulations for conceptual design and product design.

A recent textbook "Computational Fluid Dynamics, Second Edition: A Practical Approach" by Profs. Jiyuan Tu, Guan Heng Yeoh, and Chaoqun Liu has recommended Energy2D as "Shareware CFD" for beginners. Here is a quote from their excellent book:
"Nevertheless, first-time CFD users may wish to search the Internet to gain immediate access to an interactive CFD code. (Users may be required to register in order to freely access the interactive CFD code.) The website is http://energy.concord.org/energy2d/index.html provides simple CFD flow problems for first time users to solve and allows colorful graphic representation of the computed results."

Happy New Year from Energy2D

January 1st, 2015 by Charles Xie
In the year 2014, Energy2Dhas incorporated a radiation simulation engine and a particle simulation engine, expanding its modeling capacity and making it a truly multiphysics simulation package. To celebrate the New Year, I made some simulations that demonstrate these multiphysics features using objects shaped after the numbers of 2015.

These simulations feature the fluid dynamics engine, the heat conduction engine, the thermal radiation engine, and the particle dynamics engine. If you are curious enough, you can click this link to run the simulations.


These shapes were drawn using Energy2D's polygon and ring tools, which allow users to create a wide variety of arbitrary 2D shapes. Many users probably do not know how versatile the polygon tool actually is (the original triangle icon on the tool bar probably misleads some to think it is only good for drawing triangles -- so I changed it to look like a cross-section of an I-beam). The polygon tool allows one to easily draw a polygon with maximally 256 control points for adjusting its shape later. One can draw an approximate shape and then drag these control points to get it to the exact shape. To modify a shape even further, one can also insert a control point by double-clicking on an existing point. A new point will be added to the adjacent position, which you can then drag around. To delete a control point, just hold down the SHIFT key while double-clicking on it. In addition, a polygon can be rotated, twisted, compressed, or elongated using the corresponding fields in its property window (there is currently no graphical user interface for doing those things, however).

As for the New Year's resolutions, in 2015, the ring shape will be enhanced into a new tool called the shape subtractor, which allows users to subtract a shape from another to make a hollow one.

On the numerical simulation side, we will continue to improve the accuracy of the existing simulation engines by adding an explicit solver as an option for users to overcome some of the problems related to the implicit solvers.

On the multiphysics modeling side, we will try to support multiple fluids, which seems simple at first glance but has turned out to be a very difficult mathematical problem. With the capacity of multiple fluids, we will also be able to add an electromagnetism solver in order to model effects such as electrorheological fluids (fluids whose viscosity changes with respect to an applied electric field).

We wish all Energy2D users a very successful new year!

Using particle feeders in Energy2D for advection simulations

August 30th, 2014 by Charles Xie
Fig. 1: Particle advection behind two obstacles.
Advection is a transport mechanism in which a substance is carried by the flow of a fluid. An example is the transport of sand in a river or pollen in the air. Advection is different from diffusion, whereas the more commonly known term, convection, is the combination of advection and diffusion.

Our Energy2D can simulate advection as it integrates particle dynamics in the Lagrangian frame and fluid dynamics in the Eulerian frame. Particles in Energy2D do not spontaneously diffuse -- they are driven by gravity or fluid, though we can introduce Brownian particles in the future by incorporating the Langevin Equation into Energy2D.

Fig. 2: Blowing away particles.
Over this weekend, I added a new object, the particle feeder, for creating continuous particle flow in the presence of open mass boundary. A particle feeder can emit a specified type of particle at a specified frequency. All these settings can be adjusted in its property window, which can be opened by right-clicking on it and selecting the relevant menu.

Figure 1 shows a comparison of particle advection behind a turbulent flow and a streamlined flow. Have you ever seen these kinds of patterns in rivers?

Figure 2 shows how particles of different densities separate when you blow them with a fan. There are six particle feeders at the top that continually drop particles. A fan is placed not far below the feeders.

With these new additions to Energy2D, we hope to be able to simulate more complex atmospheric phenomena (such as pollutant transport through jet streams) in the future.

Using fans to create fluid flows in Energy2D

August 10th, 2014 by Charles Xie
Fig. 1: Swirling flows form between two opposite fans.
A new type of object, "fan", has been added to Energy2D to create and control fluid flows. This fan replaces the original implementation of fan that assigns a velocity to a solid part (which doesn't allow the fluid to flow through). For the CFD folks who are reading this post, this is equivalent to an internal velocity boundary.

To add a fan to the scene, use the Insert Menu to drop a fan to the last clicked location. You can then drag it anywhere and resize it any way. By default, the velocity of a fan is zero. You will need to set its velocity in the popup window that can be opened using the right-click popup menu. Currently, however, rotation has not been implemented, so a fan can only blow in four directions: left, right, up, or down -- the direction depends on the aspect ratio of the fan's shape and the value of the velocity.

Fig. 2: Eddy formation in a hole.
With this new feature, we can create a directional flow in Energy2D to simulate things such as a river or wind field. Then we can easily simulate various kinds of eddy flow and visualize them using the streamline feature of Energy2D.

For example, Figure 1 shows the continuous formation of swirling flows between two fans that blow wind in the opposite direction. If you move the fans further apart, you will find that the swirling pattern will not form. Could the mechanism shown in this simulation be related to the formation of certain types of twisters?


Fig. 3: Eddy formation behind a fin.
Figures 2 and 3 show the formation of an eddy in a hole and behind an obstacle, respectively. These eddies are common in fast-flowing rivers. Experienced fishermen know there is a higher chance to find fish in these eddies.

Scanning radiation flux with moving sensors in Energy2D

July 13th, 2014 by Charles Xie
Figure 1: Moving sensors facing a rectangular radiator.
The heat flux sensor in Energy2D can be used to measure radiative heat flux, as well as conductive and convective heat fluxes. Radiative heat flux depends on not only the temperature of the object the sensor measures but also the angle at which it faces the object. The latter is known as the view factor.

In radiative heat transfer, a view factor between two surfaces A and B is the proportion of the radiation which leaves surface A that strikes surface B. If the two surfaces face each other directly, the view factor is greater than the case in which they do not. If the two surfaces are closer, the view factor is greater.

Figure 2: Rotating sensors inside and outside a ring radiator.
To conveniently visualize the effect of a view factor, Energy2D allows you to attach a heat flux sensor to a moving or rotating particle, with a settable linear or angular velocity. In this way, we can set up sensors to automatically "scan" the field of radiation heat flux like a radar.

Figure 1 shows a moving sensor and a rotating sensor, as well as the data they record. A third sensor is also placed to the right of an object that is being heated by the radiator. This object has an emissivity of one so it also radiates. Its radiation flux is recorded by the third sensor whose data shows a slowly increasing heat flux as the object slowly warms up.

As an interesting test case, Figure 2 shows two rotating sensors, one placed precisely at the center of a ring radiator and the other outside. The almost steady line recorded by the first sensor suggests that the view factor at the center does not change, which makes sense. The small sawtooth shape is due to the limitation of discretization in our numerical simulation.

Multiphysics simulations of inelastic collisions with Energy2D

July 4th, 2014 by Charles Xie
Figure 1. Mechano-thermal simulation of inelastic collision.
Many existing simulations of inelastic collisions show the changes of speeds and energy of the colliding objects without showing what happens to the lost energy, which is often converted into thermal energy that spreads out through heat transfer. With the new multiphysics modeling capabilities, the Energy2D software can show the complete picture of energy transfer from the mechanical form to the thermal form in a single simulation.

Figure 2. Thermal marks left by collisions.
Figure 1 shows the collisions of three identical balls (mass = 10 kg, speed = 1 m/s) with three fixed objects that have different elasticities (0, 0.5, and 1). The results show that, in the case of the completely inelastic collision, all the kinetic energy of the ball (5 J) is converted into thermal energy of the rectangular hit object (at this point, the particles in Energy2D do not hold thermal energy, but this will be changed in a future version), whereas in the case of completely elastic collision, the ball B1 does not lose any kinetic energy to the hit object. In the cases of inelastic collisions, you can see the thermal marks created by the collisions. The thermometers placed in the objects also register a rise of temperatures. This view resembles infrared images of floors taken immediately after being hit by tennis balls.

Figure 3. Collisions in Energy2D.
Energy2D supports particle collisions with all the 2D shapes that it provides: rectangles, ellipses, polygons, and blobs. Figure 2 shows the thermal marks on two blobs created by a few bouncing particles. And Figure 3 shows another simulation of collision dynamics with a lot of particles bouncing off complex shapes (boy, it took me quite a while in this July 4 weekend to hunt down most of the bugs in the collision code).

The multiphysics functionality of Energy2D is an exciting new feature as it allows more realistic modeling of natural phenomena. Even in science classrooms, realism of simulations is not just something that is nice to have. If computer simulations are to rival real experiments, it must produce not only the expected effects but also the unexpected side effects. Capable of achieving just that, a multiphysics simulation can create a deep and wide learning space just like real experiments. For engineering design, this depth and breadth are not options -- there is no open-endedness without this depth and breadth and there is no engineering without open-endedness.

Fireplaces at odd with energy efficiency? An Energy2D simulation

January 18th, 2014 by Charles Xie
In the winter, a fireplace is the coziest place in the house when we need some thermal comfort. It is probably something hard to remove from our living standards and our culture (it is supposed to be the only way Santa comes into your house). But is the concept of fireplace -- an ancient way of warming up a house -- really a good idea today when the entire house is heated by a modern distributed heating system? In terms of energy efficiency, the advice from science is that it probably isn't.

Figure 1. A fire is lit in the fireplace.
When the wood burns, a fireplace creates an updraft force that draws the warm air from the house to the outside through the chimney. This creates a "negative pressure" that draws the cold air from the outside into the house through small cracks in the building envelope. This is called the stack effect. So while you are getting radiation heat from the fireplace, you are also losing heat in the house at a faster rate through convection. As a result, your furnace has to work harder to keep other parts of your house warm.

Figure 2. No fire.
Our Energy2D tool can be used to investigate this because it can simulate both the stack effect and thermostats. Let's just create a house heated by a heating board on the floor as shown in the figures in this article. The heating board is controlled by a thermostat whose temperature sensor is positioned in the middle of the house. A few cracks were purposely created in the wall on the right side to let the cold air from the outside in. Their sizes were exaggerated in this simulation.

Figure 1 shows the duty cycles of the heating board within two hours when the house was heated from 0 °C to 20 °C with a fire lit in the fireplace. A heating run is a segment of the temperature curve in which the temperature increases, indicating the house is being heated. In our simulation, the duration of a heating run is approximately the same under different conditions. The difference is in the durations of the cooling runs. A more drafty house tends to have shorter cooling runs as it loses energy more quickly. Let's just count those heating runs. Figure 1 shows that 15 heating runs were recorded in this case.

Figure 2 shows the case when there was no fire in the fireplace and the fireplace door was closed. 13 heating runs were recorded in this case.

What does this result mean? This means that, in order to keep the house at 20 °C, you actually need to spend a bit more on your energy bill when the fireplace is burning. This is kind of counter-intuitive, but it may be true, especially when you have a large drafty house.

Figure 3. In a house without cracks...
How do we know that the increased energy loss is due to the cracks? Easy. We can just nudge the window and the wall on the right to close the gaps. Now we have a tight house. Re-run the simulation shows that  only 11 heating runs were recorded (Figure 3). In this case, you can see in Figure 3 that the cooling runs lasted longer, indicating that the rate of heat loss decreased.

Note that this Energy2D simulation is only an approximation. It does not consider the radiation heat gain from the fireplace. And it assumes that the fire would burn irrespective of air supply. But still, it illustrates the point.

This example demonstrates how useful Energy2D may be for all precollege students. In creating this simulation, all I did is to drag and drop, change some parameters, run the simulation, and then count the heating runs. As simple as that, this tool could be a game changer in science and engineering education in high schools or even middle schools. It really creates an abundance of learning opportunities for students to experiment with concepts and designs that would otherwise be inaccessible. Similar experiences are currently only possible at college level with expensive professional software that typically cost hundreds or even thousands of dollars for just a single license. Yet, according to some of our users, our Energy2D rivals those expensive tools to some extent (I would never claim that myself, though).