[cig-commits] r4384 - in mc/3D/CitcomS/trunk: bin lib module

tan2 at geodynamics.org tan2 at geodynamics.org
Fri Aug 18 11:43:21 PDT 2006


Author: tan2
Date: 2006-08-18 11:43:20 -0700 (Fri, 18 Aug 2006)
New Revision: 4384

Modified:
   mc/3D/CitcomS/trunk/bin/Citcom.c
   mc/3D/CitcomS/trunk/lib/Output.c
   mc/3D/CitcomS/trunk/lib/Output_h5.c
   mc/3D/CitcomS/trunk/lib/output.h
   mc/3D/CitcomS/trunk/lib/output_h5.h
   mc/3D/CitcomS/trunk/module/outputs.cc
Log:
Refactored and Merged output_pseudo_surf with output

Modified: mc/3D/CitcomS/trunk/bin/Citcom.c
===================================================================
--- mc/3D/CitcomS/trunk/bin/Citcom.c	2006-08-18 04:59:26 UTC (rev 4383)
+++ mc/3D/CitcomS/trunk/bin/Citcom.c	2006-08-18 18:43:20 UTC (rev 4384)
@@ -56,7 +56,6 @@
   void read_mat_from_file();
   void open_time();
   void output_finalize();
-  void output_pseudo_surf();
 
   float dot();
   float cpu_time_on_vp_it;
@@ -109,12 +108,7 @@
   else
     general_stokes_solver(E);
 
-  if(E->control.pseudo_free_surf) {
-    if(E->mesh.topvbc == 2)
-	    output_pseudo_surf(E, E->monitor.solution_cycles);
-  }
-  else
-    (E->problem_output)(E, E->monitor.solution_cycles);
+  (E->problem_output)(E, E->monitor.solution_cycles);
 
   /* information about simulation time and wall clock time */
   output_time(E, E->monitor.solution_cycles);
@@ -158,11 +152,6 @@
       (E->problem_tracer_advection)(E);
 
     if ((E->monitor.solution_cycles % E->control.record_every)==0) {
-      if(E->control.pseudo_free_surf) {
-        if(E->mesh.topvbc == 2)
-	  output_pseudo_surf(E, E->monitor.solution_cycles);
-      }
-      else
 	(E->problem_output)(E, E->monitor.solution_cycles);
     }
 

Modified: mc/3D/CitcomS/trunk/lib/Output.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output.c	2006-08-18 04:59:26 UTC (rev 4383)
+++ mc/3D/CitcomS/trunk/lib/Output.c	2006-08-18 18:43:20 UTC (rev 4384)
@@ -41,7 +41,6 @@
 void output_visc_prepare(struct All_variables *, float **);
 void output_visc(struct All_variables *, int);
 void output_surf_botm(struct All_variables *, int);
-void output_surf_botm_pseudo_surf(struct All_variables *, int);
 void output_stress(struct All_variables *, int);
 void output_average(struct All_variables *, int);
 void output_tracer(struct All_variables *, int);
@@ -66,12 +65,7 @@
   output_velo(E, cycles);
   output_visc(E, cycles);
 
-  if(E->control.pseudo_free_surf) {
-    if(E->mesh.topvbc == 2)
-       output_surf_botm_pseudo_surf(E, cycles);
-  }
-  else
-      output_surf_botm(E, cycles);
+  output_surf_botm(E, cycles);
 
   /* output tracer location if using tracer */
   if(E->control.tracer==1)
@@ -91,31 +85,6 @@
 }
 
 
