78 mooseError(
"Youngs modulus not set");
88 mooseError(
"mu not set");
114 _mu = (3.0 *
_k * (1.0 - 2.0 *
_nu)) / (2.0 * (1.0 +
_nu));
137 const Real C11(2 * C44 + C12);
157 const unsigned int j,
162 if (0 == i && 0 == j)
164 b(0) =
_val[0] * phi(0);
165 b(1) =
_val[15] * phi(1);
166 b(2) =
_val[20] * phi(2);
168 else if (1 == i && 1 == j)
170 b(0) =
_val[15] * phi(0);
171 b(1) =
_val[6] * phi(1);
172 b(2) =
_val[18] * phi(2);
174 else if (2 == i && 2 == j)
176 b(0) =
_val[20] * phi(0);
177 b(1) =
_val[18] * phi(1);
178 b(2) =
_val[11] * phi(2);
180 else if (0 == i && 1 == j)
182 b(0) =
_val[1] * phi(1);
183 b(1) =
_val[15] * phi(0);
186 else if (1 == i && 0 == j)
188 b(0) =
_val[15] * phi(1);
189 b(1) =
_val[1] * phi(0);
192 else if (1 == i && 2 == j)
195 b(1) =
_val[7] * phi(2);
196 b(2) =
_val[18] * phi(1);
198 else if (2 == i && 1 == j)
201 b(1) =
_val[18] * phi(2);
202 b(2) =
_val[7] * phi(1);
204 else if (0 == i && 2 == j)
206 b(0) =
_val[2] * phi(2);
208 b(2) =
_val[20] * phi(0);
210 else if (2 == i && 0 == j)
212 b(0) =
_val[20] * phi(2);
214 b(2) =
_val[2] * phi(0);
218 mooseError(
"Wrong index in stiffness calculation");
226 const Real xx = x.
xx();
227 const Real yy = x.
yy();
228 const Real zz = x.
zz();
229 const Real xy = x.
xy();
230 const Real yz = x.
yz();
231 const Real zx = x.
zx();
236 b.
xy() = 2 *
_val[15] * xy;
237 b.
yz() = 2 *
_val[18] * yz;
238 b.
zx() = 2 *
_val[20] * zx;
246 b.
yz() += 2 *
_val[16] * xy;
247 b.
zx() += 2 *
_val[17] * xy + 2 *
_val[19] * yz;
253 const RealVectorValue & c(crack_flags);
255 const Real c0_coupled(c0 < 1 ? 0 : 1);
257 const Real c1_coupled(c1 < 1 ? 0 : 1);
259 const Real c2_coupled(c2 < 1 ? 0 : 1);
261 const Real c01(c0_coupled * c1_coupled);
262 const Real c02(c0_coupled * c2_coupled);
263 const Real c12(c1_coupled * c2_coupled);
264 const Real c012(c0_coupled * c12);
270 _val[0] = (c0 < 1 ? c0 * ym :
_val[0]);
277 _val[6] = (c1 < 1 ? c1 * ym :
_val[6]);
283 _val[11] = (c2 < 1 ? c2 * ym :
_val[11]);
291 const RealVectorValue & crack_flags)
293 const RealVectorValue & c = crack_flags;
294 const Real c0 = c(0);
295 const Real c0_coupled = (c0 < 1 ? 0 : 1);
296 const Real c1 = c(1);
297 const Real c1_coupled = (c1 < 1 ? 0 : 1);
298 const Real c2 = c(2);
299 const Real c2_coupled = (c2 < 1 ? 0 : 1);
300 const Real c01 = c0_coupled * c1_coupled;
301 const Real c02 = c0_coupled * c2_coupled;
302 const Real c12 = c1_coupled * c2_coupled;
303 const Real c012 = c0_coupled * c12;