sandbox/Antoonvh/trepos.c
Test for the reposition function
Not all particles are repositioned:
#include "vof-tracer-particles.h"
#include "view.h"
#include "scatter2.h"
vector uf[];
scalar f[];
int main() {
L0 = 3;
X0 = Y0 = -L0/2;
init_grid (8);
int pnr = 100;
Particles P = new_vof_tracer_particles (sq(pnr), 1);
place_in_square (P, (struct Init_P){pnr});
fraction(f, sq(1) - sq(x-0.0432) - sq(y + 0.1423));
boundary ({f});
scatter (P, s = 10);
draw_vof ("f", lc = {1,0,1}, lw = 3);
save ("before.png");
reposition (f, P);
cells(lc = {0,1,1});
scatter (P, s = 10);
draw_vof ("f", lc = {1,0,1}, lw = 3);
save ("after.png");
Particles P2 = new_vof_tracer_particles (sq(pnr), 0);
place_in_square (P2, (struct Init_P){pnr});
reposition (f, P2);
cells (lc = {0,1,1});
scatter (P2, s = 10);
draw_vof ("f", lc = {1,0,1}, lw = 3);
save ("after2.png");
Particles P3 = new_vof_tracer_particles (sq(pnr), 3);
place_in_square (P3, (struct Init_P){pnr});
reposition (f, P3);
cells (lc = {0,1,1});
scatter (P3, s = 10);
draw_vof ("f", lc = {1,0,1}, lw = 3);
save ("after3.png");
run();
}