[cig-commits] r22350 - short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults

brad at geodynamics.org brad at geodynamics.org
Mon Jun 17 17:06:20 PDT 2013


Author: brad
Date: 2013-06-17 17:06:19 -0700 (Mon, 17 Jun 2013)
New Revision: 22350

Modified:
   short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc
Log:
Added calls to complete() on output buffers with only local values since scatterSectionToVector does not seem to copy local values to output Vec as expected.

Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc	2013-06-17 23:02:02 UTC (rev 22349)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc	2013-06-18 00:06:19 UTC (rev 22350)
@@ -212,6 +212,7 @@
     buffer.copy(dispRel);
     buffer.label("slip");
     FaultCohesiveLagrange::globalToFault(&buffer, orientation);
+    buffer.complete();
     return buffer;
 
   } else if (cohesiveDim > 0 && 0 == strcasecmp("strike_dir", name)) {
@@ -253,7 +254,12 @@
 
   } else if (0 == strcasecmp("impulse_amplitude", name)) {
     topology::Field<topology::SubMesh>& amplitude = _fields->get("impulse amplitude");
-    return amplitude;
+    _allocateBufferScalarField();
+    topology::Field<topology::SubMesh>& buffer = _fields->get("buffer (scalar)");
+    buffer.copy(amplitude);
+    buffer.label("impulse_amplitude");
+    buffer.complete();
+    return buffer;
 
   } else if (0 == strcasecmp("area", name)) {
     topology::Field<topology::SubMesh>& area = _fields->get("area");
@@ -307,6 +313,7 @@
   amplitude.newSection(dispRel, fiberDim);
   amplitude.allocate();
   amplitude.scale(lengthScale);
+  amplitude.vectorFieldType(topology::FieldBase::SCALAR);
 
   PylithScalar amplitudeVertex;
   const ALE::Obj<RealSection>& amplitudeSection = amplitude.section();



More information about the CIG-COMMITS mailing list