sandbox/bugs/refine.c

    Refine + axi.h + tracer.h collapse

    This is the axiadvection test peeled-off and with a refine. I wonder if this bug it is related to the previous one involving mask().

    #include "axi.h"
    #include "navier-stokes/centered.h"
    #include "vof.h"
    #include "tracer.h"
    
    scalar f1[];
    scalar * tracers = {f1}, * interfaces = NULL;
    
    int main()
    {
      X0 = -0.5;
      N = 64;
      TOLERANCE = 1e-12;
      f1.gradient = minmod2;
      run();
    }
    
    u.n[left] = dirichlet(1);
    u.t[left] = dirichlet(0);
    p[left]   = neumann(0);
    
    u.n[top] = neumann(0);
    p[top]   = dirichlet(0);
    pf[top]  = dirichlet(0);
    
    #define ellipse(xc, yc, a, b) (sq((x - xc)/(a)) + sq((y - yc)/(b)) - 1.)
    
    event init (i = 0) {
      refine (sq(x) + sq ( y-0.3) - sq(0.12) < 0 && level < 7);
      foreach()
        u.x[] = 1.;
      fraction (f1, - ellipse (0, 0.3, 0.1, 0.1));
    }
    
    event output (i = 1)
      printf("Refine done\n");