Skip to content

Cracking the Thomson Problem with NumPy and Mayavi

Notifications You must be signed in to change notification settings

shi-jie-samuel-tan/ThomsonProblem

 
 

Repository files navigation

ThomsonProblem

Introduction

The objective of the Thomson problem is to determine the minimum electrostatic potential energy configuration of N electrons constrained to the surface of a unit sphere that repel each other with a force given by Coulomb's law. This project aims to use Mayavi and Numpy to illustrate the movement of point charges along the surface of a unit sphere using small time intervals. Damping will be applied to the movement of those charges as we constrain them to the surface of the sphere. On top of that, the potential energy of the configuration will also be plotted against time to see how the potential energy decreases to the minimum as the N electrons settle in the most stable configuration.

mayuvi image

How to use

Install all the dependencies into your preferred conda environment. Run the following code python main.py [number of electrons] [time interval] [total duration]

About

Cracking the Thomson Problem with NumPy and Mayavi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 80.8%
  • QML 15.8%
  • Jupyter Notebook 1.3%
  • C 1.2%
  • C++ 0.7%
  • Tcl 0.1%
  • Other 0.1%