2.8 KiB
Tool to create videos of particles or waves in different 2D domains.
Created by Nils Berglund and optimized by Marco Mancini
C code for videos on YouTube Channel https://www.youtube.com/c/NilsBerglund
Parameter values used in specific simulations will be gradually added to file Parameters.md
, Parameters_June21.md
and so on.
There are two groups of 4 files and 5 files:
Simulations of classical particles in billiards.
- global_particles.c: global variables and parameters
- sub_part_billiard.c: drawing/computation routines common to
particle_billiard
anddrop_billiard
- particle_billiard.c: simulation of a collection of non-interacting particles in a billiard
- drop_billiard.c: simulation of an expanding front of particles
- Create subfolders
tif_part
,tif_drop
- Customize constants at beginning of .c file
- Compile with
gcc -o particle_billiard particle_billiard.c-O3 -L/usr/X11R6/lib -ltiff -lm -lGL -lGLU -lX11 -lXmu -lglut
gcc -o drop_billiard drop_billiard.c-O3 -L/usr/X11R6/lib -ltiff -lm -lGL -lGLU -lX11 -lXmu -lglut
- Many laptops claim to have 4 cores, but two of those are virtual. OMP acceleration may be more effective after executing
export OMP_NUM_THREADS=2
in the shell before running the program
- Generate movie with
ffmpeg -i part.%05d.tif -vcodec libx264 part.mp4
Simulations of wave equation, heat equation and Schrodinger equation.
- global_pdes.c: global variables and parameters
- sub_wave.c: drawing/computation routines common to
wave_billiard
,heat
andschrodinger
- wave_billiard.c: simulation of the (linear) wave equation
- heat.c: simulation of the heat equation, with optional drawing of gradient field lines
- schrodinger.c: simulation of the Schrodinger equation
- Create subfolders
tif_wave
,tif_heat
,tif_schrod
- Customize constants at beginning of .c file
- Compile with
gcc -o wave_billiard wave_billiard.c -L/usr/X11R6/lib -ltiff -lm -lGL -lGLU -lX11 -lXmu -lglut -O3 -fopenmp
gcc -o heat heat.c -L/usr/X11R6/lib -ltiff -lm -lGL -lGLU -lX11 -lXmu -lglut -O3 -fopenmp
gcc -o schrodinger schrodinger.c -L/usr/X11R6/lib -ltiff -lm -lGL -lGLU -lX11 -lXmu -lglut -O3 -fopenmp
- Many laptops claim to have 4 cores, but two of those are virtual. OMP acceleration may be more effective after executing
export OMP_NUM_THREADS=2
in the shell before running the program
- Generate movie with
ffmpeg -i wave.%05d.tif -vcodec libx264 wave.mp4
Some references
- Discretizing the wave equation: https://hplgit.github.io/fdm-book/doc/pub/wave/pdf/wave-4print.pdf
- Boundary condition: https://hal.archives-ouvertes.fr/hal-01374183
- Cloaking device: https://www.sciencedirect.com/science/article/pii/S0165212514001759