The point vortex model was introduced by Helmholtz in 1867 and it was subsequently proved by Lin in 1942 that the motion of N vortices in a bounded domain is a Hamiltonian system (sometime called the `Kirchhoff-Routh path function'). The statistical mechanics of the N vortices is remarkable due to the fact that the system exhibits negative temperature.
The integrator used is a custom adaptive 4th order Runge-Kutta scheme which ensures the convergence of vortex positions to below a tolerance parameter before advancing to the next time step. In this way the energy and angular momentum of the system (the only two invariants) are conserved to high precision.
Tom Ashbee (2020). Point vortex dynamics simulation (https://www.mathworks.com/matlabcentral/fileexchange/49103-point-vortex-dynamics-simulation), MATLAB Central File Exchange. Retrieved .
Similar to the previous update, the double sum in the energy (energy.m) has been completely replaced by vector operations. Gives O(2) speed up in energy calc (if N>100) => only really useful for microcanonical statistical mechanics calculations.
The double sum in the equations of motion (eqns_of_motion.m) has been completely replaced by vector operations. This gives speed improvements of around O(6).