-void output_pseudo_surf(struct All_variables *E, int cycles)
-{
-
-  if (cycles == 0) {
-    output_coord(E);
-    output_mat(E);
-  }
-
-  output_velo(E, cycles);
-  output_visc(E, cycles);
-  output_surf_botm_pseudo_surf(E, cycles);
-
-  if(E->control.tracer==1)
-    output_tracer(E, cycles);
-
-  //output_stress(E, cycles);
-  //output_pressure(E, cycles);
-
-  /* disable horizontal average output   by Tan2 */
-  /* output_ave_r(E, cycles); */
-
-  return;
-}
-
-
 FILE* output_open(char *filename)
 {
   FILE *fp1;
@@ -208,8 +177,8 @@
   int i, j, s;
   char output_file[255];
   FILE* fp2;
+  float *topo;
 
-
   heat_flux(E);
   get_STD_topo(E,E->slice.tpg,E->slice.tpgb,E->slice.divg,E->slice.vort,cycles);
 
@@ -218,11 +187,17 @@
     fp2 = output_open(output_file);
 
     for(j=1;j<=E->sphere.caps_per_proc;j++)  {
-	    fprintf(fp2,"%3d %7d\n",j,E->lmesh.nsf);
-	    for(i=1;i<=E->lmesh.nsf;i++)   {
-		    s = i*E->lmesh.noz;
-		    fprintf(fp2,"%.4e %.4e %.4e %.4e\n",E->slice.tpg[j][i],E->slice.shflux[j][i],E->sphere.cap[j].V[1][s],E->sphere.cap[j].V[2][s]);
-	    }
+	/* choose either STD topo or pseudo-free-surf topo */
+	if(E->control.pseudo_free_surf)
+	    topo = E->slice.freesurf[j];
+	else
+	    topo = E->slice.tpg[j];
+
+	fprintf(fp2,"%3d %7d\n",j,E->lmesh.nsf);
+	for(i=1;i<=E->lmesh.nsf;i++)   {
+	    s = i*E->lmesh.noz;
+	    fprintf(fp2,"%.4e %.4e %.4e %.4e\n",topo[i],E->slice.shflux[j][i],E->sphere.cap[j].V[1][s],E->sphere.cap[j].V[2][s]);
+	}
     }
     fclose(fp2);
   }
@@ -245,49 +220,7 @@
   return;
 }
 
-void output_surf_botm_pseudo_surf(struct All_variables *E, int cycles)
-{
-  int i, j, s;
-  char output_file[255];
-  FILE* fp2;
 
-
-  heat_flux(E);
-  get_STD_topo(E,E->slice.tpg,E->slice.tpgb,E->slice.divg,E->slice.vort,cycles);
-
-  if (E->parallel.me_loc[3]==E->parallel.nprocz-1) {
-    sprintf(output_file,"%s.surf.%d.%d",E->control.data_file,E->parallel.me,cycles);
-    fp2 = output_open(output_file);
-
-    for(j=1;j<=E->sphere.caps_per_proc;j++)  {
-	    fprintf(fp2,"%3d %7d\n",j,E->lmesh.nsf);
-	    for(i=1;i<=E->lmesh.nsf;i++)   {
-		    s = i*E->lmesh.noz;
-		    fprintf(fp2,"%.4e %.4e %.4e %.4e\n",E->slice.freesurf[j][i],E->slice.shflux[j][i],E->sphere.cap[j].V[1][s],E->sphere.cap[j].V[2][s]);
-	    }
-    }
-    fclose(fp2);
-  }
-
-
-  if (E->parallel.me_loc[3]==0)      {
-    sprintf(output_file,"%s.botm.%d.%d",E->control.data_file,E->parallel.me,cycles);
-    fp2 = output_open(output_file);
-
-    for(j=1;j<=E->sphere.caps_per_proc;j++)  {
-      fprintf(fp2,"%3d %7d\n",j,E->lmesh.nsf);
-      for(i=1;i<=E->lmesh.nsf;i++)  {
-	s = (i-1)*E->lmesh.noz + 1;
-	fprintf(fp2,"%.4e %.4e %.4e %.4e\n",E->slice.tpgb[j][i],E->slice.bhflux[j][i],E->sphere.cap[j].V[1][s],E->sphere.cap[j].V[2][s]);
-      }
-    }
-    fclose(fp2);
-  }
-
-  return;
-}
-
-
 void output_stress(struct All_variables *E, int cycles)
 {
   int m, node;

Modified: mc/3D/CitcomS/trunk/lib/Output_h5.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output_h5.c	2006-08-18 04:59:26 UTC (rev 4383)
+++ mc/3D/CitcomS/trunk/lib/Output_h5.c	2006-08-18 18:43:20 UTC (rev 4384)
@@ -62,7 +62,6 @@
 void h5output_stress(struct All_variables *, int);
 void h5output_tracer(struct All_variables *, int);
 void h5output_surf_botm(struct All_variables *, int);
-void h5output_surf_botm_pseudo_surf(struct All_variables *, int);
 void h5output_average(struct All_variables *, int);
 void h5output_time(struct All_variables *, int);
 
@@ -126,13 +125,7 @@
     h5output_temperature(E, cycles);
     h5output_viscosity(E, cycles);
 
-    if(E->control.pseudo_free_surf)
-    {
-        if(E->mesh.topvbc == 2)
-            h5output_surf_botm_pseudo_surf(E, cycles);
-    }
-    else
-        h5output_surf_botm(E, cycles);
+    h5output_surf_botm(E, cycles);
 
     /* output tracer location if using tracer */
     if(E->control.tracer == 1)
@@ -154,36 +147,6 @@
 #endif
 }
 
