Nils Berglund | The shallow water equation on the sphere @NilsBerglund | Uploaded July 2024 | Updated October 2024, 1 minute ago.
This is a first try at simulating a shallow water equation on a sphere. The initial state consists of two waves moving in opposite directions along the equator of the sphere. Near the end of the simulation, one can see the onset of numerical blow-up.
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.
The video has four parts, showing the same simulation with two different color schemes and two different visualizations:
Wave height, 3D: 0:00
Velocity (norm and direction), 3D: 0:52
Wave height, 2D: 1:50
Velocity (norm and directions), 2D: 2:42
In the first and third part, the color hue and radial coordinate (in part 1) show the height of the water. In the second and fourth part, the color hue shows the direction of the flow, and the radial coordinate and luminosity show its speed (the norm of the velocity). The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the sphere 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: 3D part - 1 hour 19 minutes
2D part - 1 hour 13 minutes
Color scheme: Parts 1 and 3 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric firing
github.com/BIDS/colormap
Parts 2 and 4 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Music: "Abroad Again" 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 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 #wave
This is a first try at simulating a shallow water equation on a sphere. The initial state consists of two waves moving in opposite directions along the equator of the sphere. Near the end of the simulation, one can see the onset of numerical blow-up.
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.
The video has four parts, showing the same simulation with two different color schemes and two different visualizations:
Wave height, 3D: 0:00
Velocity (norm and direction), 3D: 0:52
Wave height, 2D: 1:50
Velocity (norm and directions), 2D: 2:42
In the first and third part, the color hue and radial coordinate (in part 1) show the height of the water. In the second and fourth part, the color hue shows the direction of the flow, and the radial coordinate and luminosity show its speed (the norm of the velocity). The 2D parts use a projection in equirectangular coordinates. In the 3D parts, the point of view is slowly rotating around the sphere 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: 3D part - 1 hour 19 minutes
2D part - 1 hour 13 minutes
Color scheme: Parts 1 and 3 - Viridis by Nathaniel J. Smith, Stefan van der Walt and Eric firing
github.com/BIDS/colormap
Parts 2 and 4 - Twilight by Bastian Bechtold
github.com/bastibe/twilight
Music: "Abroad Again" 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 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 #wave