[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