[cig-commits] commit: Switch to gauss-seidel smoothing. Works for 256x256 up to 10^6 and is faster to boot.

Mercurial hg at geodynamics.org
Fri Mar 2 12:07:03 PST 2012


changeset:   71:bb77eb7bfa79
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Fri Mar 02 12:06:57 2012 -0800
files:       constants.hxx main.cxx
description:
Switch to gauss-seidel smoothing.  Works for 256x256 up to 10^6 and is faster to boot.


diff -r cc41ec7c81ee -r bb77eb7bfa79 constants.hxx
--- a/constants.hxx	Fri Mar 02 10:54:16 2012 -0800
+++ b/constants.hxx	Fri Mar 02 12:06:57 2012 -0800
@@ -1,13 +1,13 @@ const int N(64);
-const int N(64);
+const int N(256);
 const int Nx(N);
 const int Ny(N);
 const double min_eta=1;
-const double max_eta=1e10;
+const double max_eta=1e6;
 const double eta_jump=max_eta-min_eta;
 #include <cmath>
 const double log_max_eta=std::log(max_eta);
 const double log_min_eta=std::log(min_eta);
-// const double middle=(25 + 0.00000001)/64;
+// const double middle=(25 - 0.00000001)/64;
 // const double middle=(25 + 0.00000001)/64 + 1/(2*Nx);
 // const double middle=(25 - 1/32.0)/64;
 const double middle=0.4;
diff -r cc41ec7c81ee -r bb77eb7bfa79 main.cxx
--- a/main.cxx	Fri Mar 02 10:54:16 2012 -0800
+++ b/main.cxx	Fri Mar 02 12:06:57 2012 -0800
@@ -44,15 +44,15 @@ int main()
     p[Nx][Ny], dp[Nx][Ny], fx[Nx+1][Ny], fy[Nx][Ny+1];
   double zx_new[Nx+1][Ny], zy_new[Nx][Ny+1], p_new[Nx][Ny];
 
-  const bool jacobi(true);
+  const bool jacobi(false);
   /* Initial conditions */
 
-  int n_sweeps=100000;
-  const double theta_mom=0.7/2;
-  const double theta_continuity=1.0/2;
+  int n_sweeps=100000000;
+  const double theta_mom=0.7;
+  const double theta_continuity=1.0;
   const double tolerance=1.0e-6;
 
-  const int output_interval=1000000000;
+  const int output_interval=10000000;
 
   Model model(Model::solCx);
 



More information about the CIG-COMMITS mailing list