[cig-commits] r22262 - in short/3D/PyLith/trunk/templates: friction materials
brad at geodynamics.org
brad at geodynamics.org
Thu Jun 13 15:07:49 PDT 2013
Author: brad
Date: 2013-06-13 15:07:49 -0700 (Thu, 13 Jun 2013)
New Revision: 22262
Modified:
short/3D/PyLith/trunk/templates/friction/ViscousFriction.cc
short/3D/PyLith/trunk/templates/friction/ViscousFriction.hh
short/3D/PyLith/trunk/templates/friction/ViscousFriction.i
short/3D/PyLith/trunk/templates/friction/configure.ac
short/3D/PyLith/trunk/templates/friction/frictioncontrib.i
short/3D/PyLith/trunk/templates/materials/PlaneStrainState.cc
short/3D/PyLith/trunk/templates/materials/PlaneStrainState.hh
short/3D/PyLith/trunk/templates/materials/PlaneStrainState.i
short/3D/PyLith/trunk/templates/materials/configure.ac
short/3D/PyLith/trunk/templates/materials/materialscontrib.i
Log:
Updated extension templates.
Modified: short/3D/PyLith/trunk/templates/friction/ViscousFriction.cc
===================================================================
--- short/3D/PyLith/trunk/templates/friction/ViscousFriction.cc 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/friction/ViscousFriction.cc 2013-06-13 22:07:49 UTC (rev 22262)
@@ -52,7 +52,7 @@
const int numProperties = 3;
// Friction model parameters.
- const pylith::materials::Metadata::ParamDescription properties[] = {
+ const pylith::materials::Metadata::ParamDescription properties[numProperties] = {
{ "static_coefficient", 1, pylith::topology::FieldBase::SCALAR },
{ "reference_slip_rate", 1, pylith::topology::FieldBase::SCALAR },
{ "cohesion", 1, pylith::topology::FieldBase::SCALAR },
@@ -62,15 +62,16 @@
const int numStateVars = 1;
// State variables.
- const pylith::materials::Metadata::ParamDescription stateVars[] = {
+ const pylith::materials::Metadata::ParamDescription stateVars[numStateVars] = {
{ "slip_rate", 1, pylith::topology::FieldBase::SCALAR },
};
// Values expected in spatial database
const int numDBProperties = 3;
- const char* dbProperties[3] = { "static-coefficient",
- "reference-slip-rate",
- "cohesion",
+ const char* dbProperties[numDBProperties] = {
+ "static-coefficient",
+ "reference-slip-rate",
+ "cohesion",
};
// These are the state variables stored during the
@@ -80,7 +81,8 @@
// slip rate.
const int numDBStateVars = 1;
- const char* dbStateVars[1] = { "slip-rate",
+ const char* dbStateVars[numDBStateVars] = {
+ "slip-rate",
};
} // _ViscousFriction
@@ -130,12 +132,11 @@
// ----------------------------------------------------------------------
// Compute properties from values in spatial database.
void
-contrib::friction::ViscousFriction::_dbToProperties(
- PylithScalar* const propValues,
- const pylith::scalar_array& dbValues) const
+contrib::friction::ViscousFriction::_dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues) const
{ // _dbToProperties
// Check consistency of arguments
- assert(0 != propValues);
+ assert(propValues);
const int numDBValues = dbValues.size();
assert(_ViscousFriction::numDBProperties == numDBValues);
@@ -172,11 +173,11 @@
// Nondimensionalize properties.
void
contrib::friction::ViscousFriction::_nondimProperties(PylithScalar* const values,
- const int nvalues) const
+ const int nvalues) const
{ // _nondimProperties
// Check consistency of arguments.
- assert(0 != _normalizer);
- assert(0 != values);
+ assert(_normalizer);
+ assert(values);
assert(nvalues == _ViscousFriction::numProperties);
// Get scales needed to nondimensional parameters from the
@@ -197,11 +198,11 @@
// Dimensionalize properties.
void
contrib::friction::ViscousFriction::_dimProperties(PylithScalar* const values,
- const int nvalues) const
+ const int nvalues) const
{ // _dimProperties
// Check consistency of arguments.
- assert(0 != _normalizer);
- assert(0 != values);
+ assert(_normalizer);
+ assert(values);
assert(nvalues == _ViscousFriction::numProperties);
// Get scales needed to dimensional parameters from the
@@ -221,12 +222,11 @@
// ----------------------------------------------------------------------
// Compute state variables from values in spatial database.
void
-contrib::friction::ViscousFriction::_dbToStateVars(
- PylithScalar* const stateValues,
- const pylith::scalar_array& dbValues) const
+contrib::friction::ViscousFriction::_dbToStateVars(PylithScalar* const stateValues,
+ const pylith::scalar_array& dbValues) const
{ // _dbToStateVars
// Check consistency of arguments.
- assert(0 != stateValues);
+ assert(stateValues);
const int numDBValues = dbValues.size();
assert(_ViscousFriction::numDBStateVars == numDBValues);
@@ -242,11 +242,11 @@
// Nondimensionalize state variables.
void
contrib::friction::ViscousFriction::_nondimStateVars(PylithScalar* const values,
- const int nvalues) const
+ const int nvalues) const
{ // _nondimStateVars
// Check consistency of arguments.
- assert(0 != _normalizer);
- assert(0 != values);
+ assert(_normalizer);
+ assert(values);
assert(nvalues == _ViscousFriction::numStateVars);
// Get scales needed to nondimensional parameters from the
@@ -265,7 +265,7 @@
// Dimensionalize state variables.
void
contrib::friction::ViscousFriction::_dimStateVars(PylithScalar* const values,
- const int nvalues) const
+ const int nvalues) const
{ // _dimStateVars
// Check consistency of arguments.
assert(_normalizer);
@@ -315,6 +315,39 @@
} // _calcFriction
// ----------------------------------------------------------------------
+// Compute derivative of friction with slip from properties and state variables.
+PylithScalar
+contrib::friction::ViscousFriction::_calcFrictionDeriv(const PylithScalar t,
+ const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars)
+{ // _calcFrictionDeriv
+ // Check consistency of arguments.
+ assert(properties);
+ assert(_ViscousFriction::numProperties == numProperties);
+ assert(numStateVars);
+ assert(_ViscousFriction::numStateVars == numStateVars);
+
+ // Compute friction traction.
+ PylithScalar frictionDeriv = 0.0;
+ if (normalTraction <= 0.0) {
+ // if fault is in compression
+
+ // We want the derivative of friction with respect to
+ // slip. Because the friction model depends on slip rate, we
+ // approximate the derivative with respect to slip by taking the
+ // derivative with respect to slip rate and multiplying by the time step (dt).
+ frictionDeriv = -normalTraction * properties[p_coefS] / (properties[p_v0] * _dt);
+ } // if
+
+ return frictionDeriv;
+} // _calcFrictionDeriv
+
+// ----------------------------------------------------------------------
// Update state variables (for next time step).
void
contrib::friction::ViscousFriction::_updateStateVars(const PylithScalar t,
Modified: short/3D/PyLith/trunk/templates/friction/ViscousFriction.hh
===================================================================
--- short/3D/PyLith/trunk/templates/friction/ViscousFriction.hh 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/friction/ViscousFriction.hh 2013-06-13 22:07:49 UTC (rev 22262)
@@ -44,8 +44,7 @@
} // pylith
// ViscousFriction -------------------------------------------------------
-class contrib::friction::ViscousFriction :
- public pylith::friction::FrictionModel
+class contrib::friction::ViscousFriction : public pylith::friction::FrictionModel
{ // class ViscousFriction
friend class TestViscousFriction; // unit testing
@@ -141,6 +140,29 @@
const PylithScalar* stateVars,
const int numStateVars);
+ /** Compute derivative friction with slip from properties and state
+ * variables.
+ *
+ * @param t Time in simulation.
+ * @param slip Current slip at location.
+ * @param slipRate Current slip rate at location.
+ * @param normalTraction Normal traction at location.
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ *
+ * @returns Derivative of friction (magnitude of shear traction) at vertex.
+ */
+ PylithScalar _calcFrictionDeriv(const PylithScalar t,
+ const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars);
+
// --------------------------------------------------------------------
// Optional function in the PyLith interface for a fault
// constitutive model. Even though this function is optional, for it
Modified: short/3D/PyLith/trunk/templates/friction/ViscousFriction.i
===================================================================
--- short/3D/PyLith/trunk/templates/friction/ViscousFriction.i 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/friction/ViscousFriction.i 2013-06-13 22:07:49 UTC (rev 22262)
@@ -90,6 +90,28 @@
const PylithScalar* stateVars,
const int numStateVars);
+ /** Compute derivative of friction with slip from properties and
+ * state variables.
+ *
+ * @param t Time in simulation.
+ * @param slip Current slip at location.
+ * @param slipRate Current slip rate at location.
+ * @param normalTraction Normal traction at location.
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ *
+ * @returns Derivative of friction (magnitude of shear traction) at vertex.
+ */
+ PylithScalar _calcFrictionDeriv(const PylithScalar t,
+ const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars);
}; // class ViscousFriction
} // friction
Modified: short/3D/PyLith/trunk/templates/friction/configure.ac
===================================================================
--- short/3D/PyLith/trunk/templates/friction/configure.ac 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/friction/configure.ac 2013-06-13 22:07:49 UTC (rev 22262)
@@ -9,7 +9,7 @@
# This code was developed as part of the Computational Infrastructure
# for Geodynamics (http://geodynamics.org).
#
-# Copyright (c) 2010-2011 University of California, Davis
+# Copyright (c) 2010-2013 University of California, Davis
#
# See COPYING for license information.
#
@@ -50,7 +50,7 @@
# PETSC (dictates precision)
AC_LANG(C++)
-CIT_PATH_PETSC([3.3.0])
+CIT_PATH_PETSC([3.4.0])
CIT_HEADER_PETSC
# PYLITH
Modified: short/3D/PyLith/trunk/templates/friction/frictioncontrib.i
===================================================================
--- short/3D/PyLith/trunk/templates/friction/frictioncontrib.i 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/friction/frictioncontrib.i 2013-06-13 22:07:49 UTC (rev 22262)
@@ -25,11 +25,13 @@
%{
#include "pylith/friction/frictionfwd.hh" // forward declarations
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // forward declarations
+#include "spatialdata/units/unitsfwd.hh" // forward declarations
+
#include "ViscousFriction.hh"
#include "pylith/utils/types.hh"
#include "pylith/utils/array.hh"
-#include "pylith/utils/sievetypes.hh"
%}
// Convert standard C++ exceptions to Python exceptions.
Modified: short/3D/PyLith/trunk/templates/materials/PlaneStrainState.cc
===================================================================
--- short/3D/PyLith/trunk/templates/materials/PlaneStrainState.cc 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/materials/PlaneStrainState.cc 2013-06-13 22:07:49 UTC (rev 22262)
@@ -62,7 +62,7 @@
const int numProperties = 3;
// Physical properties.
- const pylith::materials::Metadata::ParamDescription properties[] = {
+ const pylith::materials::Metadata::ParamDescription properties[numProperties] = {
{ "density", 1, pylith::topology::FieldBase::SCALAR },
{ "mu", 1, pylith::topology::FieldBase::SCALAR },
{ "lambda", 1, pylith::topology::FieldBase::SCALAR },
@@ -70,7 +70,7 @@
// Values expected in spatial database
const int numDBProperties = 3;
- const char* dbProperties[] = { "density", "vs", "vp" };
+ const char* dbProperties[numDBProperties] = { "density", "vs", "vp" };
// These are the state variables stored during the
// simulation. Usually, we store only the time-dependent values
@@ -82,7 +82,7 @@
const int numStateVars = 2;
/// State variables.
- const pylith::materials::Metadata::ParamDescription stateVars[] = {
+ const pylith::materials::Metadata::ParamDescription stateVars[numStateVars] = {
{ "total_strain", tensorSize, pylith::topology::FieldBase::TENSOR },
{ "stress", tensorSize, pylith::topology::FieldBase::TENSOR },
};
@@ -146,12 +146,11 @@
// ----------------------------------------------------------------------
// Compute parameters from values in spatial database.
void
-contrib::materials::PlaneStrainState::_dbToProperties(
- PylithScalar* const propValues,
- const pylith::scalar_array& dbValues)
+contrib::materials::PlaneStrainState::_dbToProperties(PylithScalar* const propValues,
+ const pylith::scalar_array& dbValues)
{ // _dbToProperties
// Check consistency of arguments
- assert(0 != propValues);
+ assert(propValues);
const int numDBValues = dbValues.size();
assert(_PlaneStrainState::numDBProperties == numDBValues);
@@ -201,8 +200,8 @@
const int nvalues) const
{ // _nondimProperties
// Check consistency of arguments.
- assert(0 != _normalizer);
- assert(0 != values);
+ assert(_normalizer);
+ assert(values);
assert(nvalues == _PlaneStrainState::numProperties);
// Get scales needed to nondimensional parameters from the
@@ -227,8 +226,8 @@
const int nvalues) const
{ // _dimProperties
// Check consistency of arguments
- assert(0 != _normalizer);
- assert(0 != values);
+ assert(_normalizer);
+ assert(values);
assert(nvalues == _PlaneStrainState::numProperties);
// Get scales needed to dimensional parameters from the
@@ -256,10 +255,10 @@
const int numStateVars)
{ // calcDensity
// Check consistency of arguments.
- assert(0 != density);
- assert(0 != properties);
+ assert(density);
+ assert(properties);
assert(_numPropsQuadPt == numProperties);
- assert(0 != stateVars);
+ assert(stateVars);
assert(_numVarsQuadPt == numStateVars);
// Set density using physical properties (trivial since one our
@@ -285,17 +284,17 @@
const bool computeStateVars)
{ // _calcStress
// Check consistency of arguments.
- assert(0 != stress);
+ assert(stress);
assert(_PlaneStrainState::tensorSize == stressSize);
- assert(0 != properties);
+ assert(properties);
assert(_numPropsQuadPt == numProperties);
- assert(0 != stateVars);
+ assert(stateVars);
assert(_numVarsQuadPt == numStateVars);
- assert(0 != totalStrain);
+ assert(totalStrain);
assert(_PlaneStrainState::tensorSize == strainSize);
- assert(0 != initialStress);
+ assert(initialStress);
assert(_PlaneStrainState::tensorSize == initialStressSize);
- assert(0 != initialStrain);
+ assert(initialStrain);
assert(_PlaneStrainState::tensorSize == initialStrainSize);
// Extract the material properties from the properties array.
@@ -338,17 +337,17 @@
const int initialStrainSize)
{ // calcElasticConsts
// Check consistency of arguments.
- assert(0 != elasticConsts);
+ assert(elasticConsts);
assert(_PlaneStrainState::numElasticConsts == numElasticConsts);
- assert(0 != properties);
+ assert(properties);
assert(_numPropsQuadPt == numProperties);
- assert(0 != stateVars);
+ assert(stateVars);
assert(_numVarsQuadPt == numStateVars);
- assert(0 != totalStrain);
+ assert(totalStrain);
assert(_PlaneStrainState::tensorSize == strainSize);
- assert(0 != initialStress);
+ assert(initialStress);
assert(_PlaneStrainState::tensorSize == initialStressSize);
- assert(0 != initialStrain);
+ assert(initialStrain);
assert(_PlaneStrainState::tensorSize == initialStrainSize);
// Extract the material properties from the properties array.
@@ -373,8 +372,7 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
PylithScalar
-contrib::materials::PlaneStrainState::stableTimeStepImplicit(
- const pylith::topology::Mesh& mesh) {
+contrib::materials::PlaneStrainState::stableTimeStepImplicit(const pylith::topology::Mesh& mesh) {
// Override the ElasticMaterial::stableTimeStepImplicit() function
// (which calls _stableTimeStepImplicit() for each quadrature point
// ) with an optimized calculation of the stable time step. This is
@@ -386,11 +384,10 @@
// ----------------------------------------------------------------------
// Get stable time step for implicit time integration.
PylithScalar
-contrib::materials::PlaneStrainState::_stableTimeStepImplicit(
- const PylithScalar* properties,
- const int numProperties,
- const PylithScalar* stateVars,
- const int numStateVars) const
+contrib::materials::PlaneStrainState::_stableTimeStepImplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars) const
{ // _stableTimeStepImplicit
// Return the stable time step for this material given its current
// state. This function will never be called because we provide the
@@ -402,30 +399,52 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+contrib::materials::PlaneStrainState::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+// ----------------------------------------------------------------------
// Update state variables.
void
-contrib::materials::PlaneStrainState::_updateStateVars(
- PylithScalar* const stateVars,
- const int numStateVars,
- const PylithScalar* properties,
- const int numProperties,
- const PylithScalar* totalStrain,
- const int strainSize,
- const PylithScalar* initialStress,
- const int initialStressSize,
- const PylithScalar* initialStrain,
- const int initialStrainSize)
+contrib::materials::PlaneStrainState::_updateStateVars(PylithScalar* const stateVars,
+ const int numStateVars,
+ const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* totalStrain,
+ const int strainSize,
+ const PylithScalar* initialStress,
+ const int initialStressSize,
+ const PylithScalar* initialStrain,
+ const int initialStrainSize)
{ // _updateStateVars
// Check consistency of arguments.
- assert(0 != stateVars);
+ assert(stateVars);
assert(_numVarsQuadPt == numStateVars);
- assert(0 != properties);
+ assert(properties);
assert(_numPropsQuadPt == numProperties);
- assert(0 != totalStrain);
+ assert(totalStrain);
assert(_PlaneStrainState::tensorSize == strainSize);
- assert(0 != initialStress);
+ assert(initialStress);
assert(_PlaneStrainState::tensorSize == initialStressSize);
- assert(0 != initialStrain);
+ assert(initialStrain);
assert(_PlaneStrainState::tensorSize == initialStrainSize);
// Store the tensor size as a local value.
Modified: short/3D/PyLith/trunk/templates/materials/PlaneStrainState.hh
===================================================================
--- short/3D/PyLith/trunk/templates/materials/PlaneStrainState.hh 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/materials/PlaneStrainState.hh 2013-06-13 22:07:49 UTC (rev 22262)
@@ -49,8 +49,7 @@
} // contrib
// PlaneStrainState -----------------------------------------------------
-class contrib::materials::PlaneStrainState :
- public pylith::materials::ElasticMaterial
+class contrib::materials::PlaneStrainState : public pylith::materials::ElasticMaterial
{ // class PlaneStrainState
friend class TestPlaneStrainState; // unit testing
@@ -199,6 +198,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// --------------------------------------------------------------------
// Optional function in the PyLith interface for a bulk constitutive
// model. Even though this function is optional, for it to be used
Modified: short/3D/PyLith/trunk/templates/materials/PlaneStrainState.i
===================================================================
--- short/3D/PyLith/trunk/templates/materials/PlaneStrainState.i 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/materials/PlaneStrainState.i 2013-06-13 22:07:49 UTC (rev 22262)
@@ -176,6 +176,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PROTECTED METHODS //////////////////////////////////////////////
protected :
Modified: short/3D/PyLith/trunk/templates/materials/configure.ac
===================================================================
--- short/3D/PyLith/trunk/templates/materials/configure.ac 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/materials/configure.ac 2013-06-13 22:07:49 UTC (rev 22262)
@@ -9,7 +9,7 @@
# This code was developed as part of the Computational Infrastructure
# for Geodynamics (http://geodynamics.org).
#
-# Copyright (c) 2010-2011 University of California, Davis
+# Copyright (c) 2010-2013 University of California, Davis
#
# See COPYING for license information.
#
@@ -20,7 +20,7 @@
AC_INIT([materialscontrib], [0.0.1], [cig-short at geodynamics.org])
AC_CONFIG_HEADER([portinfo])
AC_CONFIG_AUX_DIR([./aux-config])
-#AC_CONFIG_MACRO_DIR([./m4])
+AC_CONFIG_MACRO_DIR([./m4])
AM_INIT_AUTOMAKE([foreign])
# ----------------------------------------------------------------------
@@ -50,7 +50,7 @@
# PETSC (dictates precision)
AC_LANG(C++)
-CIT_PATH_PETSC([3.3.0])
+CIT_PATH_PETSC([3.4.0])
CIT_HEADER_PETSC
# PYLITH
Modified: short/3D/PyLith/trunk/templates/materials/materialscontrib.i
===================================================================
--- short/3D/PyLith/trunk/templates/materials/materialscontrib.i 2013-06-13 21:32:25 UTC (rev 22261)
+++ short/3D/PyLith/trunk/templates/materials/materialscontrib.i 2013-06-13 22:07:49 UTC (rev 22262)
@@ -25,11 +25,12 @@
%{
#include "pylith/materials/materialsfwd.hh" // forward declarations
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // forward declarations
+#include "spatialdata/units/unitsfwd.hh" // forward declarations
+
#include "PlaneStrainState.hh"
-#include "pylith/utils/types.hh"
-#include "pylith/utils/array.hh"
-#include "pylith/utils/sievetypes.hh"
+#include "pylith/utils/arrayfwd.hh"
%}
// Convert standard C++ exceptions to Python exceptions.
More information about the CIG-COMMITS
mailing list