Numerical Simulation of Foucault Pendulum

The goal of this project is to numerically simulate the motion of a Foucault pendulum projected onto the XY plane using C++ programming. The equation of motion for a Foucault pendulum is a coupled second-order differential equation that has an oscillatory nature. Consequently, the Runge-Kutta 4th order method is used to increase accuracy. The simulation was done for a simplified model in which the [latex]\omega^2[/latex] terms were ignored, as well as the full equation of motion without this simplification. The results for both cases were consistent with the expected motion of a real Foucault pendulum. Because the value of the Earth’s angular velocity is small, the simplification did not affect the pendulum’s behavior in a way that obvious deviation could be detected.

The constants and initial conditions used in the simulation are provided in the tables below.

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

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).

Description

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

Language: Python

Method: Runge-Kutta 4th order