Developing a 2D train simulation system

My MSc thesis topic was the simulation of 2D systems consisting of masses, springs and dampers.
I had the opportunity to work at Knorr-Bremse Rail Vehicle Systems Budapest, where I developed a 2D multi-body system in C++ and OpenGL.
One of the first features were to calculate the natural frequencies and natural modes of a dynamical system, see the video below:

Later I've worked on simulating general 2D systems under various excitation. Analytical solutions for specific excitations have been derived to increase the precision and stability of the numerical solution. Various numerical methods were implemented.

In the final version dynamics of the rail wheels are simulated separately, rolling and slipping can be analyzed. The "internal" behaviour (homogeneous solution) is calculated using the solution operator of the homogeneous system, which can be calculated before the simulation. The inhomogeneous solution is calculated with 4th order Runge-Kutta method.

Skills gained & improved: