src/test/gfsi.c

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    // reads the output of gfs.c
    
    #include "input.h"
    
    int main()
    {
      init_grid (N);
      scalar a[];
      vector u[];
    
      FILE * fp = fopen ("gfsi.gfs", "r"); // this is generated by gfs.c
      input_gfs (fp);
      fclose (fp);
    
      output_cells (stdout);
    
      double k = 2.*pi;
      foreach() {
        assert (fabs(a[] - sin(k*x)*cos(k*y)) < 1e-12);
        assert (fabs(u.x[] - sin(k*x)*cos(k*y)) < 1e-12);
        assert (fabs(u.y[] - sin(k*x)*cos(k*y)) < 1e-12);
      }
    
      system ("gfsview-batch2D gfsi.gfs < /dev/null");
    }