Skip to content
Snippets Groups Projects
Select Git revision
  • 004af51c68a3d11a0d2e86f23cd893a8b524f84f
  • documentation default
  • master protected
  • integration
  • pre_update
5 results

Example - Factoring.ipynb

Blame
  • vtk_export.c 971 B
    
    #include <stdlib.h>
    #include <stdio.h>
    
    #define Q(i, j, k) Q[((k) + (n) * ((j) + (m) * (i)))]
    
    
    
    void save_vtk(double *Q, double *x, double *y, int m, int n) {
      
      int i, j;
      FILE *fp = fopen("result.vtk", "w");
      
      /* Write vtk Datafile header */
      fprintf(fp, "# vtk DataFile Version 2.0\n");
      fprintf(fp, "VTK\nASCII\nDATASET POLYDATA\n");
    
      /* Store water height as polydata */
      fprintf(fp, "\nPOINTS %d double\n", m*n);
      
      for (j = 0; j < n; j++) 
        for (i = 0; i < m; i++)
          fprintf(fp, "%e %e %e\n", x[i], y[j], Q(0, i, j));
    
      fprintf(fp,"\nVERTICES %d %d\n", n, n *(m+1));
      for (j = 0; j < n; j++)  {
        fprintf(fp, "%d ", m);
        for (i = 0; i < m; i++) 
          fprintf(fp, "%d ", i+j*m);
        fprintf(fp,"\n");
      }
    
      /* Store lookup table */
      fprintf(fp,
    	  "POINT_DATA %d\nSCALARS height double 1\nLOOKUP_TABLE default\n",m*n);
      for (j = 0; j < n; j++)
        for (i = 0; i < m; i++)
          fprintf(fp, "%e\n", Q(0, i, j));
      fclose(fp);     
    }