26 direction(index) = 1.0;
30 direction(0) = std::sqrt(0.5);
31 direction(1) = direction(0);
35 direction(1) = std::sqrt(0.5);
36 direction(2) = direction(1);
40 direction(0) = std::sqrt(0.5);
41 direction(2) = direction(0);
49 Real value =
std::pow(symm_stress.
xx() - symm_stress.
yy(), 2) +
54 return std::sqrt(value / 2.0);
66 return symm_tensor.
trace() / 3.0;
88 return std::exp(symm_strain.
xx()) * std::exp(symm_strain.
yy()) * std::exp(symm_strain.
zz()) - 1.0;
94 return symm_tensor.
trace();
100 Real value = symm_tensor.
xx() * symm_tensor.
yy() + symm_tensor.
yy() * symm_tensor.
zz() +
101 symm_tensor.
zz() * symm_tensor.
xx() - symm_tensor.
xy() * symm_tensor.
xy() -
102 symm_tensor.
yz() * symm_tensor.
yz() - symm_tensor.
zx() * symm_tensor.
zx();
111 val = symm_tensor.
xx() * symm_tensor.
yy() * symm_tensor.
zz() -
112 symm_tensor.
xx() * symm_tensor.
yz() * symm_tensor.
yz() +
113 symm_tensor.
xy() * symm_tensor.
yz() * symm_tensor.
zx() -
114 symm_tensor.
xy() * symm_tensor.
xy() * symm_tensor.
zz() +
115 symm_tensor.
zx() * symm_tensor.
xy() * symm_tensor.
yz() -
116 symm_tensor.
zx() * symm_tensor.
yy() * symm_tensor.
zx();
169 ColumnMajorMatrix eval(3, 1);
170 ColumnMajorMatrix evec(3, 3);
173 direction(0) = evec(0, index);
174 direction(1) = evec(1, index);
175 direction(2) = evec(2, index);
181 const Point & point1,
182 const Point & point2,
183 RealVectorValue & direction)
185 Point axis = point2 - point1;
189 Real axial_stress = 0.0;
190 for (
unsigned int i = 0; i < 3; ++i)
192 for (
unsigned int j = 0; j < 3; ++j)
193 axial_stress += axis(j) * symm_stress(j, i) * axis(i);
201 const Point & point1,
202 const Point & point2,
203 const Point & curr_point,
204 RealVectorValue & direction)
211 Point axis_rotation = point2 - point1;
212 Point yp = axis_rotation / axis_rotation.norm();
213 Point zp = xp.cross(yp);
216 Real hoop_stress = 0.0;
217 for (
unsigned int i = 0; i < 3; ++i)
219 for (
unsigned int j = 0; j < 3; ++j)
220 hoop_stress += zp(j) * symm_stress(j, i) * zp(i);
228 const Point & point1,
229 const Point & point2,
230 const Point & curr_point,
231 RealVectorValue & direction)
238 Real radial_stress = 0.0;
239 for (
unsigned int i = 0; i < 3; ++i)
241 for (
unsigned int j = 0; j < 3; ++j)
242 radial_stress += radial_norm(j) * symm_stress(j, i) * radial_norm(i);
244 direction = radial_norm;
245 return radial_stress;
250 const Point & point2,
251 const Point & curr_point,
252 Point & normalPosition)
257 Point axis_rotation = point2 - point1;
258 Point positionWRTpoint1 = point1 - curr_point;
259 Real projection = (axis_rotation * positionWRTpoint1) / axis_rotation.norm_sq();
260 Point normal = point1 - projection * axis_rotation;
264 normalPosition = curr_point - normal;
265 normalPosition /= normalPosition.norm();
271 Real tensor_value_in_direction = 0.0;
272 for (
unsigned int i = 0; i < 3; ++i)
274 for (
unsigned int j = 0; j < 3; ++j)
275 tensor_value_in_direction += input_direction(j) * symm_tensor(j, i) * input_direction(i);
277 return tensor_value_in_direction;