[cig-commits] [commit] rajesh-petsc-schur: added remove_rigid_rotation, etc to solve_Ahat_p_fhat_PETSc_Schur (8bb7782)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:04:35 PST 2014


Repository : https://github.com/geodynamics/citcoms

On branch  : rajesh-petsc-schur
Link       : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd

>---------------------------------------------------------------

commit 8bb778252578f0b4b901272ae96447ad50206fb4
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Thu Sep 11 15:49:29 2014 -0700

    added remove_rigid_rotation, etc to solve_Ahat_p_fhat_PETSc_Schur


>---------------------------------------------------------------

8bb778252578f0b4b901272ae96447ad50206fb4
 lib/Stokes_flow_Incomp.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/Stokes_flow_Incomp.c b/lib/Stokes_flow_Incomp.c
index f78c449..01f8763 100644
--- a/lib/Stokes_flow_Incomp.c
+++ b/lib/Stokes_flow_Incomp.c
@@ -324,6 +324,16 @@ static PetscErrorCode solve_Ahat_p_fhat_PETSc_Schur(struct All_variables *E,
     P[1][i] = P_data[i]; 
   ierr = VecRestoreArray( PVec, &P_data ); CHKERRQ( ierr );
 
+	if((E->sphere.caps == 12) && (E->control.inner_remove_rigid_rotation)){
+	  /* allow for removal of net rotation at each iterative step (expensive) */
+	  if(E->control.pseudo_free_surf) /* move from U to V */
+	    v_from_vector_pseudo_surf(E);
+	  else
+	    v_from_vector(E);
+	  remove_rigid_rot(E);	/* correct V */
+	  assign_v_to_vector(E); /* assign V to U */
+	}
+
 
 
   /*---------------------------------------------------------------------------------------*/
@@ -486,7 +496,7 @@ static void solve_Ahat_p_fhat_CG(struct All_variables *E,
             fputs("Warning: solver not converging! 1\n", stderr);
             fputs("Warning: solver not converging! 1\n", E->fp);
         }
-        strip_bcs_from_residual(E, E->u1, lev);
+        //strip_bcs_from_residual(E, E->u1, lev);
 
 
         /* F = div(u1) */



More information about the CIG-COMMITS mailing list