/[gzz]/gzz/lava/gfx/rd1.cxx
ViewVC logotype

Diff of /gzz/lava/gfx/rd1.cxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by jvk, Fri Aug 30 11:15:59 2002 UTC revision 1.7 by jvk, Fri Aug 30 13:18:22 2002 UTC
# Line 3  Line 3 
3  #include <math.h>  #include <math.h>
4  #include <GL/glut.h>  #include <GL/glut.h>
5  #include <iostream>  #include <iostream>
6    #include <unistd.h>
7    
8  using std::cout;  using std::cout;
9  using std::cerr;  using std::cerr;
# Line 19  using std::cerr; Line 20  using std::cerr;
20  #define Dv_f(x,y,z) 1E-5 / (eps*eps)  #define Dv_f(x,y,z) 1E-5 / (eps*eps)
21  //#define Dv_f(x,y,z) (( .75E-5 + .5E-5 * z ) / (eps*eps))  //#define Dv_f(x,y,z) (( .75E-5 + .5E-5 * z ) / (eps*eps))
22    
23  #define F_f(x,y,z) 0.015  #define F_f(x,y,z) 0.05
24  //#define F_f(x,y,z) (.08 * y)  //#define F_f(x,y,z) (.08 * y)
25  //#define F_f(x,y,z) (.04 + .01 * y)  //#define F_f(x,y,z) (.04 + .01 * y)
26    
27  #define k_f(x,y,z) 0.04  #define k_f(x,y,z) 0.065
28  //#define k_f(x,y,z) (.03 + .04 * x)  //#define k_f(x,y,z) (.03 + .04 * x)
29  //#define k_f(x,y,z) (.06 + .0075 * x)  //#define k_f(x,y,z) (.06 + .0075 * x)
30    
# Line 87  void init() { Line 88  void init() {
88      float zp = z + sin(x) - sin(2*y);      float zp = z + sin(x) - sin(2*y);
89        
90      U[i] = 0.5+0.5*sin(xp + yp + 3*zp);      U[i] = 0.5+0.5*sin(xp + yp + 3*zp);
91      V[i] = 0.5+0.5*sin(2 * yp - 2*zp*zp);      V[i] = 0.5+0.5*sin(2 * yp - 2*zp);
92    }    }
93    
94    iter = 0;    iter = 0;
# Line 131  void evolve() { Line 132  void evolve() {
132  #endif  #endif
133    
134  #ifndef LAPLACIAN_2D  #ifndef LAPLACIAN_2D
135  #define laplacian(a) (a[i-e0]+a[i+e0]+a[i-e1]+a[i+e1]+a[i-e2]+a[i+e2]-6*a[i])  #define laplacian6(a) (a[i-e0]+a[i+e0]+a[i-e1]+a[i+e1]+a[i-e2]+a[i+e2]-6*a[i])
136    #define laplacian8(a) (a[i-e0-e1-e2]+\
137                          a[i-e0-e1+e2]+\
138                          a[i-e0+e1-e2]+\
139                          a[i-e0+e1+e2]+\
140                          a[i+e0-e1-e2]+\
141                          a[i+e0-e1+e2]+\
142                          a[i+e0+e1-e2]+\
143                          a[i+e0+e1+e2]-8*a[i])*(1./3)
144    
145    #define laplacian(a) (.5*laplacian6(a)+.5*laplacian8(a))
146    
147  #else  #else
148  #define laplacian(a) (a[i-e0]+a[i+e0]+a[i-e1]+a[i+e1]-4*a[i])  #define laplacian(a) (a[i-e0]+a[i+e0]+a[i-e1]+a[i+e1]-4*a[i])
149  #endif  #endif
# Line 179  void evolve() { Line 191  void evolve() {
191  }  }
192    
193  void writeout() {  void writeout() {
194    const char *filenew = "map3d.dat.new";    char file[1000];
   char *file = "map3d.dat";  
     
195    
196    FILE *f = fopen(filenew, "w");    sprintf(file, "map3d_F%G_k%G_eps%G_teps%G_iter%d.dat",
197              F_f(0,0,0), k_f(0,0,0), eps, teps, iter);
198    
199      FILE *f = fopen(file, "w");
200    if (!f) {    if (!f) {
201      perror(file);      perror(file);
202      exit(1);      exit(1);
# Line 200  void writeout() { Line 213  void writeout() {
213          //fprintf(f, "%G %G\n", U[i], V[i]);          //fprintf(f, "%G %G\n", U[i], V[i]);
214        }        }
215    fclose(f);    fclose(f);
216    rename(filenew, file);    unlink("map3d.dat");
217      link(file, "map3d.dat");
218  }  }
219    
220  void stats() {  void stats() {

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26