[cig-commits] r22034 - in short/3D/PyLith/trunk/libsrc/pylith: meshio topology

brad at geodynamics.org brad at geodynamics.org
Fri May 10 17:08:26 PDT 2013


Author: brad
Date: 2013-05-10 17:08:25 -0700 (Fri, 10 May 2013)
New Revision: 22034

Modified:
   short/3D/PyLith/trunk/libsrc/pylith/meshio/OutputManager.cc
   short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc
Log:
Code cleanup.

Modified: short/3D/PyLith/trunk/libsrc/pylith/meshio/OutputManager.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/meshio/OutputManager.cc	2013-05-10 23:10:01 UTC (rev 22033)
+++ short/3D/PyLith/trunk/libsrc/pylith/meshio/OutputManager.cc	2013-05-11 00:08:25 UTC (rev 22034)
@@ -286,8 +286,9 @@
 	throw std::logic_error("Unknown field type");
       } // switch
     
-    if (!_fields)
-      _fields = new topology::Fields<field_type>(fieldIn.mesh());
+    if (!_fields) {
+      _fields = new topology::Fields<field_type>(fieldIn.mesh());assert(_fields);
+    } // if
     
     if (!_fields->hasField(fieldName.c_str())) {
       _fields->add(fieldName.c_str(), fieldIn.label());

Modified: short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc	2013-05-10 23:10:01 UTC (rev 22033)
+++ short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc	2013-05-11 00:08:25 UTC (rev 22034)
@@ -335,7 +335,8 @@
 // points.
 template<typename mesh_type>
 void
-pylith::topology::Field<mesh_type>::newSection(const PetscInt *points, const PetscInt num,
+pylith::topology::Field<mesh_type>::newSection(const PetscInt *points, 
+					       const PetscInt num,
                                                const int fiberDim)
 { // newSection
   PYLITH_METHOD_BEGIN;
@@ -419,7 +420,8 @@
 // Create PETSc section and set chart and fiber dimesion.
 template<typename mesh_type>
 void
-pylith::topology::Field<mesh_type>::newSection(const PetscInt pStart, const PetscInt pEnd,
+pylith::topology::Field<mesh_type>::newSection(const PetscInt pStart, 
+					       const PetscInt pEnd,
                                                const int fiberDim)
 { // newSection
   PYLITH_METHOD_BEGIN;
@@ -464,9 +466,10 @@
   PetscInt pStart, pEnd;
   PetscErrorCode err;
 
+  err = DMSetDefaultGlobalSection(_dm, NULL);PYLITH_CHECK_ERROR(err);
+
+  err = DMGetDefaultSection(_dm, &s);PYLITH_CHECK_ERROR(err);
   err = DMGetDefaultSection(src._dm, &srcs);PYLITH_CHECK_ERROR(err);
-  err = DMGetDefaultSection(_dm, &s);PYLITH_CHECK_ERROR(err);
-  err = DMSetDefaultGlobalSection(_dm, NULL);PYLITH_CHECK_ERROR(err);
   err = PetscSectionGetChart(srcs, &pStart, &pEnd);PYLITH_CHECK_ERROR(err);
   err = PetscSectionSetChart(s, pStart, pEnd);PYLITH_CHECK_ERROR(err);
   for(PetscInt p = pStart; p < pEnd; ++p) {
@@ -500,11 +503,13 @@
   err = PetscSectionClone(section, &newSection);PYLITH_CHECK_ERROR(err);
   err = DMSetDefaultSection(_dm, newSection);PYLITH_CHECK_ERROR(err);
   err = PetscSectionDestroy(&newSection);PYLITH_CHECK_ERROR(err);
-  err = VecDestroy(&_globalVec);PYLITH_CHECK_ERROR(err);
+
+  assert(!_globalVec);
   err = DMCreateGlobalVector(_dm, &_globalVec);PYLITH_CHECK_ERROR(err);
-  err = VecDestroy(&_localVec);PYLITH_CHECK_ERROR(err);
+  err = PetscObjectSetName((PetscObject) _globalVec, _metadata["default"].label.c_str());PYLITH_CHECK_ERROR(err);
+
+  assert(!_localVec);
   err = DMCreateLocalVector(_dm, &_localVec);PYLITH_CHECK_ERROR(err);
-  err = PetscObjectSetName((PetscObject) _globalVec, _metadata["default"].label.c_str());PYLITH_CHECK_ERROR(err);
   err = PetscObjectSetName((PetscObject) _localVec,  _metadata["default"].label.c_str());PYLITH_CHECK_ERROR(err);
     
   // Reuse scatters in clone
@@ -585,9 +590,11 @@
     err = VecDestroy(&s_iter->second.scatterVec);PYLITH_CHECK_ERROR(err);
   } // for
   _scatters.clear();
+
   err = VecDestroy(&_globalVec);PYLITH_CHECK_ERROR(err);
   err = VecDestroy(&_localVec);PYLITH_CHECK_ERROR(err);
 
+  _tmpFields.clear();
   _metadata["default"].scale = 1.0;
   _metadata["default"].vectorFieldType = OTHER;
   _metadata["default"].dimsOkay = false;
@@ -610,13 +617,14 @@
     err = DMGetDefaultSection(_dm, &s);PYLITH_CHECK_ERROR(err);
   } // if
   assert(s);
+  err = PetscSectionSetUp(s);PYLITH_CHECK_ERROR(err);
 
-  err = PetscSectionSetUp(s);PYLITH_CHECK_ERROR(err);
   err = VecDestroy(&_globalVec);PYLITH_CHECK_ERROR(err);
   err = DMCreateGlobalVector(_dm, &_globalVec);PYLITH_CHECK_ERROR(err);
+  err = PetscObjectSetName((PetscObject) _globalVec, _metadata["default"].label.c_str());PYLITH_CHECK_ERROR(err);
+
   err = VecDestroy(&_localVec);PYLITH_CHECK_ERROR(err);
   err = DMCreateLocalVector(_dm, &_localVec);PYLITH_CHECK_ERROR(err);
-  err = PetscObjectSetName((PetscObject) _globalVec, _metadata["default"].label.c_str());PYLITH_CHECK_ERROR(err);
   err = PetscObjectSetName((PetscObject) _localVec,  _metadata["default"].label.c_str());PYLITH_CHECK_ERROR(err);
 
   PYLITH_METHOD_END;



More information about the CIG-COMMITS mailing list