Created by **Nils Berglund** and optimized by **Marco Mancini** C code for videos on YouTube Channel https://www.youtube.com/c/NilsBerglund Below are parameter values used for different simulations, as well as initial conditions used in function animation. Some simulations use variants of the published code. The list is going to be updated gradually. ### 31 July 2025 - Waves crossing a refractive metamaterial with a hex structure ### **Program:** `wave_billiard.c` **Initial condition in function `animation()`:** ``` init_wave_flat(phi, psi, xy_in); /* add oscillating waves */ wave_source_x[0] = -1.0; wave_source_y[0] = 0.0; source_periods[0] = OSCILLATING_SOURCE_PERIOD; source_amp[0] = INITIAL_AMP; for (source = 0; source < N_SOURCES; source++) { dperiod = source_periods[source]; phase = i - (int)(dperiod*(double)((int)((double)i/dperiod))); if ((ADD_OSCILLATING_SOURCE)&&(phase == 1)&&(i