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

becker at geodynamics.org becker at geodynamics.org
Mon Oct 11 23:36:01 PDT 2010


Author: becker
Date: 2010-10-11 23:36:01 -0700 (Mon, 11 Oct 2010)
New Revision: 17261

Modified:
   mc/3D/CitcomS/trunk/lib/Anisotropic_viscosity.c
   mc/3D/CitcomS/trunk/lib/Drive_solvers.c
   mc/3D/CitcomS/trunk/lib/Ggrd_handling.c
   mc/3D/CitcomS/trunk/lib/Instructions.c
Log:
More accurate computation of element coordinates in anisotropic part.



Modified: mc/3D/CitcomS/trunk/lib/Anisotropic_viscosity.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Anisotropic_viscosity.c	2010-10-12 00:43:08 UTC (rev 17260)
+++ mc/3D/CitcomS/trunk/lib/Anisotropic_viscosity.c	2010-10-12 06:36:01 UTC (rev 17261)
@@ -253,6 +253,9 @@
   
   if(E->viscosity.allow_anisotropic_viscosity){
     if(init_stage){	
+      if(E->parallel.me == 0)
+	fprintf(stderr,"set_anisotropic_viscosity: allowing for %s viscosity\n",
+	       (E->viscosity.allow_anisotropic_viscosity == 1)?("orthotropic"):("transversely isotropic"));
       if(E->viscosity.anisotropic_viscosity_init)
 	myerror(E,"anisotropic viscosity should not be initialized twice?!");
       /* first call */

Modified: mc/3D/CitcomS/trunk/lib/Drive_solvers.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Drive_solvers.c	2010-10-12 00:43:08 UTC (rev 17260)
+++ mc/3D/CitcomS/trunk/lib/Drive_solvers.c	2010-10-12 06:36:01 UTC (rev 17261)
@@ -175,17 +175,18 @@
 #ifdef CITCOM_ALLOW_ANISOTROPIC_VISC
   /* anisotropic viscosity */
   if(E->viscosity.allow_anisotropic_viscosity){
-    if((E->monitor.solution_cycles == 0) && 
-       E->viscosity.anivisc_start_from_iso) /* first step will be
+    if(E->viscosity.anivisc_start_from_iso) /* first step will be
 					       solved isotropically at
 					       first  */
       return TRUE;
     else
       return (E->viscosity.SDEPV || E->viscosity.PDEPV)?(TRUE):(FALSE);
-  }
-#else
+  }else{
+#endif
   /* regular operation */
   return ((E->viscosity.SDEPV || E->viscosity.PDEPV)?(TRUE):(FALSE));
+#ifdef CITCOM_ALLOW_ANISOTROPIC_VISC
+  }
 #endif
 }
 void general_stokes_solver_pseudo_surf(struct All_variables *E)

Modified: mc/3D/CitcomS/trunk/lib/Ggrd_handling.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Ggrd_handling.c	2010-10-12 00:43:08 UTC (rev 17260)
+++ mc/3D/CitcomS/trunk/lib/Ggrd_handling.c	2010-10-12 06:36:01 UTC (rev 17261)
@@ -489,11 +489,11 @@
 		 EVAL FORM FUNCTION???)
 	      */
 	      xloc[1] = xloc[2] = xloc[3] = 0.0;
-	      for(inode=1;inode <= 4;inode++){
+	      for(inode=1;inode <= ends;inode++){
 		ind = E->ien[m][el].node[inode];
 		xloc[1] += E->x[m][1][ind];xloc[2] += E->x[m][2][ind];xloc[3] += E->x[m][3][ind];
 	      }
-	      xloc[1]/=4.;xloc[2]/=4.;xloc[3]/=4.;
+	      xloc[1]/=ends;xloc[2]/=ends;xloc[3]/=ends;
 	      xyz2rtpd(xloc[1],xloc[2],xloc[3],rout);
 	      /* 
 		 material 
@@ -1450,13 +1450,13 @@
 	      find average coordinates
 	    */
 	    xloc[1] = xloc[2] = xloc[3] = 0.0;
-	    for(inode=1;inode <= 4;inode++){
+	    for(inode=1;inode <= ends;inode++){
 	      ind = E->ien[m][el].node[inode];
 	      xloc[1] += E->x[m][1][ind];
 	      xloc[2] += E->x[m][2][ind];
 	      xloc[3] += E->x[m][3][ind];
 	    }
-	    xloc[1]/=4.;xloc[2]/=4.;xloc[3]/=4.;
+	    xloc[1]/=ends;xloc[2]/=ends;xloc[3]/=ends;
 	    xyz2rtpd(xloc[1],xloc[2],xloc[3],rout); /* convert to spherical */
 
 	    /* vis2 */

Modified: mc/3D/CitcomS/trunk/lib/Instructions.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Instructions.c	2010-10-12 00:43:08 UTC (rev 17260)
+++ mc/3D/CitcomS/trunk/lib/Instructions.c	2010-10-12 06:36:01 UTC (rev 17261)
@@ -1085,10 +1085,6 @@
        }
      }
    E->viscosity.anisotropic_viscosity_init = FALSE;
-   if(E->parallel.me == 0)
-     fprintf(stderr,"allocated for anisotropic viscosity (%s) levmax %i\n",
-	     (E->viscosity.allow_anisotropic_viscosity == 1)?("orthotropic"):("transversely isotropic"),
-	     E->mesh.gridmax);
  }
 #endif
 



More information about the CIG-COMMITS mailing list