@NilsBerglund
  @NilsBerglund
Nils Berglund | Mega-tetris: Coagulating falling squares with alignment @NilsBerglund | Uploaded July 2024 | Updated October 2024, 2 minutes ago.
This simulation uses the same algorithm as in the video youtu.be/gi--jaS6FzU which showed falling and merging hexagons, but with squares instead and an additional torque helping the squares to align their orientation. When two squares merge, they form a rigid cluster, which is henceforth considered as a single solid. This polygonal solid evolves according to the laws of Newtonian mechanics, as a result of the forces exerted on it from other polygonal solids. To help polygons coagulate, a torque has been added between squares that are close that helps them match their orientation.
Particularly when the clusters become large, the merging sometimes results in an imperfect alignment of the parts. Therefore, a "repair" function has been added, that examines each cluster at regular time intervals. It computes the ideal relative placement of adjacent squares, and pushes the squares in that direction in little steps. The cluster size has been limited to 200, because larger clusters turn out to result in numerical instabilities.
To compute the force and torque of polygon j on polygon i, the code computes the distance of each vertex of polygon j to the faces of polygon i. If this distance is smaller than a threshold, the force increases linearly with a large spring constant. In addition, radial forces between the vertices of the polygons have been added, whenever a vertex of polygon j is not on a perpendicular to a face of polygon i. This is important, because otherwise polygons can approach each other from the vertices, and when one vertex moves sideways, it is suddenly strongly accelerated, causing numerical instability. A weak Lennard-Jones interaction between polygons has been added, as it seems to increase numerical stability.
The temperature is controlled by a thermostat with constant temperature. There is a constant gravitational force directed downward.
This simulation has two parts, showing the evolution with two different color gradients:
Cluster: 0:00
Kinetic energy: 1:20
In the first part, the hexagons' color is constant on each rigid cluster, the hexagons having random initial colors. In the second part, it depends on the polygons' kinetic energy. Note that the color depends on the total energy of a cluster. Perhaps a better option would be to display the energy density of a cluster, meaning that the energy is divided by the number of cells.
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 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.
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 en.wikipedia.org/wiki/Lennard-Jones_potential

Render time: 21 minutes 31 second
Compression: crf 23
Color scheme: Part 1 - Plasma by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Part 2 - Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a

Music: "Basa Basa Beat" by Nana Kwabena@nanakwabenamusic

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

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

#molecular_dynamics #polygon #hexagon
Mega-tetris: Coagulating falling squares with alignmentYoungs double-slit experiment for a quantum particleViewing two light sources through a gradient index lensGrowing quasicrystals from pentagons: Orientation and number of neighborsA light source moving between the focal points of an ellipseExciting resonant modes in a circle with ten out of phase sourcesMore stable weather with 16 pressure systems, westerlies and trade windsClassics revisited: A hyperbolic reflectorFoam bath - Kinetic energy and orientationFour vortices on a rotating sphereVenusian weather - vorticity and wind directionA magnetron-shaped resonator

Mega-tetris: Coagulating falling squares with alignment @NilsBerglund

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER