[cig-commits] r15081 - short/3D/PyLith/trunk/unittests/libtests/materials/data

willic3 at geodynamics.org willic3 at geodynamics.org
Thu May 28 19:26:30 PDT 2009


Author: willic3
Date: 2009-05-28 19:26:30 -0700 (Thu, 28 May 2009)
New Revision: 15081

Added:
   short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py
   short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
   short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
Modified:
   short/3D/PyLith/trunk/unittests/libtests/materials/data/generate.sh
Log:
Created data for Power Law 3D elastic tests.



Added: short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py	2009-05-29 02:26:30 UTC (rev 15081)
@@ -0,0 +1,240 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/materials/data/PowerLaw3DElastic.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ PowerLaw3D object with elastic behavior.
+
+from ElasticMaterialApp import ElasticMaterialApp
+
+import numpy
+
+# ----------------------------------------------------------------------
+dimension = 3
+numElasticConsts = 21
+tensorSize = 6
+
+# PowerLaw3DElastic class
+class PowerLaw3DElastic(ElasticMaterialApp):
+  """
+  Python application for generating C++ data files for testing C++
+  PowerLaw3D object with elastic behavior.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="powerlaw3delastic"):
+    """
+    Constructor.
+    """
+    ElasticMaterialApp.__init__(self, name)
+
+    numLocs = 2
+
+    self.dimension = dimension
+    self.numLocs = numLocs
+
+    self.dbPropertyValues = ["density", "vs", "vp",
+                             "viscosity_coeff", "power_law_exponent"]
+    self.numPropertyValues = numpy.array([1, 1, 1, 1, 1], dtype=numpy.int32)
+
+    self.dbStateVarValues = ["viscous-strain-xx",
+                             "viscous-strain-yy",
+                             "viscous-strain-zz",
+                             "viscous-strain-xy",
+                             "viscous-strain-yz",
+                             "viscous-strain-xz",
+                             "stress-xx",
+                             "stress-yy",
+                             "stress-zz",
+                             "stress-xy",
+                             "stress-yz",
+                             "stress-xz",
+                             ]
+    self.numStateVarValues = numpy.array([6, 6], dtype=numpy.int32)
+
+    densityA = 2500.0
+    vsA = 3000.0
+    vpA = vsA*3**0.5
+    viscosityCoeffA = 1.0e18
+    powerLawExponentA = 1.0
+    strainA = [1.1e-4, 1.2e-4, 1.3e-4, 1.4e-4, 1.5e-4, 1.6e-4]
+    initialStressA = [2.1e4, 2.2e4, 2.3e4, 2.4e4, 2.5e4, 2.6e4]
+    initialStrainA = [3.1e-4, 3.2e-4, 3.3e-4, 3.4e-4, 3.5e-4, 3.6e-4]
+    muA = vsA*vsA*densityA
+    lambdaA = vpA*vpA*densityA - 2.0*muA
+    
+    densityB = 2000.0
+    vsB = 1200.0
+    vpB = vsB*3**0.5
+    viscosityCoeffB = 1.2e16
+    powerLawExponentB = 3.0
+    strainB = [4.1e-4, 4.2e-4, 4.3e-4, 4.4e-4, 4.5e-4, 4.6e-4]
+    initialStressB = [5.1e4, 5.2e4, 5.3e4, 5.4e4, 5.5e4, 5.6e4]
+    initialStrainB = [6.1e-4, 6.2e-4, 6.3e-4, 6.4e-4, 6.5e-4, 6.6e-4]
+    muB = vsB*vsB*densityB
+    lambdaB = vpB*vpB*densityB - 2.0*muB
+
+    self.lengthScale = 1.0e+3
+    self.pressureScale = muA
+    self.timeScale = 1.0
+    self.densityScale = 1.0e+3
+    self.viscosityCoeffScaleA = \
+                  (self.pressureScale**(1.0/powerLawExponentA))/self.timeScale
+    self.viscosityCoeffScaleB = \
+                  (self.pressureScale**(1.0/powerLawExponentB))/self.timeScale
+
+    self.dbProperties = numpy.array([ [densityA, vsA, vpA, \
+                                       viscosityCoeffA, powerLawExponentA],
+                                      [densityB, vsB, vpB, \
+                                       viscosityCoeffB, powerLawExponentB] ], 
+                                    dtype=numpy.float64)
+    self.properties = numpy.array([ [densityA, muA, lambdaA, \
+                                     viscosityCoeffA, powerLawExponentA],
+                                    [densityB, muB, lambdaB, \
+                                     viscosityCoeffB, powerLawExponentB] ],
+                                     dtype=numpy.float64)
+
+    # TEMPORARY, need to determine how to use initial state variables
+    self.dbStateVars = numpy.zeros( (numLocs, tensorSize+tensorSize),
+                                    dtype=numpy.float64)
+    self.stateVars = numpy.zeros( (numLocs, tensorSize+tensorSize),
+                                  dtype=numpy.float64)
+
+    mu0 = self.pressureScale
+    density0 = self.densityScale
+    time0 = self.timeScale
+    viscosityCoeff0 = self.viscosityCoeffScaleA
+    viscosityCoeff1 = self.viscosityCoeffScaleB
+    self.propertiesNondim = \
+        numpy.array([ [densityA/density0, muA/mu0, lambdaA/mu0, \
+                       viscosityCoeffA/viscosityCoeff0, powerLawExponentA],
+                      [densityB/density0, muB/mu0, lambdaB/mu0, \
+                       viscosityCoeffB/viscosityCoeff1, powerLawExponentB] ],
+                    dtype=numpy.float64)
+
+    self.stateVarsNondim = self.stateVars # no scaling
+
+    self.initialStress = numpy.array([initialStressA,
+                                      initialStressB],
+                                    dtype=numpy.float64)
+    self.initialStrain = numpy.array([initialStrainA,
+                                      initialStrainB],
+                                    dtype=numpy.float64)
+    
+    self.density = numpy.array([densityA,
+                                densityB],
+                               dtype=numpy.float64)
+
+    self.strain = numpy.array([strainA,
+                               strainB],
+                               dtype=numpy.float64)
+    
+    self.stress = numpy.zeros( (numLocs, tensorSize), dtype=numpy.float64)
+    self.elasticConsts = numpy.zeros( (self.numLocs, numElasticConsts), \
+                                        dtype=numpy.float64)
+
+    (self.elasticConsts[0,:], self.stress[0,:]) = \
+        self._calcStress(strainA, muA, lambdaA, \
+                           initialStressA, initialStrainA)
+    (self.elasticConsts[1,:], self.stress[1,:]) = \
+        self._calcStress(strainB, muB, lambdaB, \
+                           initialStressB, initialStrainB)
+    maxwellTimeA = self._getMaxwellTime(muA, viscosityCoeffA, \
+                                        powerLawExponentA, self.stress[0,:])
+    maxwellTimeB = self._getMaxwellTime(muB, viscosityCoeffB, \
+                                        powerLawExponentB, self.stress[1,:])
+    self.dtStableImplicit = 0.1*min(maxwellTimeA, maxwellTimeB)
+    return
+
+
+  def _getMaxwellTime(self, mu, viscosityCoeff, powerLawExponent, stress):
+    """
+    Compute Maxwell time from stress, viscosity coefficient, shear modulus, and
+    power-law exponent.
+    """
+    meanStress = (stress[0] + stress[1] + stress[2])/3.0
+    devStress = stress
+    devStress[0] = stress[0] - meanStress
+    devStress[1] = stress[1] - meanStress
+    devStress[2] = stress[2] - meanStress
+
+    devStressProd = \
+                  stress[0] * stress[0] + \
+                  stress[1] * stress[1] + \
+                  stress[2] * stress[2] + \
+                  2.0 * (stress[3] * stress[3] + \
+                         stress[4] * stress[4] + \
+                         stress[5] * stress[5])
+    effStress = (0.5 * devStressProd)**0.5
+    maxwellTime = 1.0
+    if (effStress != 0.0):
+      maxwellTime = (viscosityCoeff/effStress)**(powerLawExponent - 1.0) * \
+                    (viscosityCoeff/mu)
+
+    return maxwellTime
+
+  def _calcStress(self, strainV, muV, lambdaV, initialStressV, initialStrainV):
+    """
+    Compute stress and derivative of elasticity matrix.
+    """
+    C1111 = lambdaV + 2.0*muV
+    C1122 = lambdaV
+    C1133 = lambdaV
+    C1112 = 0.0
+    C1123 = 0.0
+    C1113 = 0.0
+    C2222 = lambdaV + 2.0*muV
+    C2233 = lambdaV
+    C2212 = 0.0
+    C2223 = 0.0
+    C2213 = 0.0
+    C3333 = lambdaV + 2.0*muV
+    C3312 = 0.0
+    C3323 = 0.0
+    C3313 = 0.0
+    C1212 = 2.0*muV
+    C1223 = 0.0
+    C1213 = 0.0
+    C2323 = 2.0*muV
+    C2313 = 0.0
+    C1313 = 2.0*muV
+    elasticConsts = numpy.array([C1111, C1122, C1133, C1112, C1123, C1113,
+                                 C2222, C2233, C2212, C2223, C2213,
+                                 C3333, C3312, C3323, C3313,
+                                 C1212, C1223, C1213,
+                                 C2323, C2313,
+                                 C1313], dtype=numpy.float64)
+
+    strain = numpy.reshape(strainV, (6,1))
+    initialStress = numpy.reshape(initialStressV, (tensorSize,1))
+    initialStrain = numpy.reshape(initialStrainV, (tensorSize,1))
+    elastic = numpy.array([ [C1111, C1122, C1133, C1112, C1123, C1113],
+                            [C1122, C2222, C2233, C2212, C2223, C2213],
+                            [C1133, C2233, C3333, C3312, C3323, C3313],
+                            [C1112, C2212, C3312, C1212, C1223, C1213],
+                            [C1123, C2223, C3323, C1223, C2323, C2313],
+                            [C1113, C2213, C3313, C1213, C2313, C1313] ],
+                          dtype=numpy.float64)
+    stress = numpy.dot(elastic, strain-initialStrain) + initialStress
+    return (elasticConsts, numpy.ravel(stress))
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = PowerLaw3DElastic()
+  app.run()
+
+
+# End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc	2009-05-29 02:26:30 UTC (rev 15081)
@@ -0,0 +1,350 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application powerlaw3delastic.
+
+#include "PowerLaw3DElasticData.hh"
+
+const int pylith::materials::PowerLaw3DElasticData::_dimension = 3;
+
+const int pylith::materials::PowerLaw3DElasticData::_numLocs = 2;
+
+const int pylith::materials::PowerLaw3DElasticData::_numProperties = 5;
+
+const int pylith::materials::PowerLaw3DElasticData::_numStateVars = 2;
+
+const int pylith::materials::PowerLaw3DElasticData::_numDBProperties = 5;
+
+const int pylith::materials::PowerLaw3DElasticData::_numDBStateVars = 12;
+
+const int pylith::materials::PowerLaw3DElasticData::_numPropsQuadPt = 5;
+
+const int pylith::materials::PowerLaw3DElasticData::_numVarsQuadPt = 12;
+
+const double pylith::materials::PowerLaw3DElasticData::_lengthScale =   1.00000000e+03;
+
+const double pylith::materials::PowerLaw3DElasticData::_timeScale =   1.00000000e+00;
+
+const double pylith::materials::PowerLaw3DElasticData::_pressureScale =   2.25000000e+10;
+
+const double pylith::materials::PowerLaw3DElasticData::_densityScale =   1.00000000e+03;
+
+const double pylith::materials::PowerLaw3DElasticData::_dtStableImplicit =   4.44444444e+06;
+
+const int pylith::materials::PowerLaw3DElasticData::_numPropertyValues[] = {
+1,
+1,
+1,
+1,
+1,
+};
+
+const int pylith::materials::PowerLaw3DElasticData::_numStateVarValues[] = {
+6,
+6,
+};
+
+const char* pylith::materials::PowerLaw3DElasticData::_dbPropertyValues[] = {
+"density",
+"vs",
+"vp",
+"viscosity_coeff",
+"power_law_exponent",
+};
+
+const char* pylith::materials::PowerLaw3DElasticData::_dbStateVarValues[] = {
+"viscous-strain-xx",
+"viscous-strain-yy",
+"viscous-strain-zz",
+"viscous-strain-xy",
+"viscous-strain-yz",
+"viscous-strain-xz",
+"stress-xx",
+"stress-yy",
+"stress-zz",
+"stress-xy",
+"stress-yz",
+"stress-xz",
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_dbProperties[] = {
+  2.50000000e+03,
+  3.00000000e+03,
+  5.19615242e+03,
+  1.00000000e+18,
+  1.00000000e+00,
+  2.00000000e+03,
+  1.20000000e+03,
+  2.07846097e+03,
+  1.20000000e+16,
+  3.00000000e+00,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_dbStateVars[] = {
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_properties[] = {
+  2.50000000e+03,
+  2.25000000e+10,
+  2.25000000e+10,
+  1.00000000e+18,
+  1.00000000e+00,
+  2.00000000e+03,
+  2.88000000e+09,
+  2.88000000e+09,
+  1.20000000e+16,
+  3.00000000e+00,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_stateVars[] = {
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_propertiesNondim[] = {
+  2.50000000e+00,
+  1.00000000e+00,
+  1.00000000e+00,
+  4.44444444e+07,
+  1.00000000e+00,
+  2.00000000e+00,
+  1.28000000e-01,
+  1.28000000e-01,
+  4.25063428e+12,
+  3.00000000e+00,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_stateVarsNondim[] = {
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_density[] = {
+  2.50000000e+03,
+  2.00000000e+03,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_strain[] = {
+  1.10000000e-04,
+  1.20000000e-04,
+  1.30000000e-04,
+  1.40000000e-04,
+  1.50000000e-04,
+  1.60000000e-04,
+  4.10000000e-04,
+  4.20000000e-04,
+  4.30000000e-04,
+  4.40000000e-04,
+  4.50000000e-04,
+  4.60000000e-04,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_stress[] = {
+ -1.00000000e+03,
+  0.00000000e+00,
+  1.00000000e+03,
+ -8.97600000e+06,
+ -8.97500000e+06,
+ -8.97400000e+06,
+ -1.00000000e+03,
+  0.00000000e+00,
+  1.00000000e+03,
+ -1.09800000e+06,
+ -1.09700000e+06,
+ -1.09600000e+06,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_elasticConsts[] = {
+  6.75000000e+10,
+  2.25000000e+10,
+  2.25000000e+10,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  6.75000000e+10,
+  2.25000000e+10,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  6.75000000e+10,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  4.50000000e+10,
+  0.00000000e+00,
+  0.00000000e+00,
+  4.50000000e+10,
+  0.00000000e+00,
+  4.50000000e+10,
+  8.64000000e+09,
+  2.88000000e+09,
+  2.88000000e+09,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  8.64000000e+09,
+  2.88000000e+09,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  8.64000000e+09,
+  0.00000000e+00,
+  0.00000000e+00,
+  0.00000000e+00,
+  5.76000000e+09,
+  0.00000000e+00,
+  0.00000000e+00,
+  5.76000000e+09,
+  0.00000000e+00,
+  5.76000000e+09,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_initialStress[] = {
+  2.10000000e+04,
+  2.20000000e+04,
+  2.30000000e+04,
+  2.40000000e+04,
+  2.50000000e+04,
+  2.60000000e+04,
+  5.10000000e+04,
+  5.20000000e+04,
+  5.30000000e+04,
+  5.40000000e+04,
+  5.50000000e+04,
+  5.60000000e+04,
+};
+
+const double pylith::materials::PowerLaw3DElasticData::_initialStrain[] = {
+  3.10000000e-04,
+  3.20000000e-04,
+  3.30000000e-04,
+  3.40000000e-04,
+  3.50000000e-04,
+  3.60000000e-04,
+  6.10000000e-04,
+  6.20000000e-04,
+  6.30000000e-04,
+  6.40000000e-04,
+  6.50000000e-04,
+  6.60000000e-04,
+};
+
+const double* pylith::materials::PowerLaw3DElasticData::_stateVarsUpdated = 0;
+
+pylith::materials::PowerLaw3DElasticData::PowerLaw3DElasticData(void)
+{ // constructor
+  dimension = _dimension;
+  numLocs = _numLocs;
+  numProperties = _numProperties;
+  numStateVars = _numStateVars;
+  numDBProperties = _numDBProperties;
+  numDBStateVars = _numDBStateVars;
+  numPropsQuadPt = _numPropsQuadPt;
+  numVarsQuadPt = _numVarsQuadPt;
+  lengthScale = _lengthScale;
+  timeScale = _timeScale;
+  pressureScale = _pressureScale;
+  densityScale = _densityScale;
+  dtStableImplicit = _dtStableImplicit;
+  numPropertyValues = const_cast<int*>(_numPropertyValues);
+  numStateVarValues = const_cast<int*>(_numStateVarValues);
+  dbPropertyValues = const_cast<char**>(_dbPropertyValues);
+  dbStateVarValues = const_cast<char**>(_dbStateVarValues);
+  dbProperties = const_cast<double*>(_dbProperties);
+  dbStateVars = const_cast<double*>(_dbStateVars);
+  properties = const_cast<double*>(_properties);
+  stateVars = const_cast<double*>(_stateVars);
+  propertiesNondim = const_cast<double*>(_propertiesNondim);
+  stateVarsNondim = const_cast<double*>(_stateVarsNondim);
+  density = const_cast<double*>(_density);
+  strain = const_cast<double*>(_strain);
+  stress = const_cast<double*>(_stress);
+  elasticConsts = const_cast<double*>(_elasticConsts);
+  initialStress = const_cast<double*>(_initialStress);
+  initialStrain = const_cast<double*>(_initialStrain);
+  stateVarsUpdated = const_cast<double*>(_stateVarsUpdated);
+} // constructor
+
+pylith::materials::PowerLaw3DElasticData::~PowerLaw3DElasticData(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh	2009-05-29 02:26:30 UTC (rev 15081)
@@ -0,0 +1,104 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application powerlaw3delastic.
+
+#if !defined(pylith_materials_powerlaw3delasticdata_hh)
+#define pylith_materials_powerlaw3delasticdata_hh
+
+#include "ElasticMaterialData.hh"
+
+namespace pylith {
+  namespace materials {
+     class PowerLaw3DElasticData;
+  } // pylith
+} // materials
+
+class pylith::materials::PowerLaw3DElasticData : public ElasticMaterialData
+{
+
+public: 
+
+  /// Constructor
+  PowerLaw3DElasticData(void);
+
+  /// Destructor
+  ~PowerLaw3DElasticData(void);
+
+private:
+
+  static const int _dimension;
+
+  static const int _numLocs;
+
+  static const int _numProperties;
+
+  static const int _numStateVars;
+
+  static const int _numDBProperties;
+
+  static const int _numDBStateVars;
+
+  static const int _numPropsQuadPt;
+
+  static const int _numVarsQuadPt;
+
+  static const double _lengthScale;
+
+  static const double _timeScale;
+
+  static const double _pressureScale;
+
+  static const double _densityScale;
+
+  static const double _dtStableImplicit;
+
+  static const int _numPropertyValues[];
+
+  static const int _numStateVarValues[];
+
+  static const char* _dbPropertyValues[];
+
+  static const char* _dbStateVarValues[];
+
+  static const double _dbProperties[];
+
+  static const double _dbStateVars[];
+
+  static const double _properties[];
+
+  static const double _stateVars[];
+
+  static const double _propertiesNondim[];
+
+  static const double _stateVarsNondim[];
+
+  static const double _density[];
+
+  static const double _strain[];
+
+  static const double _stress[];
+
+  static const double _elasticConsts[];
+
+  static const double _initialStress[];
+
+  static const double _initialStrain[];
+
+  static const double* _stateVarsUpdated;
+
+};
+
+#endif // pylith_materials_powerlaw3delasticdata_hh
+
+// End of file

Modified: short/3D/PyLith/trunk/unittests/libtests/materials/data/generate.sh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/generate.sh	2009-05-28 22:30:56 UTC (rev 15080)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/generate.sh	2009-05-29 02:26:30 UTC (rev 15081)
@@ -30,6 +30,11 @@
     --data.object=MaxwellIsotropic3DElasticData \
     --data.parent=ElasticMaterialData
 
+  python PowerLaw3DElastic.py \
+    --data.namespace=pylith,materials \
+    --data.object=PowerLaw3DElasticData \
+    --data.parent=ElasticMaterialData
+
 #  python GenMaxwellIsotropic3DElastic.py \
 #    --data.namespace=pylith,materials \
 #    --data.object=GenMaxwellIsotropic3DElasticData \



More information about the CIG-COMMITS mailing list