21 t_diff_deviator(
i,
j,
k,
l) = t_diff_stress(
i,
j,
k,
l);
23 constexpr double third = boost::math::constants::third<double>();
25 t_diff_deviator(0, 0, 0, 0) -=
third;
26 t_diff_deviator(0, 0, 1, 1) -=
third;
28 t_diff_deviator(1, 1, 0, 0) -=
third;
29 t_diff_deviator(1, 1, 1, 1) -=
third;
31 t_diff_deviator(2, 2, 0, 0) -=
third;
32 t_diff_deviator(2, 2, 1, 1) -=
third;
34 t_diff_deviator(0, 0, 2, 2) -=
third;
35 t_diff_deviator(1, 1, 2, 2) -=
third;
36 t_diff_deviator(2, 2, 2, 2) -=
third;
38 return t_diff_deviator;
92 t_diff(
i,
j,
k,
l) = 0;
93 t_diff(0, 0, 0, 0) = 1;
94 t_diff(1, 1, 1, 1) = 1;
96 t_diff(1, 0, 1, 0) = 0.5;
97 t_diff(1, 0, 0, 1) = 0.5;
99 t_diff(0, 1, 0, 1) = 0.5;
100 t_diff(0, 1, 1, 0) = 0.5;
103 t_diff(2, 2, 2, 2) = 1;
105 t_diff(2, 0, 2, 0) = 0.5;
106 t_diff(2, 0, 0, 2) = 0.5;
107 t_diff(0, 2, 0, 2) = 0.5;
108 t_diff(0, 2, 2, 0) = 0.5;
110 t_diff(2, 1, 2, 1) = 0.5;
111 t_diff(2, 1, 1, 2) = 0.5;
112 t_diff(1, 2, 1, 2) = 0.5;
113 t_diff(1, 2, 2, 1) = 0.5;
139 std::array<double, DIM> tmp;
140 std::copy(ptr, &ptr[DIM], tmp.begin());
141 std::sort(tmp.begin(), tmp.end());
143 std::max(std::max(std::abs(tmp[0]), std::abs(tmp[DIM - 1])), 1.);
144 return std::distance(tmp.begin(), std::unique(tmp.begin(), tmp.end(),
is_eq));