[cig-commits] r6711 - in mc/3D/CitcomS/branches/compressible:
CitcomS/Components lib module
tan2 at geodynamics.org
tan2 at geodynamics.org
Fri Apr 27 12:24:44 PDT 2007
Author: tan2
Date: 2007-04-27 12:24:44 -0700 (Fri, 27 Apr 2007)
New Revision: 6711
Modified:
mc/3D/CitcomS/branches/compressible/CitcomS/Components/IC.py
mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c
mc/3D/CitcomS/branches/compressible/lib/Instructions.c
mc/3D/CitcomS/branches/compressible/module/bindings.c
mc/3D/CitcomS/branches/compressible/module/initial_conditions.c
mc/3D/CitcomS/branches/compressible/module/initial_conditions.h
Log:
Init'd E->mat in initial_conditions() and read_checkpoint()
Modified: mc/3D/CitcomS/branches/compressible/CitcomS/Components/IC.py
===================================================================
--- mc/3D/CitcomS/branches/compressible/CitcomS/Components/IC.py 2007-04-27 19:22:49 UTC (rev 6710)
+++ mc/3D/CitcomS/branches/compressible/CitcomS/Components/IC.py 2007-04-27 19:24:44 UTC (rev 6711)
@@ -54,6 +54,7 @@
def launch(self):
+ self.initMaterial()
self.initTracer()
self.initTemperature()
self.initPressure()
@@ -62,6 +63,12 @@
return
+ def initMaterial(self):
+ from CitcomSLib import initialize_material
+ initialize_material(self.all_variables)
+ return
+
+
def initTracer(self):
from CitcomSLib import init_tracer_composition
init_tracer_composition(self.all_variables)
Modified: mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c 2007-04-27 19:22:49 UTC (rev 6710)
+++ mc/3D/CitcomS/branches/compressible/lib/Checkpoints.c 2007-04-27 19:24:44 UTC (rev 6711)
@@ -87,6 +87,8 @@
void read_checkpoint(struct All_variables *E)
{
+ void initialize_material(struct All_variables *E);
+
char output_file[255];
FILE *fp;
@@ -102,6 +104,9 @@
/* check mesh information in the checkpoint file */
read_general_checkpoint(E, fp);
+ /* init E->mat */
+ initialize_material(E);
+
/* read tracer/composition information in the checkpoint file */
if(E->control.tracer) {
read_tracer_checkpoint(E, fp);
@@ -184,6 +189,7 @@
fwrite(&(E->monitor.solution_cycles), sizeof(int), 1, fp);
fwrite(&(E->monitor.elapsed_time), sizeof(float), 1, fp);
fwrite(&(E->advection.timestep), sizeof(float), 1, fp);
+ fwrite(&(E->control.start_age), sizeof(float), 1, fp);
return;
}
@@ -217,6 +223,7 @@
fread(&(E->monitor.solution_cycles), sizeof(int), 1, fp);
fread(&(E->monitor.elapsed_time), sizeof(float), 1, fp);
fread(&(E->advection.timestep), sizeof(float), 1, fp);
+ fread(&(E->control.start_age), sizeof(float), 1, fp);
E->advection.timesteps = E->monitor.solution_cycles;
Modified: mc/3D/CitcomS/branches/compressible/lib/Instructions.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/lib/Instructions.c 2007-04-27 19:22:49 UTC (rev 6710)
+++ mc/3D/CitcomS/branches/compressible/lib/Instructions.c 2007-04-27 19:24:44 UTC (rev 6711)
@@ -60,7 +60,6 @@
void construct_ien(struct All_variables*);
void construct_lm(struct All_variables*);
void construct_masks(struct All_variables*);
-void construct_mat_group(struct All_variables*);
void construct_shape_functions(struct All_variables*);
void construct_sub_element(struct All_variables*);
void construct_surf_det (struct All_variables*);
@@ -70,7 +69,6 @@
void lith_age_init(struct All_variables *E);
void mass_matrix(struct All_variables*);
void output_init(struct All_variables*);
-void read_mat_from_file(struct All_variables*);
void set_elapsed_time(struct All_variables*);
void set_sphere_harmonics (struct All_variables*);
void set_starting_age(struct All_variables*);
@@ -145,15 +143,6 @@
(E->problem_tracer_setup)(E);
}
- /* TODO: move to initial_conditions() */
- if(E->control.mat_control) {
- if(E->parallel.me ==0) fprintf(stderr,"IN Instructions.c\n");
- fflush(stderr);
- read_mat_from_file(E);
- }
- else
- construct_mat_group(E);
-
}
@@ -207,6 +196,18 @@
}
+void initialize_material(struct All_variables *E)
+{
+ void construct_mat_group();
+ void read_mat_from_file();
+
+ if(E->control.mat_control)
+ read_mat_from_file(E);
+ else
+ construct_mat_group(E);
+}
+
+
/* This function is replaced by CitcomS.Components.IC.launch()*/
void initial_conditions(struct All_variables *E)
{
@@ -214,6 +215,8 @@
void init_composition();
void common_initial_fields();
+ initialize_material(E);
+
if (E->control.tracer==1) {
initialize_tracers(E);
Modified: mc/3D/CitcomS/branches/compressible/module/bindings.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/module/bindings.c 2007-04-27 19:22:49 UTC (rev 6710)
+++ mc/3D/CitcomS/branches/compressible/module/bindings.c 2007-04-27 19:24:44 UTC (rev 6711)
@@ -169,6 +169,11 @@
/* from initial_conditions.h */
+ {pyCitcom_ic_initialize_material__name__,
+ pyCitcom_ic_initialize_material,
+ METH_VARARGS,
+ pyCitcom_ic_initialize_material__doc__},
+
{pyCitcom_ic_init_tracer_composition__name__,
pyCitcom_ic_init_tracer_composition,
METH_VARARGS,
Modified: mc/3D/CitcomS/branches/compressible/module/initial_conditions.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/module/initial_conditions.c 2007-04-27 19:22:49 UTC (rev 6710)
+++ mc/3D/CitcomS/branches/compressible/module/initial_conditions.c 2007-04-27 19:24:44 UTC (rev 6711)
@@ -32,6 +32,7 @@
#include "global_defs.h"
+void initialize_material(struct All_variables*);
void initialize_tracers(struct All_variables*);
void init_composition(struct All_variables*);
void initial_pressure(struct All_variables*);
@@ -41,6 +42,27 @@
void read_checkpoint(struct All_variables*);
+char pyCitcom_ic_initialize_material__doc__[] = "";
+char pyCitcom_ic_initialize_material__name__[] = "initialize_material";
+
+PyObject * pyCitcom_ic_initialize_material(PyObject *self, PyObject *args)
+{
+ PyObject *obj;
+ struct All_variables* E;
+
+ if (!PyArg_ParseTuple(args, "O:initialize_material", &obj))
+ return NULL;
+
+ E = (struct All_variables*)(PyCObject_AsVoidPtr(obj));
+
+ initialize_material(E);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+
+
char pyCitcom_ic_init_tracer_composition__doc__[] = "";
char pyCitcom_ic_init_tracer_composition__name__[] = "init_tracer_composition";
Modified: mc/3D/CitcomS/branches/compressible/module/initial_conditions.h
===================================================================
--- mc/3D/CitcomS/branches/compressible/module/initial_conditions.h 2007-04-27 19:22:49 UTC (rev 6710)
+++ mc/3D/CitcomS/branches/compressible/module/initial_conditions.h 2007-04-27 19:24:44 UTC (rev 6711)
@@ -29,6 +29,11 @@
#define pyCitcom_initial_conditions_h
+extern char pyCitcom_ic_initialize_material__name__[];
+extern char pyCitcom_ic_initialize_material__doc__[];
+PyObject * pyCitcom_ic_initialize_material(PyObject *, PyObject *);
+
+
extern char pyCitcom_ic_init_tracer_composition__name__[];
extern char pyCitcom_ic_init_tracer_composition__doc__[];
PyObject * pyCitcom_ic_init_tracer_composition(PyObject *, PyObject *);
More information about the cig-commits
mailing list