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

becker at geodynamics.org becker at geodynamics.org
Tue Sep 7 00:05:09 PDT 2010


Author: becker
Date: 2010-09-07 00:05:09 -0700 (Tue, 07 Sep 2010)
New Revision: 17176

Modified:
   mc/3D/CitcomS/trunk/lib/Ggrd_handling.c
   mc/3D/CitcomS/trunk/lib/Instructions.c
   mc/3D/CitcomS/trunk/lib/Output_gzdir.c
   mc/3D/CitcomS/trunk/lib/Viscosity_structures.c
   mc/3D/CitcomS/trunk/lib/global_defs.h
Log:
Made sure that viscosity prefactors get assigned for material dependent viscosity only (TDEPV = off)



Modified: mc/3D/CitcomS/trunk/lib/Ggrd_handling.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Ggrd_handling.c	2010-09-07 02:22:48 UTC (rev 17175)
+++ mc/3D/CitcomS/trunk/lib/Ggrd_handling.c	2010-09-07 07:05:09 UTC (rev 17176)
@@ -537,11 +537,14 @@
 	      }else{
 		vip = indbl;
 	      }
-	      /* limit the input scaling? */
-	      if(vip < 1e-5)
-	      	vip = 1e-5;
-	      if(vip > 1e5)
-	      	vip = 1e5;
+	      if(E->control.ggrd_mat_limit_prefactor){
+		/* limit the input scaling? */
+		if(vip < 1e-5)
+		  vip = 1e-5;
+		if(vip > 1e5)
+		  vip = 1e5;
+	      }
+	      //fprintf(stderr,"lon %11g lat %11g depth %11g vip %11g\n",rout[2]*180/M_PI,90-rout[1]*180/M_PI,(1.0-rout[0]) * 6371.0,vip);
 	      E->VIP[m][el] = vip;
 	    }
 	  }

Modified: mc/3D/CitcomS/trunk/lib/Instructions.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Instructions.c	2010-09-07 02:22:48 UTC (rev 17175)
+++ mc/3D/CitcomS/trunk/lib/Instructions.c	2010-09-07 07:05:09 UTC (rev 17176)
@@ -537,6 +537,7 @@
   /* if > 0, will use top  E->control.ggrd.mat_control layers and assign a prefactor for the viscosity */
   /* if < 0, will assign only to layer == -ggrd_mat_control */
   input_int("ggrd_mat_control",&(E->control.ggrd.mat_control),"0",m); 
+  input_boolean("ggrd_mat_limit_prefactor",&(E->control.ggrd_mat_limit_prefactor),"on",m); /* limit prefactor to with 1e+/-5 */
   input_string("ggrd_mat_file",E->control.ggrd.mat_file,"",m); /* file to read prefactors from */
   input_string("ggrd_mat_depth_file",
 	       E->control.ggrd_mat_depth_file,"_i_do_not_exist_",m); 

Modified: mc/3D/CitcomS/trunk/lib/Output_gzdir.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output_gzdir.c	2010-09-07 02:22:48 UTC (rev 17175)
+++ mc/3D/CitcomS/trunk/lib/Output_gzdir.c	2010-09-07 07:05:09 UTC (rev 17176)
@@ -981,7 +981,7 @@
     snprintf(output_file,255,"%s/%d/horiz_avg.%d.%d.gz", E->control.data_dir,
 	    cycles,E->parallel.me, cycles);
     fp1=gzdir_output_open(output_file,"w");
-    for(j=1;j<=E->lmesh.noz;j++)  {
+    for(j=1;j<=E->lmesh.noz;j++)  { /* format: r <T> <vh> <vr> (<C>) */
         gzprintf(fp1,"%.4e %.4e %.4e %.4e",E->sx[1][3][j],E->Have.T[j],E->Have.V[1][j],E->Have.V[2][j]);
 
         if (E->composition.on) {

Modified: mc/3D/CitcomS/trunk/lib/Viscosity_structures.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Viscosity_structures.c	2010-09-07 02:22:48 UTC (rev 17175)
+++ mc/3D/CitcomS/trunk/lib/Viscosity_structures.c	2010-09-07 07:05:09 UTC (rev 17176)
@@ -387,11 +387,17 @@
 {
 
     int i,m,jj;
-
-    for(m=1;m<=E->sphere.caps_per_proc;m++)
+    if(E->control.mat_control){	/* use pre-factor even without temperature dependent viscosity */
+      for(m=1;m<=E->sphere.caps_per_proc;m++)
         for(i=1;i<=E->lmesh.nel;i++)
-            for(jj=1;jj<=vpoints[E->mesh.nsd];jj++)
-                EEta[m][ (i-1)*vpoints[E->mesh.nsd]+jj ] = E->viscosity.N0[E->mat[m][i]-1];
+	  for(jj=1;jj<=vpoints[E->mesh.nsd];jj++)
+	    EEta[m][ (i-1)*vpoints[E->mesh.nsd]+jj ] = E->viscosity.N0[E->mat[m][i]-1]*E->VIP[m][i];
+     }else{
+      for(m=1;m<=E->sphere.caps_per_proc;m++)
+        for(i=1;i<=E->lmesh.nel;i++)
+	  for(jj=1;jj<=vpoints[E->mesh.nsd];jj++)
+	    EEta[m][ (i-1)*vpoints[E->mesh.nsd]+jj ] = E->viscosity.N0[E->mat[m][i]-1];
+    }
 
     return;
 }

Modified: mc/3D/CitcomS/trunk/lib/global_defs.h
===================================================================
--- mc/3D/CitcomS/trunk/lib/global_defs.h	2010-09-07 02:22:48 UTC (rev 17175)
+++ mc/3D/CitcomS/trunk/lib/global_defs.h	2010-09-07 07:05:09 UTC (rev 17176)
@@ -529,6 +529,7 @@
   float ggrd_vtop_omega[4];
   char ggrd_mat_depth_file[1000];
   ggrd_boolean ggrd_mat_is_3d;
+  int ggrd_mat_limit_prefactor;
   float  ggrd_lower_depth_km,ggrd_lower_scale,ggrd_lower_offset;
 #endif
     double accuracy,inner_accuracy_scale;



More information about the CIG-COMMITS mailing list