v0.14.0
test_T3dg_06.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  const Dg<double, 3, 3> &t3dg_2)
9 {
12 
13  Number<0> N0;
14  Number<1> N1;
15  Number<2> N2;
16 
17  /* Dg tests */
18 
19  /* Now, test with actual numbers. */
20 
21  t2s_1(i, j) = t3dg_2(i, j, 0);
22  test_for_zero(t3dg_2(0, 0, 0) - t2s_1(0, 0), "T3dg(i,j,Num)(0,0,0)");
23  test_for_zero(t3dg_2(0, 1, 0) - t2s_1(0, 1), "T3dg(i,j,Num)(0,0,1)");
24  test_for_zero(t3dg_2(0, 2, 0) - t2s_1(0, 2), "T3dg(i,j,Num)(0,0,2)");
25  test_for_zero(t3dg_2(1, 0, 0) - t2s_1(1, 0), "T3dg(i,j,Num)(0,1,0)");
26  test_for_zero(t3dg_2(1, 1, 0) - t2s_1(1, 1), "T3dg(i,j,Num)(0,1,1)");
27  test_for_zero(t3dg_2(1, 2, 0) - t2s_1(1, 2), "T3dg(i,j,Num)(0,1,2)");
28  test_for_zero(t3dg_2(2, 0, 0) - t2s_1(2, 0), "T3dg(i,j,Num)(0,2,0)");
29  test_for_zero(t3dg_2(2, 1, 0) - t2s_1(2, 1), "T3dg(i,j,Num)(0,2,1)");
30  test_for_zero(t3dg_2(2, 2, 0) - t2s_1(2, 2), "T3dg(i,j,Num)(0,2,2)");
31 
32  t2s_1(i, j) = t3dg_2(i, j, 1);
33  test_for_zero(t3dg_2(0, 0, 1) - t2s_1(0, 0), "T3dg(i,j,Num)(1,0,0)");
34  test_for_zero(t3dg_2(0, 1, 1) - t2s_1(0, 1), "T3dg(i,j,Num)(1,0,1)");
35  test_for_zero(t3dg_2(0, 2, 1) - t2s_1(0, 2), "T3dg(i,j,Num)(1,0,2)");
36  test_for_zero(t3dg_2(1, 0, 1) - t2s_1(1, 0), "T3dg(i,j,Num)(1,1,0)");
37  test_for_zero(t3dg_2(1, 1, 1) - t2s_1(1, 1), "T3dg(i,j,Num)(1,1,1)");
38  test_for_zero(t3dg_2(1, 2, 1) - t2s_1(1, 2), "T3dg(i,j,Num)(1,1,2)");
39  test_for_zero(t3dg_2(2, 0, 1) - t2s_1(2, 0), "T3dg(i,j,Num)(1,2,0)");
40  test_for_zero(t3dg_2(2, 1, 1) - t2s_1(2, 1), "T3dg(i,j,Num)(1,2,1)");
41  test_for_zero(t3dg_2(2, 2, 1) - t2s_1(2, 2), "T3dg(i,j,Num)(1,2,2)");
42 
43  t2s_1(i, j) = t3dg_2(i, j, 2);
44  test_for_zero(t3dg_2(0, 0, 2) - t2s_1(0, 0), "T3dg(i,j,Num)(2,0,0)");
45  test_for_zero(t3dg_2(0, 1, 2) - t2s_1(0, 1), "T3dg(i,j,Num)(2,0,1)");
46  test_for_zero(t3dg_2(0, 2, 2) - t2s_1(0, 2), "T3dg(i,j,Num)(2,0,2)");
47  test_for_zero(t3dg_2(1, 0, 2) - t2s_1(1, 0), "T3dg(i,j,Num)(2,1,0)");
48  test_for_zero(t3dg_2(1, 1, 2) - t2s_1(1, 1), "T3dg(i,j,Num)(2,1,1)");
49  test_for_zero(t3dg_2(1, 2, 2) - t2s_1(1, 2), "T3dg(i,j,Num)(2,1,2)");
50  test_for_zero(t3dg_2(2, 0, 2) - t2s_1(2, 0), "T3dg(i,j,Num)(2,2,0)");
51  test_for_zero(t3dg_2(2, 1, 2) - t2s_1(2, 1), "T3dg(i,j,Num)(2,2,1)");
52  test_for_zero(t3dg_2(2, 2, 2) - t2s_1(2, 2), "T3dg(i,j,Num)(2,2,2)");
53 }
FTensor
JSON compatible output.
Definition: Christof_constructor.hpp:6
FTensor::Tensor2_symmetric
Definition: Tensor2_symmetric_value.hpp:13
test_T3dg_06
void test_T3dg_06(Tensor2_symmetric< double, 3 > &t2s_1, const Dg< double, 3, 3 > &t3dg_2)
Definition: test_T3dg_06.cpp:7
FTensor::Number< 0 >
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