[cig-commits] r15590 - mc/3D/CitcomS/trunk/lib
becker at geodynamics.org
becker at geodynamics.org
Tue Aug 25 10:31:36 PDT 2009
Author: becker
Date: 2009-08-25 10:31:36 -0700 (Tue, 25 Aug 2009)
New Revision: 15590
Modified:
mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c
Log:
Ensure that Uzawa solver does not converge if low level, MG solver does not
yield a valid solution.
Modified: mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c 2009-08-25 17:22:10 UTC (rev 15589)
+++ mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c 2009-08-25 17:31:36 UTC (rev 15590)
@@ -675,26 +675,29 @@
dvelocity, dpressure,
E->monitor.incompressibility);
}
-
- if(E->control.only_check_vel_convergence){
- /*
-
- override pressure and compressibility check
-
- */
- if(dvelocity < imp)
- converging++;
- else
- converging =0;
- E->monitor.incompressibility = dvelocity;
+ if(!valid){
+ converging = 0;
}else{
- /* how many consecutive converging iterations? */
- if(dvelocity < imp && dpressure < imp)
- converging++;
- else
- converging = 0;
+ if(E->control.only_check_vel_convergence){
+ /*
+
+ override pressure and compressibility check
+
+ */
+ if(dvelocity < imp)
+ converging++;
+ else
+ converging =0;
+ E->monitor.incompressibility = dvelocity;
+ }else{
+ /* how many consecutive converging iterations? */
+ if(dvelocity < imp && dpressure < imp)
+ converging++;
+ else
+ converging = 0;
+ }
}
- /* shift array pointers */
+ /* shift array pointers */
for(m=1; m<=E->sphere.caps_per_proc; m++) {
shuffle[m] = p1[m];
p1[m] = p2[m];
More information about the CIG-COMMITS
mailing list