[cig-commits] [commit] kommu/aspect-citcom-benchmarks: Added the output_volume_avg method to output <T> and <V_rms> (c8bfee6)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Tue Apr 8 03:01:05 PDT 2014


Repository : ssh://geoshell/citcoms

On branch  : kommu/aspect-citcom-benchmarks
Link       : https://github.com/geodynamics/citcoms/compare/3ebabdc12f5b4e8d7db6edbc2cc578201d4477bf...fb1839e7e93bc56eb542afd64b3db70f2df6a5d8

>---------------------------------------------------------------

commit c8bfee6c24ca44d30b44b2d52983151771414788
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Mon Mar 31 14:32:33 2014 -0700

    Added the output_volume_avg method to output <T> and <V_rms>


>---------------------------------------------------------------

c8bfee6c24ca44d30b44b2d52983151771414788
 lib/Output.c     | 32 ++++++++++++++++++++++++++++++--
 lib/prototypes.h |  1 +
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/lib/Output.c b/lib/Output.c
index 65f752c..353b3b0 100644
--- a/lib/Output.c
+++ b/lib/Output.c
@@ -31,6 +31,7 @@
 
 #include <stdlib.h>
 #include <stdint.h>
+#include <string.h>
 #include <math.h>
 #include <mpi.h>
 #include "element_definitions.h"
@@ -49,6 +50,7 @@ void output_surf_botm(struct All_variables *, int);
 void output_geoid(struct All_variables *, int);
 void output_stress(struct All_variables *, int);
 void output_horiz_avg(struct All_variables *, int);
+void output_volume_avg(struct All_variables *, int);
 void output_tracer(struct All_variables *, int);
 void output_pressure(struct All_variables *, int);
 void output_heating(struct All_variables *, int);
@@ -144,8 +146,11 @@ void output(struct All_variables *E, int cycles)
   if (E->output.pressure)
     output_pressure(E, cycles);
 
-  if (E->output.horiz_avg)
-      output_horiz_avg(E, cycles);
+  if(E->output.horiz_avg)
+    output_horiz_avg(E, cycles);
+
+  if(E->output.volume_avg)
+    output_volume_avg(E, cycles);
 
   if (E->output.seismic)
       output_seismic(E, cycles);
@@ -558,7 +563,30 @@ void output_horiz_avg(struct All_variables *E, int cycles)
   return;
 }
 
+void output_volume_avg(struct All_variables *E, int cycles)
+{
+  /* volume average output of temperature and rms velocity */
+  void compute_volume_avg();
+
+  int j;
+  char output_file[255];
+  FILE *fp1;
+  float T_avg=0.0, V_rms_avg=0.0;
+
+  /* compute horizontal average here.... */
+  compute_volume_avg(E, &T_avg, &V_rms_avg);
 
+  /* only the first nprocz processors need to output */
+
+  if (E->parallel.me == 0)  
+  {
+    sprintf(output_file,"%s.volume_avg.%d.%d", E->control.data_file,
+            E->parallel.me, cycles);
+    fp1=fopen(output_file,"w");
+    fprintf(fp1,"%.4e %.4e\n", T_avg, V_rms_avg);
+    fclose(fp1);
+  }
+}
 
 void output_seismic(struct All_variables *E, int cycles)
 {
diff --git a/lib/prototypes.h b/lib/prototypes.h
index 148762b..5b6c8b8 100644
--- a/lib/prototypes.h
+++ b/lib/prototypes.h
@@ -286,6 +286,7 @@ void output_surf_botm(struct All_variables *, int);
 void output_geoid(struct All_variables *, int);
 void output_stress(struct All_variables *, int);
 void output_horiz_avg(struct All_variables *, int);
+void output_volume_avg(struct All_variables *, int);
 void output_seismic(struct All_variables *, int);
 void output_mat(struct All_variables *);
 void output_pressure(struct All_variables *, int);



More information about the CIG-COMMITS mailing list