sandbox/Antoonvh/test_Hilbert.c
Using the Hilbert iterator
A simulation
Grid-cell processor index
set key off
set size square
set cbrange [-0.5:2.5]
plot 'out' w l palette
The grid iterator and pid()
(script)
#include "quadtree_Hilbert.h"
#include "navier-stokes/centered.h"
double H_indexing (scalar H, bool leaves);
#define RAD (sqrt(sq(x) + sq(y)))
#define ST (x/RAD)
u.t[top] = dirichlet (0);
const face vector nu[] = {0.001, 0.001};
int main() {
mu = nu;
L0 = 20;
X0 = Y0 = -L0/2.;
N = 256;
run();
}
event init (t = 0) {
double k = 3.83170597;
scalar psi[];
foreach()
psi[] = ((RAD > 1)*((1/RAD))*ST +
u.x[] = -(psi[0, 1] - psi[0, -1])/(2*Delta);
u.y[] = (psi[1] - psi[-1])/(2*Delta);
}
}
event adapt (i++)
adapt_wavelet ((scalar*){u}, (double[]){0.05, 0.05}, 8);
event movie (t += 0.1){
scalar omega[];
vorticity (u, omega);
output_ppm (omega, file = "movie.mp4", n = 400);
foreach()