Posts Tagged ‘wave equation’

Fermi-Pasta-Ulam

Tuesday, April 27th, 2010

Current studies have led me to meddle with the famous FPU (Fermi-Pasta-Ulam) problem. Unsuprising event, since it is one of the cornerstones of the study of computational physics.

It was one of the first problems that was tackled not using analytic math tools, but using high speed digital computing. The reason behind this sort of approach was the difficulty of dealing with nonlinear equations; something that is near impossible to deal with exact analytical attacks. Digital computers and numerical analysis however is the ideal tool to conduct these sort of chaotic computational experiments with.

A lot has been written about the FPU problem (try the wikipedia article for a decent summary), but an immediate way to grasp the problem is by hearing how it sounds. The system described in the problem consists of masses coupled together, the usual scalar wave equation with nonlinear coupling terms added. Here the initial gaussian pulse oscillates in the system without damping and with increasing nonlinearity.

Fpu1 by janne808

Another example is done with a custom VST plugin. The system is driven with two pulse oscillators.

Fpu2 by janne808

Further adventures in quantum land.

Wednesday, June 3rd, 2009

Studying wave equation discretization has personally led me to understand and appreciate the physics which rely heavily on this mathematics, namely electrodynamics and field theories. I think this sort of ‘visual intuition’ is a important part of learning when dealing with dynamics which can be extremely complicated and complex, at least it has been exactly that  for me. Studying the computability of these equations has definetly paved some way in these theoretically dense subjects.

I recently made few basic computer models of the Schrödinger wave equation with MATLAB for computational physics course work.

Here is a two dimensional version of the discretisized time-dependent wave equation calculated using a clever leapfrog integration algorithm scheme by Visscher.

Things start to get visually more interesting when integrating the time-dependant equation in three dimensions.

Here is another run with a slightly different value for the momentum of the wavepacket.

Unfortunately MATLAB seriously lacks in the volumetric plotting department so we’ll have to do with phong shaded isosurfaces instead of a more appropriate voxel based plot. Don’t worry, this will not end up forming black holes and destroying Vulcan.

Transmission line matrix modelling

Wednesday, June 3rd, 2009

I recently got excited about cellular automata systems again, which is something that got me interested in computing in the first place. I suppose you could think of it as going back to the roots. Many nights and weekends I’d be obsessed about these seemingly simple but endlessly complex discrete systems as a kid and programming them in Basic. This also led me to study hardware level programming using machine language and assembler, since Basic was far too slow for most things.

Turns out this simple bit flipping is actually useful for something. Complexity is at the core of many important dynamic models, for example in hydrodynamics where in some cases traditional approaches are too prone for truncation and round-off noise errors to model turbulence accurately enough. Lattice gas and lattice Boltzmann models handle this sort of problem far better because of their discrete nature. Discreteness also means that the algorithms are perfect for massive parallel computing.

Here I’ve done a simple transmission line matrix model to simulate wave propagation. You could think of it as applying Huygens wavefront principle to a discrete node system, which turns out to work perfectly. The algorithm is very close to what you get if you discretisize a scalar wave equation.

Fast explicit numerical computation of the time-dependent Schrödinger equation.

Friday, November 7th, 2008

Having studied the fundamentals of quantum mechanics from the perspective of numerical computation it has become obvious that stability is a major drawback in most fast numerical approaches. The best scheme to tackle with the issue is by Visscher whose explicit algorithm is both fast and stable. Accuracy is not my biggest concern since I’m mostly interested in visualization of the quantum mechanical world but the algorithm holds very well. The algorithm is second order accurate, there is some dispersion of the wave packet however. It is also straightforward to extend it to n-dimensional space.

My processing example applet of the 1D time-dependent Schrödinger wave equation with the source code is at http://www.punainen.org/~biotek/visscher1d

Reference to the original paper: P.B. Visscher “A fast explicit algorithm for the time-dependent Schrödinger equation”, Computers in Physics Nov/Dec 1991, 596-8