v0.14.0
test_T2_24.cpp
Go to the documentation of this file.
1 #include "../../../src/FTensor.hpp"
2 #include "../test_for_zero.hpp"
3 #include <iostream>
4 using namespace FTensor;
5 using namespace std;
6 
7 void test_T2_24(const Tensor1<double, 3> &t1_2,
8  const Tensor2<double, 3, 3> &t2_2)
9 {
13 
14  Number<0> N0;
15  Number<1> N1;
16  Number<2> N2;
17 
18  /* Tensor2 tests */
19 
20  /* Tensor2*Tensor1 */
21 
22  test_for_zero((t2_2(i, j) * t1_2(k))(0, 0, 0) - t2_2(0, 0) * t1_2(0),
23  "T2(i,j)*T1(k)(0,0,0)");
24  test_for_zero((t2_2(i, j) * t1_2(k))(0, 0, 1) - t2_2(0, 0) * t1_2(1),
25  "T2(i,j)*T1(k)(0,0,1)");
26  test_for_zero((t2_2(i, j) * t1_2(k))(0, 0, 2) - t2_2(0, 0) * t1_2(2),
27  "T2(i,j)*T1(k)(0,0,2)");
28  test_for_zero((t2_2(i, j) * t1_2(k))(0, 1, 0) - t2_2(0, 1) * t1_2(0),
29  "T2(i,j)*T1(k)(0,1,0)");
30  test_for_zero((t2_2(i, j) * t1_2(k))(0, 1, 1) - t2_2(0, 1) * t1_2(1),
31  "T2(i,j)*T1(k)(0,1,1)");
32  test_for_zero((t2_2(i, j) * t1_2(k))(0, 1, 2) - t2_2(0, 1) * t1_2(2),
33  "T2(i,j)*T1(k)(0,1,2)");
34  test_for_zero((t2_2(i, j) * t1_2(k))(0, 2, 0) - t2_2(0, 2) * t1_2(0),
35  "T2(i,j)*T1(k)(0,2,0)");
36  test_for_zero((t2_2(i, j) * t1_2(k))(0, 2, 1) - t2_2(0, 2) * t1_2(1),
37  "T2(i,j)*T1(k)(0,2,1)");
38  test_for_zero((t2_2(i, j) * t1_2(k))(0, 2, 2) - t2_2(0, 2) * t1_2(2),
39  "T2(i,j)*T1(k)(0,2,2)");
40  test_for_zero((t2_2(i, j) * t1_2(k))(1, 0, 0) - t2_2(1, 0) * t1_2(0),
41  "T2(i,j)*T1(k)(1,0,0)");
42  test_for_zero((t2_2(i, j) * t1_2(k))(1, 0, 1) - t2_2(1, 0) * t1_2(1),
43  "T2(i,j)*T1(k)(1,0,1)");
44  test_for_zero((t2_2(i, j) * t1_2(k))(1, 0, 2) - t2_2(1, 0) * t1_2(2),
45  "T2(i,j)*T1(k)(1,0,2)");
46  test_for_zero((t2_2(i, j) * t1_2(k))(1, 1, 0) - t2_2(1, 1) * t1_2(0),
47  "T2(i,j)*T1(k)(1,1,0)");
48  test_for_zero((t2_2(i, j) * t1_2(k))(1, 1, 1) - t2_2(1, 1) * t1_2(1),
49  "T2(i,j)*T1(k)(1,1,1)");
50  test_for_zero((t2_2(i, j) * t1_2(k))(1, 1, 2) - t2_2(1, 1) * t1_2(2),
51  "T2(i,j)*T1(k)(1,1,2)");
52  test_for_zero((t2_2(i, j) * t1_2(k))(1, 2, 0) - t2_2(1, 2) * t1_2(0),
53  "T2(i,j)*T1(k)(1,2,0)");
54  test_for_zero((t2_2(i, j) * t1_2(k))(1, 2, 1) - t2_2(1, 2) * t1_2(1),
55  "T2(i,j)*T1(k)(1,2,1)");
56  test_for_zero((t2_2(i, j) * t1_2(k))(1, 2, 2) - t2_2(1, 2) * t1_2(2),
57  "T2(i,j)*T1(k)(1,2,2)");
58  test_for_zero((t2_2(i, j) * t1_2(k))(2, 0, 0) - t2_2(2, 0) * t1_2(0),
59  "T2(i,j)*T1(k)(2,0,0)");
60  test_for_zero((t2_2(i, j) * t1_2(k))(2, 0, 1) - t2_2(2, 0) * t1_2(1),
61  "T2(i,j)*T1(k)(2,0,1)");
62  test_for_zero((t2_2(i, j) * t1_2(k))(2, 0, 2) - t2_2(2, 0) * t1_2(2),
63  "T2(i,j)*T1(k)(2,0,2)");
64  test_for_zero((t2_2(i, j) * t1_2(k))(2, 1, 0) - t2_2(2, 1) * t1_2(0),
65  "T2(i,j)*T1(k)(2,1,0)");
66  test_for_zero((t2_2(i, j) * t1_2(k))(2, 1, 1) - t2_2(2, 1) * t1_2(1),
67  "T2(i,j)*T1(k)(2,1,1)");
68  test_for_zero((t2_2(i, j) * t1_2(k))(2, 1, 2) - t2_2(2, 1) * t1_2(2),
69  "T2(i,j)*T1(k)(2,1,2)");
70  test_for_zero((t2_2(i, j) * t1_2(k))(2, 2, 0) - t2_2(2, 2) * t1_2(0),
71  "T2(i,j)*T1(k)(2,2,0)");
72  test_for_zero((t2_2(i, j) * t1_2(k))(2, 2, 1) - t2_2(2, 2) * t1_2(1),
73  "T2(i,j)*T1(k)(2,2,1)");
74  test_for_zero((t2_2(i, j) * t1_2(k))(2, 2, 2) - t2_2(2, 2) * t1_2(2),
75  "T2(i,j)*T1(k)(2,2,2)");
76 
77  test_for_zero((t1_2(k) * t2_2(i, j))(0, 0, 0) - t2_2(0, 0) * t1_2(0),
78  "T1(k)*T2(i,j)(0,0,0)");
79  test_for_zero((t1_2(k) * t2_2(i, j))(0, 0, 1) - t2_2(0, 0) * t1_2(1),
80  "T1(k)*T2(i,j)(0,0,1)");
81  test_for_zero((t1_2(k) * t2_2(i, j))(0, 0, 2) - t2_2(0, 0) * t1_2(2),
82  "T1(k)*T2(i,j)(0,0,2)");
83  test_for_zero((t1_2(k) * t2_2(i, j))(0, 1, 0) - t2_2(0, 1) * t1_2(0),
84  "T1(k)*T2(i,j)(0,1,0)");
85  test_for_zero((t1_2(k) * t2_2(i, j))(0, 1, 1) - t2_2(0, 1) * t1_2(1),
86  "T1(k)*T2(i,j)(0,1,1)");
87  test_for_zero((t1_2(k) * t2_2(i, j))(0, 1, 2) - t2_2(0, 1) * t1_2(2),
88  "T1(k)*T2(i,j)(0,1,2)");
89  test_for_zero((t1_2(k) * t2_2(i, j))(0, 2, 0) - t2_2(0, 2) * t1_2(0),
90  "T1(k)*T2(i,j)(0,2,0)");
91  test_for_zero((t1_2(k) * t2_2(i, j))(0, 2, 1) - t2_2(0, 2) * t1_2(1),
92  "T1(k)*T2(i,j)(0,2,1)");
93  test_for_zero((t1_2(k) * t2_2(i, j))(0, 2, 2) - t2_2(0, 2) * t1_2(2),
94  "T1(k)*T2(i,j)(0,2,2)");
95  test_for_zero((t1_2(k) * t2_2(i, j))(1, 0, 0) - t2_2(1, 0) * t1_2(0),
96  "T1(k)*T2(i,j)(1,0,0)");
97  test_for_zero((t1_2(k) * t2_2(i, j))(1, 0, 1) - t2_2(1, 0) * t1_2(1),
98  "T1(k)*T2(i,j)(1,0,1)");
99  test_for_zero((t1_2(k) * t2_2(i, j))(1, 0, 2) - t2_2(1, 0) * t1_2(2),
100  "T1(k)*T2(i,j)(1,0,2)");
101  test_for_zero((t1_2(k) * t2_2(i, j))(1, 1, 0) - t2_2(1, 1) * t1_2(0),
102  "T1(k)*T2(i,j)(1,1,0)");
103  test_for_zero((t1_2(k) * t2_2(i, j))(1, 1, 1) - t2_2(1, 1) * t1_2(1),
104  "T1(k)*T2(i,j)(1,1,1)");
105  test_for_zero((t1_2(k) * t2_2(i, j))(1, 1, 2) - t2_2(1, 1) * t1_2(2),
106  "T1(k)*T2(i,j)(1,1,2)");
107  test_for_zero((t1_2(k) * t2_2(i, j))(1, 2, 0) - t2_2(1, 2) * t1_2(0),
108  "T1(k)*T2(i,j)(1,2,0)");
109  test_for_zero((t1_2(k) * t2_2(i, j))(1, 2, 1) - t2_2(1, 2) * t1_2(1),
110  "T1(k)*T2(i,j)(1,2,1)");
111  test_for_zero((t1_2(k) * t2_2(i, j))(1, 2, 2) - t2_2(1, 2) * t1_2(2),
112  "T1(k)*T2(i,j)(1,2,2)");
113  test_for_zero((t1_2(k) * t2_2(i, j))(2, 0, 0) - t2_2(2, 0) * t1_2(0),
114  "T1(k)*T2(i,j)(2,0,0)");
115  test_for_zero((t1_2(k) * t2_2(i, j))(2, 0, 1) - t2_2(2, 0) * t1_2(1),
116  "T1(k)*T2(i,j)(2,0,1)");
117  test_for_zero((t1_2(k) * t2_2(i, j))(2, 0, 2) - t2_2(2, 0) * t1_2(2),
118  "T1(k)*T2(i,j)(2,0,2)");
119  test_for_zero((t1_2(k) * t2_2(i, j))(2, 1, 0) - t2_2(2, 1) * t1_2(0),
120  "T1(k)*T2(i,j)(2,1,0)");
121  test_for_zero((t1_2(k) * t2_2(i, j))(2, 1, 1) - t2_2(2, 1) * t1_2(1),
122  "T1(k)*T2(i,j)(2,1,1)");
123  test_for_zero((t1_2(k) * t2_2(i, j))(2, 1, 2) - t2_2(2, 1) * t1_2(2),
124  "T1(k)*T2(i,j)(2,1,2)");
125  test_for_zero((t1_2(k) * t2_2(i, j))(2, 2, 0) - t2_2(2, 2) * t1_2(0),
126  "T1(k)*T2(i,j)(2,2,0)");
127  test_for_zero((t1_2(k) * t2_2(i, j))(2, 2, 1) - t2_2(2, 2) * t1_2(1),
128  "T1(k)*T2(i,j)(2,2,1)");
129  test_for_zero((t1_2(k) * t2_2(i, j))(2, 2, 2) - t2_2(2, 2) * t1_2(2),
130  "T1(k)*T2(i,j)(2,2,2)");
131 }
FTensor
JSON compatible output.
Definition: Christof_constructor.hpp:6
FTensor::Tensor1< double, 3 >
FTensor::Tensor2< double, 3, 3 >
FTensor::Number< 0 >
test_for_zero
void test_for_zero(const T &t, const std::string &s)
Definition: test_for_zero.hpp:7
test_T2_24
void test_T2_24(const Tensor1< double, 3 > &t1_2, const Tensor2< double, 3, 3 > &t2_2)
Definition: test_T2_24.cpp:7
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
FTensor::Index< 'i', 3 >
std
Definition: enable_if.hpp:5
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
k
FTensor::Index< 'k', 3 > k
Definition: matrix_function.cpp:20