v0.14.0
test_T3dg_01.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 
8 {
11 
12  Number<0> N0;
13  Number<1> N1;
14  Number<2> N2;
15 
16  /* Dg tests */
17 
18  t1_1(i) = t3dg_2(i, j, j);
19  test_for_zero(t1_1(0)
20  - (t3dg_2(0, 0, 0) + t3dg_2(0, 1, 1) + t3dg_2(0, 2, 2)),
21  "T3dg(i,j,j)(0)");
22  test_for_zero(t1_1(1)
23  - (t3dg_2(1, 0, 0) + t3dg_2(1, 1, 1) + t3dg_2(1, 2, 2)),
24  "T3dg(i,j,j)(1)");
25  test_for_zero(t1_1(2)
26  - (t3dg_2(2, 0, 0) + t3dg_2(2, 1, 1) + t3dg_2(2, 2, 2)),
27  "T3dg(i,j,j)(2)");
28  t1_1(i) = t3dg_2(j, i, j);
29  test_for_zero(t1_1(0)
30  - (t3dg_2(0, 0, 0) + t3dg_2(1, 0, 1) + t3dg_2(2, 0, 2)),
31  "T3dg(j,i,j)(0)");
32  test_for_zero(t1_1(1)
33  - (t3dg_2(0, 1, 0) + t3dg_2(1, 1, 1) + t3dg_2(2, 1, 2)),
34  "T3dg(j,i,j)(1)");
35  test_for_zero(t1_1(2)
36  - (t3dg_2(0, 2, 0) + t3dg_2(1, 2, 1) + t3dg_2(2, 2, 2)),
37  "T3dg(j,i,j)(2)");
38  t1_1(i) = t3dg_2(j, j, i);
39  test_for_zero(t1_1(0)
40  - (t3dg_2(0, 0, 0) + t3dg_2(1, 1, 0) + t3dg_2(2, 2, 0)),
41  "T3dg(j,j,i)(0)");
42  test_for_zero(t1_1(1)
43  - (t3dg_2(0, 0, 1) + t3dg_2(1, 1, 1) + t3dg_2(2, 2, 1)),
44  "T3dg(j,j,i)(1)");
45  test_for_zero(t1_1(2)
46  - (t3dg_2(0, 0, 2) + t3dg_2(1, 1, 2) + t3dg_2(2, 2, 2)),
47  "T3dg(j,j,i)(2)");
48 }
FTensor
JSON compatible output.
Definition: Christof_constructor.hpp:6
FTensor::Tensor1< double, 3 >
FTensor::Number< 0 >
test_T3dg_01
void test_T3dg_01(Tensor1< double, 3 > &t1_1, const Dg< double, 3, 3 > &t3dg_2)
Definition: test_T3dg_01.cpp:7
test_for_zero
void test_for_zero(const T &t, const std::string &s)
Definition: test_for_zero.hpp:7
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
FTensor::Index< 'i', 3 >
FTensor::Dg
Definition: Dg_value.hpp:9
std
Definition: enable_if.hpp:5
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19