44MicroplaneMaterial_Bazant :: giveRealStressVector_3d(
const FloatArrayF<6> &strain,
47 double SvDash = 0., SvSum = 0.;
57 int mPlaneIndex1 = mPlaneIndex + 1;
63 mPlaneNormalStress.at(mPlaneIndex1) = mPlaneStressCmpns.n;
64 mPlaneShear_L_Stress.at(mPlaneIndex1) = mPlaneStressCmpns.l;
65 mPlaneShear_M_Stress.
at(mPlaneIndex1) = mPlaneStressCmpns.m;
68 SvSum += mPlaneNormalStress.at(mPlaneIndex1) * mPlaneIntegrationWeight;
69 double SD = mPlaneNormalStress.at(mPlaneIndex1) - mPlaneStressCmpns.v;
72 SvDash = mPlaneStressCmpns.v;
85 for (
int i = 0; i < 6; i++ ) {
86 answer.
at(i + 1) += ( (
N [ mPlaneIndex ] [ i ] -
Kronecker [ i ] / 3. ) * SD +
87 L [ mPlaneIndex ] [ i ] * mPlaneShear_L_Stress.at(mPlaneIndex1) +
88 M [ mPlaneIndex ] [ i ] * mPlaneShear_M_Stress.
at(mPlaneIndex1) )
89 * mPlaneIntegrationWeight;
98 if ( SvDash > SvSum / 3. ) {
103 int mPlaneIndex1 = mPlaneIndex + 1;
107 double SD = mPlaneNormalStress.at(mPlaneIndex1) - SvDash;
110 for (
int i = 0; i < 6; i++ ) {
111 answer.
at(i + 1) += ( (
N [ mPlaneIndex ] [ i ] -
Kronecker [ i ] / 3. ) * SD +
112 L [ mPlaneIndex ] [ i ] * mPlaneShear_L_Stress.at(mPlaneIndex1) +
113 M [ mPlaneIndex ] [ i ] * mPlaneShear_M_Stress.
at(mPlaneIndex1) )
114 * mPlaneIntegrationWeight;
122 answer.
at(1) += SvDash;
123 answer.
at(2) += SvDash;
124 answer.
at(3) += SvDash;
126 status->letTempStrainVectorBe(strain);
127 status->letTempStressVectorBe(answer);