When a block of four cells rotates within our Circulating Cells simulation, the rotation does work, and we call this work the impetus for circulation. We express the impetus for circulation in units of energy per kilogram of gas in the four cells (J/kg). In our CC6 program, we take the impetus for circulation and add it back into the gas as heat. Our assumption is that the impetus is first used to accelerate the gas, and so turns into kinetic energy, but later is dissipated as viscous friction. At the end of our circulation, the gas is once again at rest.
But clearly the gas will not be at rest at the end of a circulation. Once it starts moving, it will tend to continue moving. In our previous post we showed that the cells coming to stop means that our simulation will never allow convection to produce a steady breeze. We would like our simulation to allow a cell to retain some of its kinetic energy after the circulation is complete, and thus allow this kinetic energy to influence subsequent movements of the same cell.
We propose that our upcoming CC7 program should handle kinetic energy in the following way. First, we give each cell two additional numbers that specify its kinetic energy per kilogram in the vertical and horizontal directions. When a cell is moving down, indicate its downward motion by giving its vertical kinetic energy a negative sign. When moving to the left, we give its horizontal kinetic energy a negative sign. The kinetic energy is in units of J/kg, just like the impetus for circulation. The use of a sign to indicate direction does not imply that the kinetic energy is really negative, because kinetic energy cannot be negative.
When four stationary cells rotate, we calculate the impetus for circulation just as we did in CC6. We rotate the cells if the impetus exceeds our impetus threshold. After that, we take a fraction of the impetus, given by the new ke_fraction parameter, and add it to the kinetic energy of each cell. In a clockwise rotation, the bottom-left cell acquires upward kinetic energy, the top-left cell acquires rightward kinetic energy, and so on. What is left of the impetus, we add into the cell temperature as viscous heat. If we set ke_fraction to zero, the simulation will run exactly as it did in CC6, because the entire impetus will turn into viscous heat, and no kinetic energy will be imparted to the cells.
When four cells with kinetic energy rotate, however, we add to the impetus for circulation whatever kinetic energy the cells might have in the direction they will be expected to move.
Suppose we have four cells, three of which are stationary, but the bottom-left one is already moving upwards with kinetic energy 40 J/kg. If the impetus for circulation due to buoyancy and expansion is 2 J/kg, we now add 10 J/kg to account for the fact that the bottom-left cell has 40 J/kg of kinetic energy that favors the rotation. The total impetus is 12 J/kg. Assuming our threshold is below 12 J/kg, the rotation takes place. If our ke_fraction is 0.5, each cell ends up with 6 J/kg in the direction of the rotation. The bottom-left cell ends up with 6 J/kg of upward, vertical kinetic energy, which is far less than the 40 J/kg it started with. Its kinetic energy was used to drive a circulation that might not have taken place at all, and in doing so, the it accelerated and heated three other cells. The bottom-left cell slowed down, but it is still moving up.
If the bottom-left cell also has kinetic energy in the horizontal direction, we ignore this fact, and assume that this horizontal energy will neither hinder nor help the rotation. When the rotation takes place, the kinetic energy of the bottom-left cell in the horizontal direction will remain unchanged.
This is what we plan to do in CC7. We welcome your comments before we proceed. The program is likely to slow down, so we are trying to figure out how to make the calculations faster. Not that any of us is in a hurry, of course.