[cig-commits] r20118 - short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials
willic3 at geodynamics.org
willic3 at geodynamics.org
Mon May 14 21:49:19 PDT 2012
Author: willic3
Date: 2012-05-14 21:49:18 -0700 (Mon, 14 May 2012)
New Revision: 20118
Modified:
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc
Log:
Fixed stress indexing problem and cleaned up code a bit more.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc 2012-05-14 22:29:01 UTC (rev 20117)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc 2012-05-15 04:49:18 UTC (rev 20118)
@@ -398,20 +398,23 @@
assert(_numPropsQuadPt == numProperties);
assert(0 != stateVars);
assert(_numVarsQuadPt == numStateVars);
+
+ const int tensorSizePS = 4;
+
const PylithScalar mu = properties[p_mu];
const PylithScalar referenceStrainRate = properties[p_referenceStrainRate];
const PylithScalar referenceStress = properties[p_referenceStress];
const PylithScalar powerLawExp = properties[p_powerLawExponent];
- const PylithScalar stress4[] = {stateVars[s_stress4],
- stateVars[s_stress4 + 1],
- stateVars[s_stress4 + 2],
- stateVars[s_stress4 + 3]};
+ const PylithScalar stress4[tensorSizePS] = {stateVars[s_stress4],
+ stateVars[s_stress4 + 1],
+ stateVars[s_stress4 + 2],
+ stateVars[s_stress4 + 3]};
const PylithScalar meanStress = (stress4[0] + stress4[1] + stress4[2])/3.0;
- const PylithScalar devStress[] = {stress4[0] - meanStress,
- stress4[1] - meanStress,
- stress4[2] - meanStress,
- stress4[3]};
+ const PylithScalar devStress[tensorSizePS] = {stress4[0] - meanStress,
+ stress4[1] - meanStress,
+ stress4[2] - meanStress,
+ stress4[3]};
const PylithScalar devStressProd = scalarProduct2DPS(devStress, devStress);
const PylithScalar effStress = sqrt(0.5 * devStressProd);
PylithScalar dtTest = 0.0;
@@ -1073,13 +1076,15 @@
initialStrain, initialStrainSize,
computeStateVars);
- for (int iComp=0; iComp < _tensorSize; ++iComp) {
- stateVars[s_viscousStrain + iComp] = 0.0;
- stateVars[s_stress4 + iComp] = stress[iComp];
- } // for
+ stateVars[s_viscousStrain] = 0.0;
+ stateVars[s_viscousStrain + 1] = 0.0;
+ stateVars[s_viscousStrain + 2] = 0.0;
stateVars[s_viscousStrain + 3] = 0.0;
- stateVars[s_stress4 + 3] = lambda * (totalStrain[0] + totalStrain[1]) +
+ stateVars[s_stress4] = stress[0];
+ stateVars[s_stress4 + 1] = stress[1];
+ stateVars[s_stress4 + 2] = lambda * (totalStrain[0] + totalStrain[1]) +
stressZZInitial;
+ stateVars[s_stress4 + 3] = stress[2];
_needNewJacobian = true;
} // _updateStateVarsElastic
More information about the CIG-COMMITS
mailing list