9 template <
class T,
int Dim01,
int Dim23,
char i,
char j,
char k,
char l>
19 operator()(
const int N1,
const int N2,
const int N3,
const int N4)
const
23 ? (*(
a.ptr(N1, N2) + 2 *
d_ijk(N3))
24 - 2 * *(
a.ptr(N1, N2) +
d_ijk(N3)) +
a(N1, N2))
26 ? (
a(N1, N2) - 2 * *(
a.ptr(N1, N2) -
d_ijk(N3))
27 + *(
a.ptr(N1, N2) - 2 *
d_ijk(N3)))
28 : (*(
a.ptr(N1, N2) +
d_ijk(N3)) - 2 *
a(N1, N2)
29 + *(
a.ptr(N1, N2) -
d_ijk(N3)))))
34 - *(
a.ptr(N1, N2) +
d_ijk(N4))
35 - *(
a.ptr(N1, N2) +
d_ijk(N3)) +
a(N1, N2))
38 ? ((*(
a.ptr(N1, N2) +
d_ijk(N3)) -
a(N1, N2)
40 + *(
a.ptr(N1, N2) -
d_ijk(N4)))
43 - *(
a.ptr(N1, N2) +
d_ijk(N4))
45 + *(
a.ptr(N1, N2) -
d_ijk(N4)))
49 ? ((*(
a.ptr(N1, N2) +
d_ijk(N4))
51 -
a(N1, N2) + *(
a.ptr(N1, N2) -
d_ijk(N3)))
54 ? ((
a(N1, N2) - *(
a.ptr(N1, N2) -
d_ijk(N3))
55 - *(
a.ptr(N1, N2) -
d_ijk(N4))
56 + *(
a.ptr(N1, N2) -
d_ijk(N3)
59 : (*(
a.ptr(N1, N2) +
d_ijk(N4))
61 - *(
a.ptr(N1, N2) -
d_ijk(N4))
62 + *(
a.ptr(N1, N2) -
d_ijk(N3)
68 - *(
a.ptr(N1, N2) +
d_ijk(N3))
69 + *(
a.ptr(N1, N2) -
d_ijk(N3)))
72 ? ((*(
a.ptr(N1, N2) +
d_ijk(N3))
73 - *(
a.ptr(N1, N2) -
d_ijk(N3))
74 - *(
a.ptr(N1, N2) +
d_ijk(N3)
76 + *(
a.ptr(N1, N2) -
d_ijk(N3)
80 - *(
a.ptr(N1, N2) -
d_ijk(N3)
82 - *(
a.ptr(N1, N2) +
d_ijk(N3)
84 + *(
a.ptr(N1, N2) -
d_ijk(N3)
96 template <
class T,
int Dim01,
int Dim23,
char i,
char j,
char k,
char l>
98 const dd_boundary_Tensor2_symmetric<T, Dim01, Dim23, i, j, k, l>,
110 i,
j,
k,
l>(Tensor_Expr(
a, d_ijk, d_xyz, boundary));
promote< T, double >::V operator()(const int N1, const int N2, const int N3, const int N4) const
const Tensor1< int, Dim23 > & d_ijk
const Tensor2_symmetric< T *, Dim01 > & a
const Tensor2< bool, Dim23, 2 > & boundary
const Tensor1< double, Dim23 > & d_xyz
dd_boundary_Tensor2_symmetric(const Tensor2_symmetric< T *, Dim01 > &A, const Tensor1< int, Dim23 > &D_ijk, const Tensor1< double, Dim23 > &D_xyz, const Tensor2< bool, Dim23, 2 > &Boundary)
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
Tensors class implemented by Walter Landry.
const Tensor2_symmetric_Expr< const dd_boundary_Tensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd_boundary(const Tensor0< T * > &a, const Index< i, Dim > index3, const Index< j, Dim > index4, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz, const Tensor2< bool, Dim, 2 > &boundary)