[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