Archive for March, 2007

Granular media

Posted in Physics 3 years, 5 months ago

I was almost going to choose this topic for my nonlinear physics course project. Though this is very interesting and exciting, I couldn’t find enough content to develop into a project.

Granular media

Granular media, like sand, rice or cereal, also happen to form interesting patterns when vibrated on a membrane. This was first discovered and published in Nature by Umbanhowar, Melo & Swinney from the Center for Nonlinear Dynamics at the University of Texas at Austin. This was the same team that had created the very popular Faraday waves video posted on YouTube.

The physical phenomena is similar to Faraday waves seen in liquids almost a hundred and thirty years ago. The key difference is that while liquid faraday waves can be derived from a continnum model such as the Navier-Stokes equations, no such model exists for granular media as far as my limited knowledge goes. Therefore, the analytical derivations for the purposes of a project is limited.

Granular phase plane

The phase-plot is in terms of a dimensionless amplitude given by

\Gamma = 4 \pi^2 A f^2 g^{-1}

where A is the driving amplitude, g is the acceleration due to gravity, and f is the driving frequency. Some of these have been experimentally verified by means of a molecular dynamics simulation. Once again, the computational part wasn’t sufficient to fulfill the requirements because the equations are “simple” non-linear coupled ordinary differential equations. Whereas systems we have studied in class were described by partial differential equations.

Oscillon

The term “oscillon” was coined by the paper mentioned above. In recent years, there has been a lot of research into these structures. The picture above is oscillons in a nonlinear field model and the author has some really cool videos on his site.

Streaming Instructions

Posted in Computing 3 years, 5 months ago

Yesterday, Intel disclosed more information about its forthcoming processors codenamed Penryn. Quoting arstechnica,

Penryn’s back end boasts two major advances over its predecessor. First is a new radix-16 divider that offers a 2x performance improvement on division operations vs. Core 2 Duo. The fast divider also speeds up a range of operations that depend on the divider hardware, like the square root function. Penryn’s SQRT operation is 4x the speed of Core 2.

The other major back-end improvement is support for the SSE4 extensions, a group of 50 new vector instructions aimed at speeding up media and other data-parallel applications. SSE4 will be paired with a new “Super Shuffle Engine,” a full-width, single-pass, 128-bit shuffle unit. This will enable Penryn’s vector hardware to perform 128-bit shuffle operations (e.g. pack, unpack, packed shift) in a single clock cycle. The beefed up shuffle capabilities will help Penryn align incoming vector data in the SSE registers so that the execution hardware can go to work on it.

SSE4

What’s interesting to me is the 50 new streaming instructions. Taking a quick look at the list of new instructions, I found dpps which is the vectorized floating point dot product. The document doesn’t state the number of cycles required for this instructions, but in my opinion, this is a huge win.

Mathematically, the dot product doesn’t fall into the class of vector instructions. The fastest way to do a dot product in the pre-SSE2 era was with the use of a vector multiply mulps and then adding the components pairwise. With the introduction of SSE3, you could make use of the Horizontal Add instruction haddps to reduce the component-wise addition. This is still not much better.

It’s extremely hard to write a physics engine without the use of dot products. I’m pretty sure a user will want to see the kinetic energy of the system, which is now only one instruction away.

T = m ( v \cdot v )

(the trick is to scale mass by a half.)

To see what instructions are supported by your CPU on Linux, at the commandline type:

cat /proc/cpuinfo

Ginzburg-Landau

Posted in Physics 3 years, 5 months ago

pattern.jpg

I spent most of last week looking for an idea for my nonlinear physics course project. We were given a few pointers to topics that could become potential projects: various kinds of pattern formation in Fluid Mechanics, Complex fluids, Biological systems, Chemical systems, Optics, Combustion and Hydrodynamics.

I came up with four topics (all four of them weren’t on the initial list of things suggested.) Somebody else in the class had exactly the same proposal as mine, including references, so that was out of the picture. One turned out to be computationally infeasible (couple of hours for a single step of a Finite Element Method), the other turned out to be extremely hard and outside the scope of the course.

I finally settled on “Global feedback methods for the subcritical Complex Ginzburg-Landau Equation.” If that didn’t make any sense, I’ve tried to explain what each word means in my proposal.

(picture courtesy of Shankar Venkataramani.)