[cig-commits] r15644 - in mc/3D/CitcomS/trunk: CitcomS/Components CitcomS/Solver module
tan2 at geodynamics.org
tan2 at geodynamics.org
Thu Sep 3 10:24:48 PDT 2009
Author: tan2
Date: 2009-09-03 10:24:47 -0700 (Thu, 03 Sep 2009)
New Revision: 15644
Modified:
mc/3D/CitcomS/trunk/CitcomS/Components/Output.py
mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py
mc/3D/CitcomS/trunk/module/bindings.c
mc/3D/CitcomS/trunk/module/outputs.c
mc/3D/CitcomS/trunk/module/outputs.h
mc/3D/CitcomS/trunk/module/setProperties.c
Log:
Added pyre binding for write_q_files
Modified: mc/3D/CitcomS/trunk/CitcomS/Components/Output.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Components/Output.py 2009-09-03 17:24:19 UTC (rev 15643)
+++ mc/3D/CitcomS/trunk/CitcomS/Components/Output.py 2009-09-03 17:24:47 UTC (rev 15644)
@@ -61,6 +61,9 @@
# remove net rotation
gzdir_rnr = inv.bool("gzdir_rnr", default=False)
+ # write additional heat flux files? if yes, how frequent?
+ write_q_files = inv.int("write_q_files", default=0)
+
# max. degree for spherical harmonics output
output_ll_max = inv.int("output_ll_max", default=20)
Modified: mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py 2009-09-03 17:24:19 UTC (rev 15643)
+++ mc/3D/CitcomS/trunk/CitcomS/Solver/Solver.py 2009-09-03 17:24:47 UTC (rev 15644)
@@ -26,7 +26,7 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
-from CitcomSLib import CPU_time, output, output_time, output_checkpoint, return_dt, return_t, return_step
+from CitcomSLib import CPU_time, output, output_q_files, output_time, output_checkpoint, return_dt, return_t, return_step
from pyre.components.Component import Component
import journal
@@ -241,6 +241,11 @@
def save(self, monitoringFrequency):
step = self.step
+ # write heat flux more frequently
+ write_q_files = self.inventory.output.inventory.write_q_files
+ if write_q_files and not (step % write_q_files):
+ output_q_files(self.all_variables)
+
# output spacing is 'monitoringFrequency'
if not (step % monitoringFrequency):
output(self.all_variables, step)
Modified: mc/3D/CitcomS/trunk/module/bindings.c
===================================================================
--- mc/3D/CitcomS/trunk/module/bindings.c 2009-09-03 17:24:19 UTC (rev 15643)
+++ mc/3D/CitcomS/trunk/module/bindings.c 2009-09-03 17:24:47 UTC (rev 15644)
@@ -233,6 +233,11 @@
METH_VARARGS,
pyCitcom_output__doc__},
+ {pyCitcom_output_q_files__name__,
+ pyCitcom_output_q_files,
+ METH_VARARGS,
+ pyCitcom_output_q_files__doc__},
+
{pyCitcom_output_time__name__,
pyCitcom_output_time,
METH_VARARGS,
Modified: mc/3D/CitcomS/trunk/module/outputs.c
===================================================================
--- mc/3D/CitcomS/trunk/module/outputs.c 2009-09-03 17:24:19 UTC (rev 15643)
+++ mc/3D/CitcomS/trunk/module/outputs.c 2009-09-03 17:24:47 UTC (rev 15644)
@@ -56,6 +56,28 @@
}
+char pyCitcom_output_q_files__doc__[] = "";
+char pyCitcom_output_q_files__name__[] = "output_q_files";
+
+PyObject * pyCitcom_output_q_files(PyObject *self, PyObject *args)
+{
+ PyObject *obj;
+ struct All_variables* E;
+ extern void heat_flux(struct All_variables*);
+
+ if (!PyArg_ParseTuple(args, "O:output_q_files", &obj))
+ return NULL;
+
+ E = (struct All_variables*)(PyCObject_AsVoidPtr(obj));
+
+ heat_flux(E);
+
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+
char pyCitcom_output_time__doc__[] = "";
char pyCitcom_output_time__name__[] = "output_time";
Modified: mc/3D/CitcomS/trunk/module/outputs.h
===================================================================
--- mc/3D/CitcomS/trunk/module/outputs.h 2009-09-03 17:24:19 UTC (rev 15643)
+++ mc/3D/CitcomS/trunk/module/outputs.h 2009-09-03 17:24:47 UTC (rev 15644)
@@ -32,6 +32,10 @@
extern char pyCitcom_output__doc__[];
PyObject * pyCitcom_output(PyObject *, PyObject *);
+extern char pyCitcom_output_q_files__name__[];
+extern char pyCitcom_output_q_files__doc__[];
+PyObject * pyCitcom_output_q_files(PyObject *, PyObject *);
+
extern char pyCitcom_output_time__name__[];
extern char pyCitcom_output_time__doc__[];
PyObject * pyCitcom_output_time(PyObject *, PyObject *);
Modified: mc/3D/CitcomS/trunk/module/setProperties.c
===================================================================
--- mc/3D/CitcomS/trunk/module/setProperties.c 2009-09-03 17:24:19 UTC (rev 15643)
+++ mc/3D/CitcomS/trunk/module/setProperties.c 2009-09-03 17:24:47 UTC (rev 15644)
@@ -317,6 +317,8 @@
/* should we save the basis vectors? (memory!) */
E->output.gzdir.vtk_base_save = 1;
+ getIntProperty(properties, "write_q_files", E->output.write_q_files, fp);
+
getIntProperty(properties, "output_ll_max", E->output.llmax, fp);
getIntProperty(properties, "self_gravitation", E->control.self_gravitation, fp);
getIntProperty(properties, "use_cbf_topo", E->control.use_cbf_topo, fp);
More information about the CIG-COMMITS
mailing list