An endothermic chemical reaction
Channel: Nils Berglund
Date: 28/02/2023

The recent video https://youtu.be/ZQBvjZiRSeQ showed an exothermic reaction, in which energy from the bonds of reacting molecules is released into the surroundings. This simulation shows the opposite situation in which the bonds absorb energy from the surroundings, decreasing the kinetic energy. As a result, the reaction rate drops in the course of the simulation.
The reaction shown here can be summarized by the equation "A + B → C", meaning that there are three types of molecules: type A, shown here in red, type B, shown in blue, and type C, shown in green. Whenever a molecule of type A encounters a molecule of type B, they have a certain probability of forming a molecule of type C. 
In this simulation, there are initially 3141 molecules of type A, 2497 molecules of type B, and no molecules of type C. The molecules interact via a Lennard-Jones potential. Reactions between A and B occur with a given probability per time step when they are closer than a fixed distance. B molecules are 50% heavier than A molecules, and C molecules weigh as much as an A molecule and a B molecule together. The total momentum is conserved during a reaction.
To make the reaction endothermic, the speed of a C molecule resulting from a reaction is decreased with respect to the value it would have if momentum were conserved. The decrease in kinetic energy of the C molecule is the same for every reaction. In addition, the temperature of the thermostat is decreased accordingly. 
Reactions are highlighted by a small disc that quickly fades. To guide the eye, whenever three molecules of the same type are close enough, the triangular region between them is filled with the same color. In addition, a line is drawn between molecules when they are closer than a given distance (the reaction distance is smaller, however). The graph at the top right shows the number of molecules of each type as a function of time.
This simulation has two parts, showing the same evolution at two different speeds:
Time lapse: 0:00
Slow motion: 0:34
In the first part, time has been accelerated by a factor 3. 
The temperature is controlled by a thermostat, implemented here with the "Nosé-Hoover-Langevin" algorithm introduced by Ben Leimkuhler,  Emad Noorizadeh and Florian Theil, see reference below. The idea of the algorithm is to couple the momenta of the system to a single random process, which fluctuates around a temperature-dependent mean value. Lower temperatures lead to lower mean values. To save on computation time, particles are placed into a "hash grid", each cell of which contains between 3 and 10 particles. Then only the influence of other particles in the same or neighboring cells is taken into account for each particle. 
The Lennard-Jones potential is strongly repulsive at short distance, and mildly attracting at long distance. It is widely used as a simple yet realistic model for the motion of electrically neutral molecules. The force results from the repulsion between electrons due to Pauli's exclusion principle, while the attractive part is a more subtle effect appearing in a multipole expansion. For more details, see https://en.wikipedia.org/wiki/Lennard-Jones_potential

Render time: 43 minutes 19 seconds
Color scheme: Turbo, by Anton Mikhailov
https://gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a

Music: "Maple Leaf Rag" by E's Jammy Jams@ethaneubanks749

Reference: Leimkuhler, B., Noorizadeh, E. & Theil, F. A Gentle Stochastic Thermostat for Molecular Dynamics. J Stat Phys 135, 261–277 (2009). https://doi.org/10.1007/s10955-009-9734-0
http://www.maths.warwick.ac.uk/~theil/HL12-3-2009.pdf

Current version of the C code used to make these animations: 
https://github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Some outreach articles on mathematics:
https://images.math.cnrs.fr/_Berglund-Nils-1343_.html
(in French, some with a Spanish translation)