Undergraduate thesis: Transition to Chaos

Quick summary: Thesis here, slides here, related notes here.

This post serves as a collection of information and work related to my undergraduate thesis, which I wrote in summer 2010 under the supervision of Professor Peter H. Richter at the Physics department of the University of Bremen, Germany. A brief summary aimed at a general audience can be found below in this post.

The title of my thesis is: Melnikov’s Method and the transition to chaotic behaviour in Cardan-mounted Euler tops. It is written in German. The thesis is available here and the presentation slides here. As a way of learning about Melnikov’s method, I wrote these notes prior to the thesis. The Cardan-mounted Euler top to which the method is applied is depicted in the picture below.

The Cardan-mounted Euler top to which Melnikov’s Method is applied in my thesis. The reference coordinate system is (x,y,z), the current system is (1,2,3).

Animations and source code

I wrote a little Matlab program which visualises the motion of the Cardan-mounted Euler top. It is hosted on Matlab File Exchange.  Below, you can see two videos, one showing regular (oscillating) motion and the other showing irregular (chaotic) motion.

A brief summary

Here is a brief summary aimed at a general audience:

Euler’s top is a rigid body (with arbitrary shape, say, a potato) suspended from its centre of gravity (CoG). Its motion is regular and well-known. In most cases, however, the CoG cannot be reached by a regular suspension method like a thread or rod (one would have to reach inside the potato, i.e. pierce a hole through it). But the problem can be solved using a more sophisticated suspension mechanism: a ‘Cardan mounting’ (e.g. helicopters or gyro compasses are similar to Cardan-mounted rigid bodies).

But as the dynamic properties of the Cardan-mounted Euler top are different from those of the normal Euler top, the resulting motion is much more complex: the spectrum of possible motion ranges from regular (i.e. harmonic, predictable) to chaotic (i.e. unpredictable) in a multitude of varying degrees. My thesis provides a description of the transition from regular to chaotic motion, using methods from nonlinear dynamics and Melnikov’s Method from perturbation theory.

Seminar undergraduate talks in Bremen

In my undergraduate physics course in Bremen, we had the opportunity to present papers of our choice during group seminars of our choice. I gave two such presentations in January 2011, on a paper on theoretical neuroscience and another on random boolean networks. Here are the slides and some details:

Theoretical Neuroscience Seminar

My slides are here, the original paper by Gavornik, Shuler, Loewenstein, Bear, Shouval is here. The talk is about a simple network model for synaptic plasticity.

Complex Networks Seminar

I gave an introductory talk on Random Boolean Networks (RBNs). After a brief definition of RBNs I discuss some properties of RBNs and discuss them based on an example of a 5 node RBN (see image below). I created most of the visualisations with the Matlab RBN Toolbox.

Summer school presentations

I took part in several summer schools organised by the German National Academic Foundation. These usually take two weeks, comprising an academic programme and some fun social get together. In the academic part, students usually give talks that they prepared and the material is discussed with expert course organisers. Here are the talks that I gave during these summer schools:



I completed a two-week wetlab training course as part of the Oxford Systems Biology DTC in 2012, the results of which I wrote up here.

Experimental physics lab

As part of my training as a physicist in Bremen, I completed many lab experiments including these:

Find below my description of these experiments in German, and my ranking of which ones are worth doing for future students.

Continue reading

schroedingerSolver – numerical solutions of Schrödinger’s equation (stationary case)

You can feed an arbitrary one-dimensional potential into the solver, along with information about the observed interval and discretisation. The program interpolates the potential and solves Schrödinger’s equation numerically in order to obtain an arbitrary number of wave functions, as well as their corresponding energy levels. All of the results are broken up in output files which can easily be displayed graphically. Additionally, a Matlab routine is provided for the purpose of obtaining a neat plot of the results. The program SchroedingerSolver is written entirely in Fortran and uses several LAPACK routines.

This program was co-authored by Andreas Krut. We used the distributed revision control system bazaar(bzr) in order to revise and merge our code.

In the readme (see below) you’ll find detailed instructions on how to compile and run the program, as well as all the necessary prequisites. If you have already set up your workspace, you can make a test compile via

>$ make test_lite


The documentation should give a good idea of how the program works. Also, visit the schroedingerSolver Launchpad developer site, or download a zip file of the repo directly.


Vortrag: Supraleitung

Dies ist ein Vortrag von mir im Rahmen der Veranstaltung “Mündliche Präsentationstechniken”. Der Vortrag stellt eine  Einführung in die Supraleitung dar und gibt einn Einblick in einige theoretische und experimentelle Grundlagender Supraleitung (Meißner-Ochsenfeld-Effekt, BCS-Theorie, Josephson-Effekt) und zeigt einige bereits realisierte und kommende Anwendungen der Supraleitung.


Animated Lagrange Top

This Matlab programme simulates a Lagrange top, which is a symmetric top spinning in a gravitational field. To call it, type


The first parameter is a time interval \([t_0,t_\text{end}]\) and the second parameter are the initial conditions of the Euler angles \([\varphi,\dot{\varphi},\vartheta,\dot{\vartheta},\psi,\dot{\psi}]\).

The spinning top zip folder contains the code, typed documentation and a Mathematica notebook in which I derive the ordinary differential equations which are solved numerically in Matlab.