[cig-commits] r19371 - mc/3D/CitcomCU/trunk/src

becker at geodynamics.org becker at geodynamics.org
Mon Jan 16 13:18:48 PST 2012


Author: becker
Date: 2012-01-16 13:18:48 -0800 (Mon, 16 Jan 2012)
New Revision: 19371

Added:
   mc/3D/CitcomCU/trunk/src/make_twb
Modified:
   mc/3D/CitcomCU/trunk/src/Boundary_conditions.c
   mc/3D/CitcomCU/trunk/src/Convection.c
   mc/3D/CitcomCU/trunk/src/Viscosity_structures.c
Log:
temperature_imposed_botm_bcs was checking for top, as opposed to
bottom processor, as far as i can tell.




Modified: mc/3D/CitcomCU/trunk/src/Boundary_conditions.c
===================================================================
--- mc/3D/CitcomCU/trunk/src/Boundary_conditions.c	2012-01-16 21:16:30 UTC (rev 19370)
+++ mc/3D/CitcomCU/trunk/src/Boundary_conditions.c	2012-01-16 21:18:48 UTC (rev 19371)
@@ -44,11 +44,12 @@
 void velocity_boundary_conditions(struct All_variables *E)
 {
 	int lv;
-	int node,bottom,top;
-	bottom = 1;
+	int node,top;
+	const int bottom = 1;	/* bottom node number */
+
 	for(lv = E->mesh.levmax; lv >= E->mesh.levmin; lv--)
 	{
-	  top = E->mesh.NOZ[lv];
+	  top = E->mesh.NOZ[lv]; /* top for this MG level */
 		if(E->mesh.botvbc != 1) /* free slip on bottom */
 		{
 			horizontal_bc(E, E->VB, bottom, 1, 0.0, VBX, 0, lv);
@@ -76,7 +77,7 @@
 
 	for(lv = E->mesh.levmax; lv >= E->mesh.levmin; lv--)
 	{
-	  top = E->mesh.NOZ[lv];
+	  top = E->mesh.NOZ[lv]; /* top node for this MG level */
 		if(E->mesh.botvbc == 1) /* bottom velocity boundary condition */
 		{
 			horizontal_bc(E, E->VB, bottom, 1, E->control.VBXbotval, VBX, 1, lv);
@@ -403,7 +404,8 @@
 	aa2 = E->segment.plume_radius * E->segment.plume_radius;
 
 
-	if(E->parallel.me_loc[3] == E->parallel.nprocz - 1)
+
+	if(E->parallel.me_loc[3] == 0) /* I think this should be the bottom processor */
 	{
 		for(j = 1; j <= E->lmesh.NOY[level]; j++)
 			for(i = 1; i <= E->lmesh.NOX[level]; i++)
@@ -438,7 +440,7 @@
 	else
 		rowl = E->lmesh.NOZ[level];
 
-	if(ROW == 1 && E->parallel.me_loc[3] == 0 || ROW == E->mesh.NOZ[level] && E->parallel.me_loc[3] == E->parallel.nprocz - 1)
+	if(((ROW == 1) && (E->parallel.me_loc[3] == 0)) || ((ROW == E->mesh.NOZ[level]) && (E->parallel.me_loc[3] == E->parallel.nprocz - 1))) /* bottom or top processor */
 	{
 
 		/* turn bc marker to zero */

Modified: mc/3D/CitcomCU/trunk/src/Convection.c
===================================================================
--- mc/3D/CitcomCU/trunk/src/Convection.c	2012-01-16 21:16:30 UTC (rev 19370)
+++ mc/3D/CitcomCU/trunk/src/Convection.c	2012-01-16 21:18:48 UTC (rev 19371)
@@ -199,6 +199,7 @@
 		E->advection.markers = E->advection.markers_per_ele * E->mesh.nel;
 	  }
 		E->advection.markers = E->advection.markers * E->lmesh.volume / E->mesh.volume;
+		/* default was twice as many tracers allowed, now a parameter */
 		E->advection.markers_uplimit = (int)((float)E->advection.markers * E->advection.marker_max_factor);
 		if(E->parallel.me == 0)fprintf(stderr, "amarkers: %d lmesh.volume %g volume %g\n", E->advection.markers, E->lmesh.volume, E->mesh.volume);
 		for(i = 1; i <= E->mesh.nsd; i++)

Modified: mc/3D/CitcomCU/trunk/src/Viscosity_structures.c
===================================================================
--- mc/3D/CitcomCU/trunk/src/Viscosity_structures.c	2012-01-16 21:16:30 UTC (rev 19370)
+++ mc/3D/CitcomCU/trunk/src/Viscosity_structures.c	2012-01-16 21:18:48 UTC (rev 19371)
@@ -80,7 +80,7 @@
 		*/
 		if(E->viscosity.plasticity_dimensional){
 		  /* for byerlee, dimensional values are used */
-		  E->viscosity.abyerlee[i]=2.1e4; /* t_y = (a * z[m] + b) *p 
+		  E->viscosity.abyerlee[i]=2.1e4; /* t_y = (a * z[m] + b) * lambda
 						     whereas a is rho * g * 0.6(from friction)
 						     and b is 60MPa cohesion
 						  */

Added: mc/3D/CitcomCU/trunk/src/make_twb
===================================================================
--- mc/3D/CitcomCU/trunk/src/make_twb	                        (rev 0)
+++ mc/3D/CitcomCU/trunk/src/make_twb	2012-01-16 21:18:48 UTC (rev 19371)
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# make regular version
+make -f Makefile clean
+make -f Makefile 
+cp citcom.mpi citcom_regular.mpi 
+
+
+# make high res version with ggrd output and anisotropy
+make -f Makefile.gzdir_ani clean
+make -f Makefile.gzdir_ani 
+cp citcom.mpi citcom_gzdir_ani.mpi 
+# this will leave this version as citcom.mpi
+
+
+# make high res version with ggrd output and anisotropy
+make -f Makefile.gzdir_ani_low clean
+make -f Makefile.gzdir_ani_low
+# this will produce citcom_low.mpi with lower accuracy for tracers
+rm *.o
+
+
+



More information about the CIG-COMMITS mailing list