[cig-commits] r14681 - in short/3D/PyLith/branches/pylith-swig: libsrc/feassemble libsrc/materials modulesrc/feassemble modulesrc/materials pylith/feassemble tests/1d/line2
brad at geodynamics.org
brad at geodynamics.org
Mon Apr 13 15:51:41 PDT 2009
Author: brad
Date: 2009-04-13 15:51:40 -0700 (Mon, 13 Apr 2009)
New Revision: 14681
Modified:
short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.cc
short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.hh
short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.cc
short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.hh
short/3D/PyLith/branches/pylith-swig/modulesrc/feassemble/IntegratorElasticity.i
short/3D/PyLith/branches/pylith-swig/modulesrc/materials/Material.i
short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityExplicit.py
short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityImplicit.py
short/3D/PyLith/branches/pylith-swig/pylith/feassemble/IntegratorElasticity.py
short/3D/PyLith/branches/pylith-swig/tests/1d/line2/TestAxial.py
short/3D/PyLith/branches/pylith-swig/tests/1d/line2/axialextension.cfg
Log:
Fixed bugs in setting up output for materials.
Modified: short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.cc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.cc 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.cc 2009-04-13 22:51:40 UTC (rev 14681)
@@ -288,16 +288,14 @@
const pylith::topology::Field<pylith::topology::Mesh>&
pylith::feassemble::IntegratorElasticity::cellField(
const char* name,
+ const topology::Mesh& mesh,
topology::SolutionFields* fields)
{ // cellField
- assert(0 != fields);
assert(0 != _material);
// We assume the material stores the total-strain field if
// hasStateVars() is TRUE.
- const topology::Mesh& mesh = fields->mesh();
-
if (!_material->hasStateVars() &&
(0 == strcasecmp(name, "total_strain") ||
0 == strcasecmp(name, "stress") )) {
@@ -308,13 +306,13 @@
} else if (0 == strcasecmp(name, "stress")) {
assert(0 != fields);
_allocateTensorField(mesh);
- _material->propertyField(_bufferFieldTensor, "total_strain");
+ _material->getField(_bufferFieldTensor, "total_strain");
_calcStressFromStrain(_bufferFieldTensor);
return *_bufferFieldTensor;
} else {
if (0 == _bufferFieldOther)
_bufferFieldOther = new topology::Field<topology::Mesh>(mesh);
- _material->stateVarField(_bufferFieldOther, name);
+ _material->getField(_bufferFieldOther, name);
return *_bufferFieldOther;
} // if/else
Modified: short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.hh 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/feassemble/IntegratorElasticity.hh 2009-04-13 22:51:40 UTC (rev 14681)
@@ -98,15 +98,15 @@
/** Get cell field associated with integrator.
*
- * @param fieldType Type of field.
* @param name Name of vertex field.
- * @param mesh PETSc mesh for problem.
+ * @param mesh Finite-element mesh for problem.
* @param fields Fields manager.
* @returns Cell field.
*/
const topology::Field<topology::Mesh>&
cellField(const char* name,
- topology::SolutionFields* const fields);
+ const topology::Mesh& mesh,
+ topology::SolutionFields* const fields =0);
// PROTECTED METHODS ////////////////////////////////////////////////////
protected :
Modified: short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.cc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.cc 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.cc 2009-04-13 22:51:40 UTC (rev 14681)
@@ -238,34 +238,18 @@
} // initialize
// ----------------------------------------------------------------------
-// Get physical property field.
+// Get physical property or state variable field.
void
-pylith::materials::Material::propertyField(topology::Field<topology::Mesh>* field,
- const char* name) const
-{ // propertyField
+pylith::materials::Material::getField(topology::Field<topology::Mesh>* field,
+ const char* name) const
+{ // getField
assert(0 != field);
+ assert(0 != _properties);
+ assert(0 != _stateVars);
- // Find property in list of physical properties.
- int i=0;
- int propOffset = 0;
- const string_vector& properties = _metadata.properties();
- const int numProperties = properties.size();
- const std::string nameString = std::string(name);
- bool found = false;
- for (int i=0; i < numProperties; ++i)
- if (nameString == properties[i]) {
- found = true;
- break;
- } else
- propOffset +=
- _metadata.fiberDim(properties[i].c_str(), Metadata::PROPERTY);
- if (!found) {
- std::ostringstream msg;
- msg << "Unknown physical property '" << name << "' for material '"
- << _label << "'.";
- throw std::runtime_error(msg.str());
- } // else
- const int fiberDim = _metadata.fiberDim(name, Metadata::PROPERTY);
+ int propertyIndex = -1;
+ int stateVarIndex = -1;
+ _findField(&propertyIndex, &stateVarIndex, name);
// Get cell information
const ALE::Obj<SieveMesh>& sieveMesh = field->mesh().sieveMesh();
@@ -275,125 +259,154 @@
assert(!cells.isNull());
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
- // Get properties section
- const ALE::Obj<RealSection>& propertiesSection = _properties->section();
- assert(!propertiesSection.isNull());
- const int totalPropsFiberDim =
- propertiesSection->getFiberDimension(*cells->begin());
- const int numPropsQuadPt = _numPropsQuadPt;
- const int numQuadPts = totalPropsFiberDim / numPropsQuadPt;
- assert(totalPropsFiberDim == numQuadPts * numPropsQuadPt);
- const int totalFiberDim = numQuadPts * fiberDim;
+ if (propertyIndex >= 0) { // If field is a property
+ int propOffset = 0;
+ const string_vector& properties = _metadata.properties();
+ assert(propertyIndex < properties.size());
+ for (int i=0; i < propertyIndex; ++i)
+ propOffset +=
+ _metadata.fiberDim(properties[i].c_str(), Metadata::PROPERTY);
+ const int fiberDim = _metadata.fiberDim(name, Metadata::PROPERTY);
- // Allocate buffer for property field.
- const ALE::Obj<RealSection>& fieldSection = field->section();
- if (totalFiberDim != fieldSection->getFiberDimension(*cells->begin())) {
- field->newSection(cells, totalFiberDim);
- field->allocate();
+ // :TODO: Get scale information
+
+ // Get properties section
+ const ALE::Obj<RealSection>& propertiesSection = _properties->section();
+ assert(!propertiesSection.isNull());
+ const int totalPropsFiberDim =
+ propertiesSection->getFiberDimension(*cells->begin());
+ const int numPropsQuadPt = _numPropsQuadPt;
+ const int numQuadPts = totalPropsFiberDim / numPropsQuadPt;
+ assert(totalPropsFiberDim == numQuadPts * numPropsQuadPt);
+ const int totalFiberDim = numQuadPts * fiberDim;
+
+ // Allocate buffer for property field.
+ const ALE::Obj<RealSection>& fieldSection = field->section();
+ if (fieldSection.isNull() ||
+ totalFiberDim != fieldSection->getFiberDimension(*cells->begin())) {
+ field->newSection(cells, totalFiberDim);
+ field->allocate();
+ } // if
+ assert(!fieldSection.isNull());
field->vectorFieldType(_metadata.fieldType(name, Metadata::PROPERTY));
- } // if
+ field->label(name);
- // Buffer for property at cell's quadrature points
- double_array fieldCell(numQuadPts*fiberDim);
- double_array propertiesCell(numQuadPts*numPropsQuadPt);
+ // Buffer for property at cell's quadrature points
+ double_array fieldCell(numQuadPts*fiberDim);
+ double_array propertiesCell(numQuadPts*numPropsQuadPt);
- // Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
- c_iter != cellsEnd;
- ++c_iter) {
- propertiesSection->restrictPoint(*c_iter,
- &propertiesCell[0], propertiesCell.size());
+ // Loop over cells
+ for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ c_iter != cellsEnd;
+ ++c_iter) {
+ propertiesSection->restrictPoint(*c_iter,
+ &propertiesCell[0], propertiesCell.size());
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- _dimProperties(&propertiesCell[iQuad*numPropsQuadPt],
- numPropsQuadPt);
- memcpy(&fieldCell[iQuad*fiberDim],
- &propertiesCell[iQuad*numPropsQuadPt+propOffset],
- fiberDim*sizeof(double));
+ for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
+ _dimProperties(&propertiesCell[iQuad*numPropsQuadPt],
+ numPropsQuadPt);
+ memcpy(&fieldCell[iQuad*fiberDim],
+ &propertiesCell[iQuad*numPropsQuadPt+propOffset],
+ fiberDim*sizeof(double));
+ } // for
+
+ fieldSection->updatePoint(*c_iter, &fieldCell[0]);
} // for
+ } else { // field is a state variable
+ assert(stateVarIndex >= 0);
- fieldSection->updatePoint(*c_iter, &fieldCell[0]);
- } // for
-} // propertyField
+ int varOffset = 0;
+ const string_vector& stateVars = _metadata.stateVars();
+ assert(stateVarIndex < stateVars.size());
+ for (int i=0; i < stateVarIndex; ++i)
+ varOffset +=
+ _metadata.fiberDim(stateVars[i].c_str(), Metadata::STATEVAR);
+ const int fiberDim = _metadata.fiberDim(name, Metadata::STATEVAR);
+
+ // :TODO: Get scale information
+
+ // Get state variables section
+ const ALE::Obj<RealSection>& stateVarsSection = _stateVars->section();
+ assert(!stateVarsSection.isNull());
+ const int totalVarsFiberDim =
+ stateVarsSection->getFiberDimension(*cells->begin());
+ const int numVarsQuadPt = _numVarsQuadPt;
+ const int numQuadPts = totalVarsFiberDim / numVarsQuadPt;
+ assert(totalVarsFiberDim == numQuadPts * numVarsQuadPt);
+ const int totalFiberDim = numQuadPts * fiberDim;
+
+ // Allocate buffer for state variable field.
+ const ALE::Obj<RealSection>& fieldSection = field->section();
+ if (fieldSection.isNull() ||
+ totalFiberDim != fieldSection->getFiberDimension(*cells->begin())) {
+ field->newSection(cells, totalFiberDim);
+ field->allocate();
+ } // if
+ assert(!fieldSection.isNull());
+ field->vectorFieldType(_metadata.fieldType(name, Metadata::STATEVAR));
+ field->label(name);
+ // Buffer for state variable at cell's quadrature points
+ double_array fieldCell(numQuadPts*fiberDim);
+ double_array stateVarsCell(numQuadPts*numVarsQuadPt);
+
+ // Loop over cells
+ for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ c_iter != cellsEnd;
+ ++c_iter) {
+ stateVarsSection->restrictPoint(*c_iter,
+ &stateVarsCell[0], stateVarsCell.size());
+
+ for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
+ _dimStateVars(&stateVarsCell[iQuad*numVarsQuadPt],
+ numVarsQuadPt);
+ memcpy(&fieldCell[iQuad*fiberDim],
+ &stateVarsCell[iQuad*numVarsQuadPt+varOffset],
+ fiberDim*sizeof(double));
+ } // for
+
+ fieldSection->updatePoint(*c_iter, &fieldCell[0]);
+ } // for
+ } // if/else
+} // getField
+
// ----------------------------------------------------------------------
-// Get state variable field.
+// Get indices for physical property or state variable field.
void
-pylith::materials::Material::stateVarField(topology::Field<topology::Mesh>* field,
- const char* name) const
-{ // stateVarField
- assert(0 != field);
+pylith::materials::Material::_findField(int* propertyIndex,
+ int* stateVarIndex,
+ const char* name) const
+{ // _findField
+ assert(0 != propertyIndex);
+ assert(0 != stateVarIndex);
- // Find state variable in list of state variables.
- int i=0;
- int varOffset = 0;
+ *propertyIndex = -1;
+ *stateVarIndex = -1;
+
+ const std::string nameString = name;
+ const string_vector& properties = _metadata.properties();
+ const int numProperties = properties.size();
+ for (int i=0; i < numProperties; ++i)
+ if (nameString == properties[i]) {
+ *propertyIndex = i;
+ return;
+ } // if
+
const string_vector& stateVars = _metadata.stateVars();
const int numStateVars = stateVars.size();
- const std::string nameString = std::string(name);
- bool found = false;
for (int i=0; i < numStateVars; ++i)
if (nameString == stateVars[i]) {
- found = true;
- break;
- } else
- varOffset +=
- _metadata.fiberDim(stateVars[i].c_str(), Metadata::STATEVAR);
- if (!found) {
+ *stateVarIndex = i;
+ return;
+ } // if
+
+ if (propertyIndex < 0 && stateVarIndex < 0) {
std::ostringstream msg;
- msg << "Unknown state variable '" << name << "' for material '"
- << _label << "'.";
+ msg << "Unknown physical property or state variable '" << name
+ << "' for material '" << _label << "'.";
throw std::runtime_error(msg.str());
} // else
- const int fiberDim = _metadata.fiberDim(name, Metadata::STATEVAR);
-
- // Get cell information
- const ALE::Obj<SieveMesh>& sieveMesh = field->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& cells =
- sieveMesh->getLabelStratum("material-id", _id);
- assert(!cells.isNull());
- const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
+} // _findField
- // Get state variables section
- const ALE::Obj<RealSection>& stateVarsSection = _stateVars->section();
- assert(!stateVarsSection.isNull());
- const int totalVarsFiberDim =
- stateVarsSection->getFiberDimension(*cells->begin());
- const int numVarsQuadPt = _numVarsQuadPt;
- const int numQuadPts = totalVarsFiberDim / numVarsQuadPt;
- assert(totalVarsFiberDim == numQuadPts * numVarsQuadPt);
- const int totalFiberDim = numQuadPts * fiberDim;
- // Allocate buffer for state variable field.
- const ALE::Obj<RealSection>& fieldSection = field->section();
- if (totalFiberDim != fieldSection->getFiberDimension(*cells->begin())) {
- field->newSection(cells, totalFiberDim);
- field->allocate();
- field->vectorFieldType(_metadata.fieldType(name, Metadata::STATEVAR));
- } // if
-
- // Buffer for state variable at cell's quadrature points
- double_array fieldCell(numQuadPts*fiberDim);
- double_array stateVarsCell(numQuadPts*numVarsQuadPt);
-
- // Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
- c_iter != cellsEnd;
- ++c_iter) {
- stateVarsSection->restrictPoint(*c_iter,
- &stateVarsCell[0], stateVarsCell.size());
-
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- _dimStateVars(&stateVarsCell[iQuad*numVarsQuadPt],
- numVarsQuadPt);
- memcpy(&fieldCell[iQuad*fiberDim],
- &stateVarsCell[iQuad*numVarsQuadPt+varOffset],
- fiberDim*sizeof(double));
- } // for
-
- fieldSection->updatePoint(*c_iter, &fieldCell[0]);
- } // for
-} // stateVarsField
-
-
// End of file
Modified: short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.hh 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/materials/Material.hh 2009-04-13 22:51:40 UTC (rev 14681)
@@ -147,23 +147,15 @@
/// current state.
void resetNeedNewJacobian(void);
- /** Get physical property field. Data is returned via the
- * argument.
+ /** Get physical property or state variable field. Data is returned
+ * via the argument.
*
- * @param field Property field.
- * @param name Name of physical property.
+ * @param field Field over material cells.
+ * @param name Name of field to retrieve.
*/
- void propertyField(topology::Field<topology::Mesh>* field,
- const char* name) const;
+ void getField(topology::Field<topology::Mesh>* field,
+ const char* name) const;
- /** Get state variable field. Data is returned via the argument.
- *
- * @param field State variable field.
- * @param name Name of physical property.
- */
- void stateVarField(topology::Field<topology::Mesh>* field,
- const char* name) const;
-
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
@@ -242,6 +234,21 @@
const int _tensorSize; ///< Tensor size for material.
bool _needNewJacobian; ///< True if need to reform Jacobian, false otherwise.
+ // PRIVATE METHODS ////////////////////////////////////////////////////
+private :
+
+ /** Get indices for physical property or state variable field. Index
+ * of physical property or state variable is set, unknown values are
+ * -1.
+ *
+ * @param propertyIndex Index of field in properties array.
+ * @param stateVarIndex Index of field in state variables array.
+ * @param name Name of field.
+ */
+ void _findField(int* propertyIndex,
+ int* stateVarIndex,
+ const char* name) const;
+
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/pylith-swig/modulesrc/feassemble/IntegratorElasticity.i
===================================================================
--- short/3D/PyLith/branches/pylith-swig/modulesrc/feassemble/IntegratorElasticity.i 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/modulesrc/feassemble/IntegratorElasticity.i 2009-04-13 22:51:40 UTC (rev 14681)
@@ -73,6 +73,18 @@
*/
void verifyConfiguration(const pylith::topology::Mesh& mesh) const;
+ /** Get cell field associated with integrator.
+ *
+ * @param name Name of vertex field.
+ * @param mesh Finite-element mesh for problem.
+ * @param fields Fields manager.
+ * @returns Cell field.
+ */
+ const pylith::topology::Field<pylith::topology::Mesh>&
+ cellField(const char* name,
+ const pylith::topology::Mesh& mesh,
+ pylith::topology::SolutionFields* const fields =0);
+
}; // IntegratorElasticity
} // feassemble
Modified: short/3D/PyLith/branches/pylith-swig/modulesrc/materials/Material.i
===================================================================
--- short/3D/PyLith/branches/pylith-swig/modulesrc/materials/Material.i 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/modulesrc/materials/Material.i 2009-04-13 22:51:40 UTC (rev 14681)
@@ -116,6 +116,15 @@
/// current state.
void resetNeedNewJacobian(void);
+ /** Get physical property or state variable field. Data is returned
+ * via the argument.
+ *
+ * @param field Field over material cells.
+ * @param name Name of field to retrieve.
+ */
+ void getField(pylith::topology::Field<pylith::topology::Mesh>* field,
+ const char* name) const;
+
// PROTECTED METHODS //////////////////////////////////////////////
protected :
Modified: short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityExplicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityExplicit.py 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityExplicit.py 2009-04-13 22:51:40 UTC (rev 14681)
@@ -48,6 +48,7 @@
IntegratorElasticity.initialize(self, totalTime, numTimeSteps, normalizer)
ModuleElasticityExplicit.initialize(self, self.mesh)
+ self._initializeOutput(totalTime, numTimeSteps, normalizer)
self._logger.eventEnd(logEvent)
return
Modified: short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityImplicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityImplicit.py 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/pylith/feassemble/ElasticityImplicit.py 2009-04-13 22:51:40 UTC (rev 14681)
@@ -48,6 +48,7 @@
IntegratorElasticity.initialize(self, totalTime, numTimeSteps, normalizer)
ModuleElasticityImplicit.initialize(self, self.mesh)
+ self._initializeOutput(totalTime, numTimeSteps, normalizer)
self._logger.eventEnd(logEvent)
return
Modified: short/3D/PyLith/branches/pylith-swig/pylith/feassemble/IntegratorElasticity.py
===================================================================
--- short/3D/PyLith/branches/pylith-swig/pylith/feassemble/IntegratorElasticity.py 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/pylith/feassemble/IntegratorElasticity.py 2009-04-13 22:51:40 UTC (rev 14681)
@@ -85,13 +85,8 @@
self._info.log("Initializing integrator for material '%s'." % \
self.materialObj.label)
-
Integrator.initialize(self, totalTime, numTimeSteps, normalizer)
- self.output.initialize(normalizer, self.materialObj.quadrature)
- #self.output.writeInfo()
- self.output.open(totalTime, numTimeSteps)
-
self._logger.eventEnd(logEvent)
return
@@ -106,7 +101,7 @@
Integrator.poststep(self, t, dt, totalTime, fields)
self._info.log("Writing material data.")
- #self.output.writeData(t+dt, fields)
+ self.output.writeData(t+dt, fields)
self._logger.eventEnd(logEvent)
return
@@ -124,10 +119,20 @@
Get cell field.
"""
if None == fields:
- field = self.cellField(name)
+ field = self.cellField(name, self.mesh)
else:
- field = self.cellField(name, fields)
+ field = self.cellField(name, self.mesh, fields)
return field
+ def _initializeOutput(self, totalTime, numTimeSteps, normalizer):
+ """
+ Initialize output.
+ """
+ self.output.initialize(normalizer, self.materialObj.quadrature)
+ self.output.writeInfo()
+ self.output.open(totalTime, numTimeSteps)
+ return
+
+
# End of file
Modified: short/3D/PyLith/branches/pylith-swig/tests/1d/line2/TestAxial.py
===================================================================
--- short/3D/PyLith/branches/pylith-swig/tests/1d/line2/TestAxial.py 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/tests/1d/line2/TestAxial.py 2009-04-13 22:51:40 UTC (rev 14681)
@@ -75,7 +75,7 @@
# Check vertices
nverticesE = 5
- spaceDimE = 2
+ spaceDimE = 3
(nvertices, spaceDim) = data['vertices'].shape
self.assertEqual(nverticesE, nvertices)
self.assertEqual(spaceDimE, spaceDim)
Modified: short/3D/PyLith/branches/pylith-swig/tests/1d/line2/axialextension.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-swig/tests/1d/line2/axialextension.cfg 2009-04-13 22:44:24 UTC (rev 14680)
+++ short/3D/PyLith/branches/pylith-swig/tests/1d/line2/axialextension.cfg 2009-04-13 22:51:40 UTC (rev 14681)
@@ -68,7 +68,7 @@
#ksp_monitor = true
#ksp_view = true
#log_summary = true
-# start_in_debugger = true
+#start_in_debugger = true
# ----------------------------------------------------------------------
# output
@@ -77,5 +77,5 @@
filename = axialextension.vtk
[axialextension.timedependent.materials.elastic.output]
-#cell_filter = pylith.meshio.CellFilterAvg
+cell_filter = pylith.meshio.CellFilterAvgMesh
writer.filename = axialextension-statevars-elastic.vtk
More information about the CIG-COMMITS
mailing list