#include "grid/cartesian1D.h" #include "saint-venant.h" double Fr,Cf,a,k; scalar d2h[],d3h[]; // Test case : // Bjørkavåg, Henrik Kalisch 2011 // // qcc -g -O2 -DTRASH=1 -Wall slope.c -lm // ./a.out | gnuplot void parameters() { X0 = -15.; L0 = 60.; G = 1; N = 128*8; a=0.1; } u.x[left] = u.x[]; h[left] = h[]; event init (i = 0) { foreach(){ zb[] = (x>10)*(x-10)/(25); u.x[]=a*exp(-(x+12)*(x+12)) ; h[]=1+u.x[]-zb[]; if(h[]<0)h[]=0; } } event disperse (i++) { foreach() d2h[] = (u.x[-1,0] + u.x[1,0] - 2.*u.x[])/(Delta)/(Delta); foreach() d3h[] = (d2h[] - d2h[-1,0])/(Delta); // foreach() // h[] += -0.001*d2h[]*dt; } /* event outputfile (t <= 15;t+=1) { static int nf = 0; fprintf (stderr,"file: eta-%d\n", nf++); foreach() fprintf (stderr,"%g %g %g \n", x, h[], u.x[]); } */ event field (t <= 150;t+=1) { printf(" p[-15:][-.1:1.1] '-' u 1:3 t'u' w l,''u 1:4 t'z' w l,''u 1:($2+$4) t'eta' w l\n"); foreach() printf (" %g %g %g %g %g \n", x, h[], u.x[], zb[], t); printf ("e\n"); } int main() { run(); }