3D render of a rotating beam in a circular phased array
Channel: Nils Berglund
Date: 2023-05-24

This is a 3D render of a rotating beam in a circular phased array, with similar parameter values as in the 2D simulation https://youtu.be/iGIAq4ol9kU . 
Phased arrays are computer-controlled antennas, whose phase is altered in such a way that the emitted signal propagates only in certain directions, without moving the antennas. Antennas sending multiple beams are used in wireless communication to send several signals at once. If the antenna is well-designed, one can assign a different signal to each beam. 
The array shown here consists of 25 emitters, oscillating with the same amplitude and frequency, but with a phase shift depending on the positions of the emitters. The phase shift is the same as for a planar wave crossing the array, except that the direction of the planar wave changes during the simulation, making one full turn from beginning to end. 
The video has two parts, showing the same simulation with two different color schemes:
Wave height: 0:00
Energy flux: 1:42
In the first part, the color hue and the z-coordinate show the wave height. In the second part, the color hue shows the direction of the energy flux, while the luminosity and z-coordinate show its intensity, averaged over a time window. There are absorbing boundary conditions on the outer boundaries of the simulation. Here the direction-dependence of the beams is more visible in the energy representation.

Render time: 1 hour 42 minutes
Color scheme: Part 1 -  Cividis by Jamie R. Nuñez, Christopher R. Anderton, Ryan S. Renslow
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
Part 2 - Turbo, by Anton Mikhailov
https://gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a

Music: "Lusciousness" by Asher Fulero@AsherFulero

See also https://images.math.cnrs.fr/Des-ondes-dans-mon-billard-partie-I.html 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 https://hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf 
C code: https://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!