Begun 14oct14 by, last edited 10dec14 by

Stability of an Artificial Force

by Gilad Margalit


Physics as it is currently understood contains only four fundamental forces, which cause particles to interact in relatively predictable ways. This project sought to test whether the addition of a fifth fundamental force, affecting all particles and behaving in a manner that is clearly distinct from any of the other forces, inevitably destroys arbitrary particle systems or can persist stably. For this purpose, I created Python simulations of both a system of ideal gas particles and a system of particles in a rigid body to demonstrate how the artificial fifth force affects them.



Ideal gas code with the addition of my artificial force
Chaos code demonstrating that a my force causes small initial angles between the paths of particles to grow with time
Rigid body code showing an object consisting of point particles rotating naturally
Rigid body code with the addition of my artificial force
Presentation on the mathematical background of my project


4dec14 After some debugging, the inertial tensor function worked perfectly! First successful rigid body dynamics tests! The new force appears to cause chaotic oscillations in moving solids while stabilizing the rotation of solids spinning in place.

2dec14 Added a function to generate the inertial tensor in the hope that applying its inverse to the angular momentum will produce the correct angular frequency vector. Made the changes on my graphics-challenged laptop, so the theory is untested for now.

21nov14 Created GIF of ideal gas, to be posted soon.

19nov14 Made functions for finding the velocity of the center of mass and fixed several glitches that caused crashes. First test of rigid body dynamics, though with undesired erratic movements.

14nov14 Began rigid body model, drew lines between particles, made angular momentum and center of mass functions.

12nov14 Found and fixed infinite acceleration glitch, tweaked force modifier, found and fixed longer-term acceleration glitch. Finished ideal gas model!

05nov14 Added color to the particles, fixed bugs in the collision functions and uncovered new ones that are not yet fixed. Glitched interaction between collision functions and new force causes infinite acceleration after a few seconds

31oct14 Added transparent walls and the functions that make particles bounce off of them and each other. First test of ideal gas; no change in energy or clustering behavior detected

29oct14 First successful test! Fixed bugs in newForce function, added gravity function, added dummy array, and tuned the force constant k

25oct14 Created the getPositions and getAccelerations functions, finalized Runge-Kutta loop with timing, removed syntax errors, first test (failed, no movement)

23oct14 Created the getVelocities and newForce functions, initialized the particle array for ideal gas

21oct14 Uploaded the first draft of the physics engine, created the Particle class, typed out basic Runge-Kutta loop format