[cig-commits] r4494 - mc/3D/CitcomS/trunk/lib

luis at geodynamics.org luis at geodynamics.org
Fri Sep 8 08:46:29 PDT 2006


Author: luis
Date: 2006-09-08 08:46:28 -0700 (Fri, 08 Sep 2006)
New Revision: 4494

Modified:
   mc/3D/CitcomS/trunk/lib/Output_h5.c
Log:
Fix allocation of buffer for connectivity (done per cap, not globally).


Modified: mc/3D/CitcomS/trunk/lib/Output_h5.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output_h5.c	2006-09-08 15:08:56 UTC (rev 4493)
+++ mc/3D/CitcomS/trunk/lib/Output_h5.c	2006-09-08 15:46:28 UTC (rev 4494)
@@ -180,8 +180,12 @@
 
     int cap;
     int caps = E->sphere.caps;
-    int nprocx, nprocy, nprocz;
+    int nprocx = E->parallel.nprocx;
+    int nprocy = E->parallel.nprocy;
+    int nprocz = E->parallel.nprocz;
+    int procs_per_cap;
 
+
     /*
      * MPI variables
      */
@@ -298,8 +302,9 @@
         /********************************************************************
          * Create connectivity dataset                                      *
          ********************************************************************/
+        procs_per_cap = nprocx * nprocy * nprocz;
         if (E->output.connectivity == 1)
-            h5create_connectivity(cap_group, E->mesh.nel);
+            h5create_connectivity(cap_group, E->lmesh.nel * procs_per_cap);
 
         /********************************************************************
          * Create /cap/surf/ group                                          *
@@ -351,10 +356,6 @@
 
     /* Determine current cap and remember it */
 
-    nprocx = E->parallel.nprocx;
-    nprocy = E->parallel.nprocy;
-    nprocz = E->parallel.nprocz;
-
     cap = (E->parallel.me) / (nprocx * nprocy * nprocz);
     E->hdf5.capid = cap;
     E->hdf5.cap_group = E->hdf5.cap_groups[cap];



More information about the cig-commits mailing list