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