Finding the equilibrium state of a physical system by minimizing its potential energy
In this recipe, we will give an application example of the function minimization algorithms described earlier. We will try to numerically find the equilibrium state of a physical system by minimizing its potential energy.
More specifically, we'll consider a structure made of masses and springs, attached to a vertical wall and subject to gravity. Starting from an initial position, we'll search for the equilibrium configuration where the gravity and elastic forces compensate.
How to do it...
Let's import NumPy, SciPy, and matplotlib:
>>> import numpy as np import scipy.optimize as opt import matplotlib.pyplot as plt %matplotlib inline
We define a few constants in the International System of Units:
>>> g = 9.81 # gravity of Earth m = .1 # mass, in kg n = 20 # number of masses e = .1 # initial distance between the masses l = e # relaxed length of the springs ...