[cig-commits] r7863 - mc/3D/CitcomS/trunk/lib

tan2 at geodynamics.org tan2 at geodynamics.org
Tue Aug 21 15:42:18 PDT 2007


Author: tan2
Date: 2007-08-21 15:42:18 -0700 (Tue, 21 Aug 2007)
New Revision: 7863

Modified:
   mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c
Log:
Removed the 2nd exit condition for bicg solver because the convergence criterion is hard to determine.

Modified: mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c	2007-08-21 22:41:48 UTC (rev 7862)
+++ mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c	2007-08-21 22:42:18 UTC (rev 7863)
@@ -448,8 +448,7 @@
         /* r1dotrt = <r1, rt> */
         r1dotrt = global_pdot(E, r1, rt, lev);
         if(r1dotrt == 0.0) {
-            /* TODO: can we resume the computation even when BiCGstab failed?
-             */
+            /* XXX: can we resume the computation when BiCGstab failed? */
             fprintf(E->fp, "BiCGstab method failed!!\n");
             fprintf(stderr, "BiCGstab method failed!!\n");
             parallel_process_termination();
@@ -498,14 +497,6 @@
                 s0[m][j] = r1[m][j] - alpha * v0[m][j];
 
 
-        /* stop iteration if norm(s) is small enough */
-        if(global_pdot(E, s0, s0, lev) < imp*gnpno) {
-            // is the check correct?
-            // update solution, TODO
-            //break;
-        }
-
-
         /* preconditioner BPI ~= inv(K), st = BPI*s0 */
         for(m=1; m<=E->sphere.caps_per_proc; m++)
             for(j=1; j<=npno; j++)
@@ -760,7 +751,7 @@
     int lev = E->mesh.levmax;
     double tmp1, tmp2;
 
-    /* incompressiblity residual = norm(F) / norm(V) */
+    /* incompressiblity residual = norm(r) / norm(V) */
 
     tmp1 = global_vdot(E, V, V, lev);
     tmp2 = global_pdot(E, r, r, lev);



More information about the cig-commits mailing list