[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