-void h5output_pseudo_surf(struct All_variables *E, int cycles)
-{
-#ifdef USE_HDF5
-    /* TODO: h5output() should replace this function (make sure
-     * all funcitonality here is included there).
-     */
-    if (cycles == 0)
-    {
-        h5output_coord(E);
-        h5output_material(E);
-    }
-
-    h5output_velocity(E, cycles);
-    h5output_temperature(E, cycles);
-    h5output_viscosity(E, cycles);
-    h5output_surf_botm_pseudo_surf(E, cycles);
-
-    if(E->control.tracer==1)
-        h5output_tracer(E, cycles);
-
-    //h5output_stress(E, cycles);
-    //h5output_pressure(E, cycles);
-
-    /* disable horizontal average h5output   by Tan2 */
-    /* h5output_ave_r(E, cycles); */
-
-    return;
-#endif
-}
-
 
 /****************************************************************************
  * Functions to initialize and finalize access to HDF5 output file.         *
@@ -1322,10 +1285,6 @@
     }
 }
 
-void h5output_surf_botm_pseudo_surf(struct All_variables *E, int cycles)
-{
-}
-
 void h5output_average(struct All_variables *E, int cycles)
 {
 }

Modified: mc/3D/CitcomS/trunk/lib/output.h
===================================================================
--- mc/3D/CitcomS/trunk/lib/output.h	2006-08-18 04:59:26 UTC (rev 4383)
+++ mc/3D/CitcomS/trunk/lib/output.h	2006-08-18 18:43:20 UTC (rev 4384)
@@ -34,7 +34,6 @@
 #endif
 
 void output(struct All_variables *, int);
-void output_pseudo_surf(struct All_variables *, int);
 void output_time(struct All_variables *, int);
 
 FILE* output_open(char *);

Modified: mc/3D/CitcomS/trunk/lib/output_h5.h
===================================================================
--- mc/3D/CitcomS/trunk/lib/output_h5.h	2006-08-18 04:59:26 UTC (rev 4383)
+++ mc/3D/CitcomS/trunk/lib/output_h5.h	2006-08-18 18:43:20 UTC (rev 4384)
@@ -1,6 +1,6 @@
 /*
  *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- * 
+ *
  *<LicenseText>
  *
  * CitcomS by Louis Moresi, Shijie Zhong, Lijie Han, Eh Tan,
@@ -22,7 +22,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  *</LicenseText>
- * 
+ *
  *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
@@ -34,7 +34,6 @@
 #endif
 
 void h5output(struct All_variables *, int);
-void h5output_pseudo_surf(struct All_variables *, int);
 
 void h5output_open(struct All_variables *);
 void h5output_close(struct All_variables *);

Modified: mc/3D/CitcomS/trunk/module/outputs.cc
===================================================================
--- mc/3D/CitcomS/trunk/module/outputs.cc	2006-08-18 04:59:26 UTC (rev 4383)
+++ mc/3D/CitcomS/trunk/module/outputs.cc	2006-08-18 18:43:20 UTC (rev 4384)
@@ -57,13 +57,7 @@
 
     struct All_variables* E = static_cast<struct All_variables*>(PyCObject_AsVoidPtr(obj));
 
-    if(E->control.pseudo_free_surf)
-	    if(E->mesh.topvbc==2)
-		    output_pseudo_surf(E, cycles);
-	    else
-		    assert(0);
-    else
-	    (E->problem_output)(E, cycles);
+    (E->problem_output)(E, cycles);
 
 
     Py_INCREF(Py_None);
@@ -112,25 +106,6 @@
 }
 
 
-char pyCitcom_output_pseudo_surf__doc__[] = "";
-char pyCitcom_output_pseudo_surf__name__[] = "output_pseudo_surf";
-
-PyObject * pyCitcom_output_pseudo_surf(PyObject *self, PyObject *args)
-{
-    PyObject *obj;
-    int cycles;
-
-    if (!PyArg_ParseTuple(args, "Oi:output_pseudo_surf", &obj, &cycles))
-        return NULL;
-
-    struct All_variables* E = static_cast<struct All_variables*>(PyCObject_AsVoidPtr(obj));
-
-    output_pseudo_surf(E, cycles);
-
-    Py_INCREF(Py_None);
-    return Py_None;
-}
-
 // version
 // $Id$
 



More information about the cig-commits mailing list