Numerical Simulation of Foucault Pendulum

The goal of this project is to numerically simulate Foucault pendulum motion projection on XY plane with C++ programming. The equation of motion for Foucault pendulum is a coupled second-order differential equation and has a oscillatory nature. Consequently, Runge-Kutta 4th order method is used due to increase accuracy. The simulation was done for simplified model which \(ω^2\) terms were ignored and the full equation of motion without this simplification. The result for both cases was consistence with real Foucault pendulum motion expectation. Because of small value of angular velocity for the Earth, simplification didn’t affect the pendulum behaviour in the way that obvious deviation be detected.

Constants and initial condition used in simulation provided in tables below.

Quantity Value
g 9.83 \(\frac{m}{s^2}\)
L 67 \(m\)
\(\omega_{Earth}\) \(\frac{2\pi}{86400} \frac{rad}{s}\)
\(\lambda\) \(49^{o} \)
Quantity Value
\(x_{0}\) 0.67 \(m\)
\(\dot{x}_{0}\) 0 \(\frac{m}{s}\)
\(y_{0}\) 0 \(m\)
\(\dot{y}_{0}\) 0 \(\frac{m}{s}\)

Animations for numerical solution results are provided as follows.

This animation shows a fixed axis for 30 minutes and represent the area covered by the pendulum (the blue lines).

This animation shows a auto scaled axis for 5 minutes and represent the path of pendulum during this time frame(the blue lines).


This is the final project for "computational physics" course at UAlbany.

Language: Python

Method: Runge-Kutta 4th order