Nils Berglund
Waves from a point source crossing a percolation-style arrangement of obstacles
updated
The particles injected on the left side have an random radius, a mass proportional to their radius squared, and a constant positive charge. There is a constant electric field, directed from left to right, that accelerates the particles. In the middle of the simulation region, there is a constant magnetic field, perpendicular to the simulation plane. The particles interact via a Lennard-Jones potential, and are subject to a viscous drag, in order to avoid numerical instability. The Coulomb interaction between particles has been turned off, however, since otherwise they would not stay in the bins at the right (in practice, one uses more elaborate ways to collect the separated particles).
The particles' acceleration, resulting from the Lorentz force, is proportional to the ratio between their charge and their mass. Therefore, lighter particles are deflected more, and tend to land in lower bins than heavier particles.
The video has two parts, showing the same simulation with two different representations.
With trajectories: 0:00
Without trajectories: 2:44
The particles' color depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 3 minutes 7 seconds with tracers
2 minutes 15 seconds without tracers
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Dusty Finger" by DJ Williams@djwmusic
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 #mass_spectrometer
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:43
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 20 minutes 26 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Part 2 - Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Electrosamba" by Quincas Moreira@QuincasMoreira
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The simulation is based on a shallow water equation. The model includes lunar forcing accounting for tides, and allows for some flooding of land areas. The vertical scale of both mountains and waves has been exaggerated.
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:16
Original speed, 3D: 0:32
Original speed, 2D: 1:38
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow. The tracers are randomly "respawned", by moving them to a random new location at random times. This is to avoid that particles concentrate in some areas, as has happened on some previous simulations.
Render time: 3D parts - 2 hours 26 minutes
2D parts - 2 hours 18 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "The Arid Land" by Sir Cubworth@SirCubworth
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
In this simulation, the particles have different sizes, but the same mass. They are subjected to gravity, and to a horizontal force proportional to their radius, modeling the effect of wind. The wind stops a short distance above the bins at the bottom, to avoid that the particles bounce on the bins' walls.
The particles' color depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 4 minutes 12 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Two Sides" by SefChol@SefChol
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 #winnowing
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 2:04
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 22 minutes 52 seconds
Compression: crf 23
Color scheme: Part 1 - Cividis by Jamie R. Nuñez, Christopher R. Anderton, Ryan S. Renslowjournals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
Part 2 - Inferno by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "September Pass" by Asher Fulero@AsherFulero
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The simulation is based on a shallow water equation. The model includes lunar forcing accounting for tides, and allows for some flooding of land areas. The vertical scale of both mountains and waves has been exaggerated.
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:14
Original speed, 3D: 0:29
Original speed, 2D: 1:26
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow. The tracers are randomly "respawned", by moving them to a random new location at random times. This is to avoid that particles concentrate in some areas, as has happened on some previous simulations.
Render time: 3D parts - 2 hours 2 minutes
2D parts - 1 hour 50 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Frequency" by Silent Partner
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
Using wind to separate particles according to their size is an old method, going back to winnowing, or separating grain from chaff by throwing it into the air after it has been threshed. In this simulation, the particles have different sizes, but the same mass. They are subjected to gravity, and to a horizontal force proportional to their radius, modeling the effect of wind. The wind stops a short distance above the bins at the bottom, to avoid that the particles bounce on the bins' walls.
The video has two parts, showing the same simulation with two different color gradients.
Particle size: 0:00
Kinetic energy: 2:36
In part 1, the particles' color depends on their size. In part 2, in depends on the direction of their velocity.
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.
Render time: 4 minutes 12 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Sunshine on Sand" by the Unicorn Heads@UnicornHeads
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 #winnowing
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 2:12
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 25 minutes 54 seconds
Compression: crf 23
Color scheme: Part 1 - Cividis by Jamie R. Nuñez, Christopher R. Anderton, Ryan S. Renslowjournals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
Part 2 - Inferno by Nathaniel J. Smith and Stefan van der Waltgithub.com/BIDS/colormap
Music: "Lazy Laura" by Quincas Moreira@QuincasMoreira
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The effect of the Moon is modeled here by a force acting on the water height, which is maximal at the part of Earth closest to the Moon and at its antipodal point. The motion of the water is modeled by a shallow water equation, taking the varying ocean depth into account.
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Original speed, 3D: 0:00
Original speed, 2D: 1:13
Time lapse, 3D: 2:27
Time lapse, 2D: 2:46
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. The longitude closest to the Moon is indicated by a vertical line in the 2D parts. In the 3D parts, the point of view is slowly rotating around the Earth in a circular orbit. In parts 3 and 4, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow. A modification compared to previous simulations is that the particles are "respawned" at random times, meaning that their location is changed randomly. This avoids the concentration of tracers seen in some previous simulations.
Render time: 3D parts - 2 hours 12 minutes
2D parts - 2 hour 46 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Boom Bap Flick" by Quincas Moreira@QuincasMoreira
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth #tsunami
The video has two parts, showing the same simulation with two different color gradients.
Particle size: 0:00
Kinetic energy: 2:24
In part 1, the particles' color depends on their size. In part 2, in depends on the direction of their velocity.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 4 minutes 12 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: John Stockton Slow Drag by Chris Zabriskie is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0/Source: http://chriszabriskie.com/uvp/Artist: http://chriszabriskie.com
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 #winnowing
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:32
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 15 minutes 13 seconds
Compression: crf 23
Color scheme: Part 1 - Cividis by Jamie R. Nuñez, Christopher R. Anderton, Ryan S. Renslow
journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
Part 2 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Music: Spooky Ride by Twin Musicom is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0/Source: http://www.twinmusicom.org/song/250/spooky-rideArtist: http://www.twinmusicom.org
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Original speed, 3D: 0:00
Original speed, 2D: 1:05
Time lapse, 3D: 2:12
Time lapse, 2D: 2:28
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. The longitude closest to the Moon is indicated by a vertical line in the 2D parts. In the 3D parts, the point of view is slowly rotating around the Earth in a circular orbit. In parts 3 and 4, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 2 hours 29 minutes
2D parts - 1 hour 51 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "You're Not Wrong" by roljui@roljui1445
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth #tsunami
The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck. In addition, the obstacles have a circular motion of small amplitude, which reduces the chances of particles getting stuck even more.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 1 hour 15 minutes
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: Chee Zee Beach - Latinesque by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0
Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100686
Artist: http://incompetech.com
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:40
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 18 minutes 53 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Part 2 - Cividis by Jamie R. Nuñez, Christopher R. Anderton, Ryan S. Renslowjournals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
Music: Living Voyage by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0/Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100594Artist: http://incompetech.com
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:17
Original speed, 3D: 0:35
Original speed, 2D: 1:45
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a circular orbit. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 1 hour 58 minutes
2D parts - 2 hours 42 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "5 Star" by Causmic@Causmic
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth #tsunami
The particles injected on the left side have an random radius, a mass proportional to their radius squared, and a constant positive charge. There is a constant electric field, directed from left to right, that accelerates the particles. In the middle of the simulation region, there is a constant magnetic field, perpendicular to the simulation plane. The particles interact via a Lennard-Jones potential, and are subject to a viscous drag, in order to avoid numerical instability. The Coulomb interaction between particles has been turned off, however, since otherwise they would not stay in the bins at the right (in practice, one uses more elaborate ways to collect the separated particles).
The particles' acceleration, resulting from the Lorentz force, is proportional to the ratio between their charge and their mass. Therefore, lighter particles are deflected more, and tend to land in lower bins than heavier particles.
The video has two parts, showing the same simulation with two different color gradients.
Particle size: 0:00
Kinetic energy: 2:44
In part 1, the particles' color depends on their size. In part 2, in depends on their kinetic energy, which is proportional to their mass times their speed squared.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 4 minutes 15 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Trips" by Topher Mohr and Alex Elena
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 #mass_spectrometer
This video has six parts, showing the evolution with three different speeds of the source, and two different color gradients for each speed:
Speed 1, wave height: 0:00
Speed 1, averaged wave energy: 0:52
Speed 2, wave height: 1:52
Speed 2, averaged wave energy: 2:44
Speed 3, wave height: 3:44
Speed 3, averaged wave energy: 4:36
In parts 1, 3 and 5, the color hue depends on the height of the wave. In the other parts, it depends on the energy of the wave, averaged over a sliding time window. The contrast has been enhanced by a shading procedure, similar to the one I have used on videos of reaction-diffusion equations. The process is to compute the normal vector to a surface in 3D that would be obtained by using the third dimension to represent the field, and then to make the luminosity depend on the angle between the normal vector and a fixed direction.
Render time: Part 1 - 21 minutes 26 seconds
Part 2 - 20 minutes 26 seconds
Part 3 - 21 minutes 10 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
Part 2 - Inferno by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: Smooth Sailing (with Guitar) by Audionautix is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0/Artist: http://audionautix.com
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #shock_wave #sonic_boom
This very simplified simulation uses a shallow water equation to model the propagation of the tsunami through the Atlantic Ocean. Height of land masses and waves have been greatly exaggerated. In reality, unlike what this simulation might suggest, the tsunami had dissipated too much when reaching the coasts of Norway and Iceland to affect them. However, the seismic signal did travel much further.
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:15
Original speed, 3D: 0:29
Original speed, 2D: 1:30
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a polar orbit. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Thanks to Florentin Bieder from the University of Basel for letting me know about these findings.
Render time: 3D parts - 2 hours 4 minutes
2D parts - 2 hours 8 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Spring" by HOVATOFF@hovatoff7997
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth #tsunami
The particle sorter in this simulation is inspired by a comment to a previous video. Instead of using several sieves one above the other, it uses a single sieve, with rotating obstacles of decreasing radius and increasing gaps between them.The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck. In addition, the obstacles have a circular motion of small amplitude, which reduces the chances of particles getting stuck even more.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 1 hour 30 minutes
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Digifunk" by DivKid@DivKid
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:27
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window. The color dependence on wave height has been chosen quite important, so that the darker regions concentrate near the nodal lines of the waves, that is, the curves where the wave height is zero.
Render time: 17 minutes 51 seconds
Compression: crf 23
Color scheme: Part 1 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Part 2 - Inferno by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "Asleep" by Verified Picasso@verifiedpicasso7260
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:17
Original speed, 3D: 0:34
Original speed, 2D: 1:45
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 2 hours 19 minutes
2D parts - 2 hours 25 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: It Is Lost by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0
Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100190
Artist: http://incompetech.com
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 1 hour 9 minutes
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Fairy Meeting" by Emily A. Sprague@emilysprague6983
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:44
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 15 minutes 30 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
Part 2 - Magma by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "Absolutely Nothing" by Jeremy Blake@RedMeansRecording
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:16
Original speed, 3D: 0:33
Original speed, 2D: 1:39
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 1 hour 49 minutes
2D parts - 2 hours 17 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Red Sea" by Riot
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The sorting set-up consists in three grids of obstacles with decreasing space between them, acting as particle sieves. The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck. In addition, the obstacles have a circular motion of small amplitude, which reduces the chances of particles getting stuck even more.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 25 minutes 45 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Islabonita" by An Jone@SOYEMILIA
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:32
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 15 minutes 30 seconds
Compression: crf 23
Color scheme: Part 1 - Cividis by Jamie R. Nuñez, Christopher R. Anderton, Ryan S. Renslow
journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
Part 2 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Music: "Doorway" by Slenderbeats@slenderbodies
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
A mistake in the code has been corrected, which incorrectly computed the influence of the non-constant ocean depth - the east-west component of that force was using the north-south gradient of the depth, instead of the east-west gradient. The display of land masses has also been improved, by using a different criterion than before to distinguish land from sea.
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:15
Original speed, 3D: 0:30
Original speed, 2D: 1:33
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 1 hour 44 minutes
2D parts - 1 hours 38 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Wandering Gaze" by Chasms@felte
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The sorting set-up consists in three grids of obstacles with decreasing space between them, acting as particle sieves. The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck. In addition, the obstacles have a circular motion of small amplitude, which reduces the chances of particles getting stuck even more.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 56 minutes 56 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: Chipper Doodle - Electronic Light by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0
Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100854
Artist: http://incompetech.com
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:24
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 13 minutes 59 seconds
Compression: crf 23
Color scheme: Part 1 - Magma by Nathaniel J. Smith and Stefan van der Walt
Part 2 - Plasma by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "Aurora Borealis Expedition" by Asher Fulero@AsherFulero
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
Compared to the earlier simulation youtu.be/th_TzO6RsvI , a mistake in the code has been corrected, which incorrectly computed the influence of the non-constant ocean depth - the east-west component of that force was using the north-south gradient of the depth, instead of the east-west gradient. The display of land masses has also been improved, by using a different criterion than before to distinguish land from sea.
The main difference between the nonlinear equation and the linear wave equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid. The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:14
Original speed, 3D: 0:28
Original speed, 2D: 1:27
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 1 hour 55 minutes
2D parts - 1 hours 29 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Virtual Light" by Houses of Heaven@felte
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The sorting set-up consists in three grids of obstacles with decreasing space between them, acting as particle sieves. The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck. In addition, the obstacles have a circular motion of small amplitude, which reduces the chances of particles getting stuck even more.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 50 minutes 22 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Parakeet" by Quincas Moreira@UCL1zFMJb0sthwdAlGjGbdy
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 #polygons #conveyor
The color hue depends on the height of the wave.
Render time: 6 minutes 52 seconds
Compression: crf 23
Color scheme: Inferno by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "U Make Me Feel" by MK2
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
A version using the linear wave equation appeared previously on this channel, see youtu.be/DRsKobzGCVk The main difference in the nonlinear equation is that the wave speed becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions. This causes problems in the simulation, because land masses can lead to blow-up of the solution. This problem is circumvented here by replacing the continents by a repelling force field, plus a dissipative term. The initial state features velocities radiating outward from the impact point of the asteroid. The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:13
Original speed, 3D: 0:27
Original speed, 2D: 1:21
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 1 hour 58 minutes
2D parts - 1 hours 50 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Mast" by Silent Partner
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The conveyor belt effect results from a combination of two factors: the shovels, and the fact that the segments forming the belt exert a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
This simulation has two parts, showing the evolution with two different color gradients:
Initial x position: 0:00
Velocity: 2:24
In the first part, the particles' color depends on their initial x position. This allows to get a sense of how particles are mixed while falling through the funnel. In the second part, the due depends on the direction in which the particles are moving, while the luminosity depends on their speed. Both quantities are averaged over a time interval.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 1 hour 32 minutes
Compression: crf 23
Color scheme: Part 1 - Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Part 2 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Music: Cold Funk - Funkorama by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0/Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100499Artist: http://incompetech.com
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 #polygons #conveyor
The lower medium has relative refractive index 0.667 (the wave speed is 1.5 times faster in the lower part). As a result, part of the shock wave is refracted, changing its angle in the second medium, while part of it is reflected. The relative intensity of the reflected and refracted parts depends on the angle between shock wave and interface.
This video has six parts, showing the evolution with three different speeds of the source, and two different color gradients for each speed:
Speed 1, wave height: 0:00
Speed 1, averaged wave energy: 0:44
Speed 2, wave height: 1:36
Speed 2, averaged wave energy: 2:19
Speed 3, wave height: 3:12
Speed 3, averaged wave energy: 3:56
In parts 1, 3 and 5, the color hue depends on the height of the wave. In the other parts, it depends on the energy of the wave, averaged over a sliding time window. The contrast has been enhanced by a shading procedure, similar to the one I have used on videos of reaction-diffusion equations. The process is to compute the normal vector to a surface in 3D that would be obtained by using the third dimension to represent the field, and then to make the luminosity depend on the angle between the normal vector and a fixed direction.
Render time: Part 1 - 17 minutes 5 seconds
Part 2 - 15 minutes 58 seconds
Part 3 - 16 minutes 2 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
Part 2 - Inferno by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "Stardrive" by Jeremy Blake@RedMeansRecording
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #shock_wave #sonic_boom
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 1 hour 51 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Traversing" by Godmode@GODMODEMUSIC
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The sorting set-up consists in three grids of obstacles with decreasing space between them, acting as particle sieves. The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 37 minutes 43 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Fanta Mankane" by the Mini Vandals@theminivandals1840
featuring Mamadou Kolta and Lasso
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:30
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 16 minutes 44 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firinggithub.com/BIDS/colormap
Part 2 - Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Mantis" by Quincas Moreira@QuincasMoreira
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space. The initial state features velocities radiating outward from the impact point of the asteroid.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:12
Original speed, 3D: 0:25
Original speed, 2D: 1:15
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 2 hour 38 minutes
2D parts - 3 hours 20 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Grand Avenue" by Text Me Records - Bobby Renz@socialxwork
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
The sorting set-up consists in three grids of obstacles with decreasing space between them, acting as particle sieves. The obstacles rotate and exert a tangential force on the particles, in order to decrease clogging of the sieves. The angular speed of the obstacles varies periodically in time, in order to reduce the chance of particles getting stuck.
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 1 hour 28 minutes
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Parasail" by Silent Partner
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 #polygons #conveyor
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:20
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 15 minutes 24 seconds
Compression: crf 23
Color scheme: Part 1 - Twilight by Bastian Bechtoldgithub.com/bastibe/twilight
Part 2 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Alone" by Emmit Fenn@emmitfenn
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The sorting set-up consists in three grids of obstacles with decreasing space between them, acting as particle sieves. The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 1 hour 17 minutes
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Running Errands" by TrackTribe@TrackTribe
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 #polygons #conveyor
The initial state features velocities radiating outward from the impact point of the asteroid. One issue of the simulation is that waves tend to slow down as time goes on. This may be related to parameter values used in the equation.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations at two different speeds and with two different visualizations:
Time lapse, 3D: 0:00
Time lapse, 2D: 0:16
Original speed, 3D: 0:33
Original speed, 2D: 1:39
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. In parts 1 and 2, the animation has been speeded up by a factor 4.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: 3D parts - 2 hour 38 minutes
2D parts - 3 hours 20 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Sink Whole Dream" by the 129ers
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:39
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 21 minutes 47 seconds
Compression: crf 23
Color scheme: Part 1 - Twilight by Bastian Bechtoldgithub.com/bastibe/twilight
Part 2 - Magma by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "Highway 5" by TrackTribe@TrackTribe
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 50 minutes 6 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Crystal" by Vibe Tracks
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 #polygons #conveyor
This is a first simulation of the shallow water equations on a model for the Earth. The wave speed in these equations becomes larger when the water is shallower, which can lead to build-up of the waves in coastal and other shallow regions.
The most important parameter in shallow water equations is the ratio between the size of depth variation and the average depth. This videos uses two different values of this parameter, the last two parts having a larger ratio. In both cases, this ratio is quite large compared to what applies to the Earth, making the effect of shallower parts more important.
The shallow water equations are nonlinear equations, which give a better description of the motion of water than the linear wave equation. In particular, unlike the linear wave equation, they conserve the total volume of water. The linear equation gives an approximation of the solutions, when the wave height remains close to its average over space.
The equations used here include viscosity and dissipation, as described for instance in
en.wikipedia.org/wiki/Shallow_water_equations#Non-conservative_form , including the Coriolis force.
One difficulty is to model the wetting boundary, which separates regions that are under water and those which are not. This difficulty has been circumvented here by replacing the continents by a repulsive force field, directed downslope, instead of a sharp boundary.
The video has four parts, showing simulations with two different parameter values and two different visualizations:
Smaller ratio, 3D: 0:00
Smaller ratio, 2D: 0:48
Larger ratio, 3D: 1:36
Larger ratio, 2D: 2:24
The color hue and radial coordinate show the height of the water, on an exaggerated radial scale. The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the Earth in a plane containing its center. The position of the sphere is represented by a line starting above the north pole, and pointing in a fixed direction.
The velocity field is materialized by 2000 tracer particles that are advected by the flow.
Render time: Part 1 - 1 hour 30 minutes
Part 2 - 1 hour 14 minutes
Part 3 - 1 hour 8 minutes
Part 4 - 1 hour 36 minutes
Color scheme: Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
github.com/BIDS/colormap
Music: "Gymnopédie No. 1" by Erik Satie
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the 2D shallow water equation by discretization (finite differences).
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#shallowwater #waves #Earth
This video has two parts, showing the same evolution with two different color gradients:
Wave height: 0:00
Averaged wave energy: 1:52
In the first part, the color hue depends on the height of the wave. In the second part, it depends on the energy of the wave, slightly averaged over a sliding time window.
Render time: 22 minutes 14 seconds
Compression: crf 23
Color scheme: Part 1 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Part 2 - Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Into the Void" by TrackTribe@TrackTribe
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #resonator
The conveyor belt effect results from the segments forming the belt exerting a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on their size.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 50 minutes 6 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: "Crystal" by Vibe Tracks
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 #polygons #conveyor
This video has six parts, showing the evolution with three different speeds of the source, and two different color gradients for each speed:
Speed 1, wave height: 0:00
Speed 1, averaged wave energy: 0:44
Speed 2, wave height: 1:36
Speed 2, averaged wave energy: 2:19
Speed 3, wave height: 3:12
Speed 3, averaged wave energy: 3:56
In parts 1, 3 and 5, the color hue depends on the height of the wave. In the other parts, it depends on the energy of the wave, averaged over a sliding time window. The contrast has been enhanced by a shading procedure, similar to the one I have used on videos of reaction-diffusion equations. The process is to compute the normal vector to a surface in 3D that would be obtained by using the third dimension to represent the field, and then to make the luminosity depend on the angle between the normal vector and a fixed direction.
Render time: Part 1 - 16 minutes 29 seconds
Part 2 - 16 minutes 13 secondsPart 3 - 16 minutes 15 seconds
Compression: crf 23
Color scheme: Part 1 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric Firing
Part 2 - Inferno by Nathaniel J. Smith and Stefan van der Walt
github.com/BIDS/colormap
Music: "Eye Do" by Jeremy Blake@RedMeansRecording
See also
https://images.math.cnrs.fr/des-ondes-dans-mon-billard-partie-i/ for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
C code: github.com/nilsberglund-orleans/YouTube-simulations
https://www.idpoisson.fr/berglund/software.html
Many thanks to Marco Mancini and Julian Kauth for helping me to accelerate my code!
#wave #shock_wave #sonic_boom
The conveyor belt effect results from a combination of two factors: the shovels, and the fact that the segments forming the belt exert a tangential force on the polygons, in addition to the normal force. The tangential force is proportional to the difference between the tangential speed of the polygon and the speed of the belt.
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 triangles 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.
Unlike in some previous videos involving interacting polygons, there is no thermostat in this simulation. Instead, friction forces (both linear and angular) have been added for numerical stability. In addition, the particles are subject to a gravitational force directed downwards.
The color of the polygons depends on the time they are created, and changes slowly over time.
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 en.wikipedia.org/wiki/Lennard-Jones_potential
Render time: 40 minutes 47 seconds
Compression: crf 23
Color scheme: Turbo, by Anton Mikhailov
gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a
Music: Dispersion Relation by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 licence. creativecommons.org/licenses/by/4.0/Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100258Artist: http://incompetech.com
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 #polygons #conveyor