One of the readings I did this week provided foundational information about the computer simulations of liquids. My focus was on the sections of the literature that dealt with finite difference methods and the Verlet neighbour list.
The complete set of positions, velocities and accelerations can all be found by taking infinite derivatives of an initial value from one timestep to the next. However, this would not be able to produce entirely accurate figures because it does not account for the equations of motion that can affect this simulation. This is where a corrector step comes in, that “corrects” for these inaccuracies. Usually only one corrector step is executed because they are generally very costly. A successful simulation algorithm has characteristics such as quick, small in terms of memory, allow the use of a long time step, duplicate the classical trajectory as closely as possible, satisfy the known conservation laws for energy and momentum, and be simple in form.
The Verlet neighbour list is a process of taking measurements from a center particle to particles that exhibits forces on it. These particles are within a space referred to as a potential cutoff sphere. There is also a larger sphere around this cutoff called a “skin” that are close enough to the center particle that they have the potential to move into the inner circle and exhibit forces on it at a point in time. For this reason, their distances from the particle is measured as well. This list is updated at certain time steps, usually 10-20 timesteps.At my internship this week, I have done a lot of reading to understand the computer simulations that are being done and the principles behind them, in addition to learning to code. I have read a sample code and am currently attempting to replicate it without looking at it. I am writing down the actions and purposes of each line of the code on and then looking at this “translation”, in a sense, and attempting to reproduce it solely from my knowledge of coding.