[cig-commits] r15744 - in mc/3D/CitcomS/trunk: CitcomS/Components CitcomS/Components/Sphere module

tan2 at geodynamics.org tan2 at geodynamics.org
Mon Oct 5 12:06:35 PDT 2009


Author: tan2
Date: 2009-10-05 12:06:34 -0700 (Mon, 05 Oct 2009)
New Revision: 15744

Modified:
   mc/3D/CitcomS/trunk/CitcomS/Components/Sphere/Sphere.py
   mc/3D/CitcomS/trunk/CitcomS/Components/Visc.py
   mc/3D/CitcomS/trunk/module/setProperties.c
Log:
Add pyre binding of z_layer, r_grid_layers, rr, and nr.

replace MAX_MAT with CITCOM_MAX_VISC_LAYER.


Modified: mc/3D/CitcomS/trunk/CitcomS/Components/Sphere/Sphere.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Components/Sphere/Sphere.py	2009-10-05 19:05:33 UTC (rev 15743)
+++ mc/3D/CitcomS/trunk/CitcomS/Components/Sphere/Sphere.py	2009-10-05 19:06:34 UTC (rev 15744)
@@ -61,6 +61,8 @@
 
     def setProperties(self, stream):
         self.inventory.coor_refine = map(float, self.inventory.coor_refine)
+        self.inventory.rr = map(float, self.inventory.rr)
+        self.inventory.nr = map(int, self.inventory.nr)
 
         from CitcomSLib import Sphere_set_properties
         Sphere_set_properties(self.all_variables, self.inventory, stream)
@@ -82,6 +84,10 @@
                                           default=[0.1,0.15,0.1,0.2])
         coor_file = pyre.inventory.str("coor_file", default="coor.dat")
 
+        r_grid_layers = pyre.inventory.int("r_grid_layers", default=1)
+        rr = pyre.inventory.list("rr", default=[1.0])
+        nr = pyre.inventory.list("nr", default=[1])
+
         nodex = pyre.inventory.int("nodex", default=9)
         nodey = pyre.inventory.int("nodey", default=9)
         nodez = pyre.inventory.int("nodez", default=9)

Modified: mc/3D/CitcomS/trunk/CitcomS/Components/Visc.py
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Components/Visc.py	2009-10-05 19:05:33 UTC (rev 15743)
+++ mc/3D/CitcomS/trunk/CitcomS/Components/Visc.py	2009-10-05 19:06:34 UTC (rev 15744)
@@ -43,6 +43,7 @@
 
         inv = self.inventory
         inv.visc0 = map(float, inv.visc0)
+        inv.z_layer = map(float, inv.z_layer)
         inv.viscE = map(float, inv.viscE)
         inv.viscT = map(float, inv.viscT)
         inv.viscZ = map(float, inv.viscZ)
@@ -78,6 +79,7 @@
         num_mat = pyre.inventory.int("num_mat", default=4)
         visc0 = pyre.inventory.list("visc0", default=[1, 1, 1, 1])
 
+        z_layer = pyre.inventory.list("z_layer", default=[-999, -999])
         visc_layer_control = pyre.inventory.bool("visc_layer_control", default=False)
         visc_layer_file = pyre.inventory.str("visc_layer_file", default="visc.dat")
 

Modified: mc/3D/CitcomS/trunk/module/setProperties.c
===================================================================
--- mc/3D/CitcomS/trunk/module/setProperties.c	2009-10-05 19:05:33 UTC (rev 15743)
+++ mc/3D/CitcomS/trunk/module/setProperties.c	2009-10-05 19:06:34 UTC (rev 15744)
@@ -545,6 +545,13 @@
     getFloatVectorProperty(properties, "coor_refine", E->control.coor_refine, 4, fp);
     getStringProperty(properties, "coor_file", E->control.coor_file, fp);
 
+    getIntProperty(properties, "r_grid_layers", E->control.rlayers, fp);
+    if(E->control.rlayers > 20)
+        myerror(E, "number of rlayers out of bounds (20) for coor = 3");
+    getFloatVectorProperty(properties, "rr", E->control.rrlayer, E->control.rlayers, fp);
+    getIntVectorProperty(properties, "nr", E->control.nrlayer, E->control.rlayers, fp);
+
+
     getIntProperty(properties, "nodex", E->mesh.nox, fp);
     getIntProperty(properties, "nodey", E->mesh.noy, fp);
     getIntProperty(properties, "nodez", E->mesh.noz, fp);
@@ -767,16 +774,17 @@
     getIntProperty(properties, "visc_smooth_method", E->viscosity.smooth_cycles, fp);
     getIntProperty(properties, "VISC_UPDATE", E->viscosity.update_allowed, fp);
 
-#define MAX_MAT 40
-
     getIntProperty(properties, "num_mat", num_mat, fp);
-    if(num_mat > MAX_MAT) {
+    if(num_mat > CITCOM_MAX_VISC_LAYER) {
 	/* max. allowed material types = 40 */
-	fprintf(stderr, "'num_mat' greater than allowed value, set to %d\n", MAX_MAT);
-	num_mat = MAX_MAT;
+	fprintf(stderr, "'num_mat' greater than allowed value, set to %d\n",
+                CITCOM_MAX_VISC_LAYER);
+	num_mat = CITCOM_MAX_VISC_LAYER;
     }
     E->viscosity.num_mat = num_mat;
 
+    getFloatVectorProperty(properties, "z_layer",
+                           E->viscosity.zbase_layer, num_mat, fp);
     getIntProperty(properties, "visc_layer_control", E->viscosity.layer_control, fp);
     getStringProperty(properties, "visc_layer_file", E->viscosity.layer_file, fp);
 



More information about the CIG-COMMITS mailing list