Simple simulation of charged or neutral particles. When specifying integer square as particle count a grid layout is used, otherwise particles are distributed randomly. Depending on input particles and densities different crystal lattices or even coexistance regions are generated.
c [particles=70] [size=5]
c-large [particles=100] [size=10]
c-neutral [particles] [size]
c-non [particles=99]
c-profile
: run callgrind and produce graph
Depends on python3-matplotlib
, working C compiler.
Pure OpenGL ising model. Contains small error. The shader updates the spin field in place, which under 0 field is not noticable, but creates artifacts under high fields.
Up/Down / K/J Control temperature
Left/Right / H/L Control external field
q Quit
0 Reset external field and beta to 0
Change temperature with up/down
Depends on libglfw3-dev
, libgl1-mesa-dev
, libglu1-mesa-dev
.
sh c
GPU Mandelbrot renderer, based on code from the Ising model.
Depends on libglfw3-dev
, libgl1-mesa-dev
, libglu1-mesa-dev
.
sh c
H/J/K/L Move
+/- Zoom
Q Quit
[/] Warp
; Increase max iteration count
Really simple excitable media simulations.
python3 ./simple.py
python3 ./noisy.py
Quit using Esc. Reset using Q. Click to excite cells.
- PySDL2 (
pip3 install pysdl2
) - Numba (optional with a one line code change)
- Numpy
Originally a coupled oscilator simulation, now coupled models of neurons on a grid with diffusion term for interactions. Model parameterization from EM Izhikevich. Should be easily configurable to solve other PDEs.
sh c