[cig-commits] r18563 - short/3D/PyLith/trunk/unittests/libtests/materials/data
willic3 at geodynamics.org
willic3 at geodynamics.org
Wed Jun 8 21:55:42 PDT 2011
Author: willic3
Date: 2011-06-08 21:55:42 -0700 (Wed, 08 Jun 2011)
New Revision: 18563
Modified:
short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py
short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py
short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
Log:
Fixed regular Maxwell models to properly update state variables using
initial strains for the elastic solution.
Modified: short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py 2011-06-09 04:54:37 UTC (rev 18562)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py 2011-06-09 04:55:42 UTC (rev 18563)
@@ -197,9 +197,9 @@
C1311, C1322, C1333, C1312, C1323, C1313],
dtype=numpy.float64)
- strain = numpy.reshape(strainV, (6,1))
initialStress = numpy.reshape(initialStressV, (tensorSize,1))
initialStrain = numpy.reshape(initialStrainV, (tensorSize,1))
+ strain = numpy.reshape(strainV, (6,1)) - initialStrain
elastic = numpy.array([ [C1111, C1122, C1133, C1112, C1123, C1113],
[C2211, C2222, C2233, C2212, C2223, C2213],
[C3311, C3322, C3333, C3312, C3323, C3313],
@@ -207,15 +207,16 @@
[C2311, C2322, C2333, C2312, C2323, C2313],
[C1311, C1322, C1333, C1312, C1323, C1313] ],
dtype=numpy.float64)
- stress = numpy.dot(elastic, strain-initialStrain) + initialStress
+ stress = numpy.dot(elastic, strain) + initialStress
meanStrain = (strain[0] + strain[1] + strain[2])/3.0
+ strainVec = numpy.array(strainV, dtype=numpy.float64)
viscousStrain = [strain[0] - meanStrain,
strain[1] - meanStrain,
strain[2] - meanStrain,
strain[3],
strain[4],
strain[5]]
- stateVarsUpdated = numpy.array( [strain, viscousStrain],
+ stateVarsUpdated = numpy.array( [strainVec, viscousStrain],
dtype=numpy.float64)
return (elasticConsts, numpy.ravel(stress), numpy.ravel(stateVarsUpdated))
Modified: short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc 2011-06-09 04:54:37 UTC (rev 18562)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc 2011-06-09 04:55:42 UTC (rev 18563)
@@ -342,24 +342,24 @@
1.40000000e-04,
1.50000000e-04,
1.60000000e-04,
- -1.00000000e-05,
+ -9.00000000e-06,
1.35525272e-20,
- 1.00000000e-05,
- 1.40000000e-04,
- 1.50000000e-04,
- 1.60000000e-04,
+ 9.00000000e-06,
+ 1.06000000e-04,
+ 1.15000000e-04,
+ 1.24000000e-04,
4.10000000e-04,
4.20000000e-04,
4.30000000e-04,
4.40000000e-04,
4.50000000e-04,
4.60000000e-04,
- -1.00000000e-05,
- 0.00000000e+00,
- 1.00000000e-05,
- 4.40000000e-04,
- 4.50000000e-04,
- 4.60000000e-04,
+ -9.00000000e-06,
+ 5.42101086e-20,
+ 9.00000000e-06,
+ 3.76000000e-04,
+ 3.85000000e-04,
+ 3.94000000e-04,
};
pylith::materials::MaxwellIsotropic3DElasticData::MaxwellIsotropic3DElasticData(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py 2011-06-09 04:54:37 UTC (rev 18562)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py 2011-06-09 04:55:42 UTC (rev 18563)
@@ -185,23 +185,23 @@
C2211, C2222, C2212,
C1211, C1222, C1212], dtype=numpy.float64)
- strain = numpy.reshape(strainV, (tensorSize,1))
initialStress = numpy.reshape(initialStressV, (tensorSize,1))
initialStrain = numpy.reshape(initialStrainV, (tensorSize,1))
+ strain = numpy.reshape(strainV, (tensorSize,1)) - initialStrain
stressZZInitial = numpy.array([stateVars[0]], dtype=numpy.float64)
elastic = numpy.array([ [C1111, C1122, C1112],
[C2211, C2222, C2212],
[C1211, C1222, C1212] ], dtype=numpy.float64)
- stress = numpy.dot(elastic, strain-initialStrain) + initialStress
+ stress = numpy.dot(elastic, strain) + initialStress
meanStrain = (strain[0,0] + strain[1,0])/3.0
+ strainVec = numpy.array(strainV, dtype=numpy.float64)
viscousStrain = numpy.array([strain[0,0] - meanStrain,
strain[1,0] - meanStrain,
-meanStrain,
strain[2,0]],
dtype=numpy.float64)
viscousStrainVec = numpy.ravel(viscousStrain)
- strainVec = numpy.ravel(strain)
stateVarsUpdated = numpy.concatenate((stressZZInitial, strainVec,
viscousStrainVec))
Modified: short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc 2011-06-09 04:54:37 UTC (rev 18562)
+++ short/3D/PyLith/trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc 2011-06-09 04:55:42 UTC (rev 18563)
@@ -235,18 +235,18 @@
1.10000000e-04,
1.20000000e-04,
1.40000000e-04,
- 3.33333333e-05,
- 4.33333333e-05,
- -7.66666667e-05,
- 1.40000000e-04,
+ 2.33333333e-05,
+ 3.23333333e-05,
+ -5.56666667e-05,
+ 1.06000000e-04,
4.50000000e+04,
4.10000000e-04,
4.20000000e-04,
4.40000000e-04,
- 1.33333333e-04,
- 1.43333333e-04,
- -2.76666667e-04,
- 4.40000000e-04,
+ 1.13333333e-04,
+ 1.22333333e-04,
+ -2.35666667e-04,
+ 3.76000000e-04,
};
pylith::materials::MaxwellPlaneStrainElasticData::MaxwellPlaneStrainElasticData(void)
More information about the CIG-COMMITS
mailing list