v0.14.0
test_T2_14.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_14(const Tensor1<double, 3> &t1_1, const Tensor1<double, 3> &t1_2,
8  const Tensor2<double, 3, 3> &t2_2)
9 {
12 
13  Number<0> N0;
14  Number<1> N1;
15  Number<2> N2;
16 
17  /* Tensor2 tests */
19 
20  /* add/subtract */
21 
22  t2(i, j) = t2_2(i, j) - t1_1(i) * t1_2(j);
23  test_for_zero(t2(0, 0) - (t2_2(0, 0) - t1_1(0) * t1_2(0)),
24  "T2(i,j)-T2(i,j)(0,0)");
25  test_for_zero(t2(0, 1) - (t2_2(0, 1) - t1_1(0) * t1_2(1)),
26  "T2(i,j)-T2(i,j)(0,1)");
27  test_for_zero(t2(0, 2) - (t2_2(0, 2) - t1_1(0) * t1_2(2)),
28  "T2(i,j)-T2(i,j)(0,2)");
29  test_for_zero(t2(1, 0) - (t2_2(1, 0) - t1_1(1) * t1_2(0)),
30  "T2(i,j)-T2(i,j)(1,0)");
31  test_for_zero(t2(1, 1) - (t2_2(1, 1) - t1_1(1) * t1_2(1)),
32  "T2(i,j)-T2(i,j)(1,1)");
33  test_for_zero(t2(1, 2) - (t2_2(1, 2) - t1_1(1) * t1_2(2)),
34  "T2(i,j)-T2(i,j)(1,2)");
35  test_for_zero(t2(2, 0) - (t2_2(2, 0) - t1_1(2) * t1_2(0)),
36  "T2(i,j)-T2(i,j)(2,0)");
37  test_for_zero(t2(2, 1) - (t2_2(2, 1) - t1_1(2) * t1_2(1)),
38  "T2(i,j)-T2(i,j)(2,1)");
39  test_for_zero(t2(2, 2) - (t2_2(2, 2) - t1_1(2) * t1_2(2)),
40  "T2(i,j)-T2(i,j)(2,2)");
41 
42  t2(i, j) = t2_2(i, j) - t1_1(j) * t1_2(i);
43  test_for_zero(t2(0, 0) - (t2_2(0, 0) - t1_2(0) * t1_1(0)),
44  "T2(i,j)-T2(j,i)(0,0)");
45  test_for_zero(t2(0, 1) - (t2_2(0, 1) - t1_2(0) * t1_1(1)),
46  "T2(i,j)-T2(j,i)(0,1)");
47  test_for_zero(t2(0, 2) - (t2_2(0, 2) - t1_2(0) * t1_1(2)),
48  "T2(i,j)-T2(j,i)(0,2)");
49  test_for_zero(t2(1, 0) - (t2_2(1, 0) - t1_2(1) * t1_1(0)),
50  "T2(i,j)-T2(j,i)(1,0)");
51  test_for_zero(t2(1, 1) - (t2_2(1, 1) - t1_2(1) * t1_1(1)),
52  "T2(i,j)-T2(j,i)(1,1)");
53  test_for_zero(t2(1, 2) - (t2_2(1, 2) - t1_2(1) * t1_1(2)),
54  "T2(i,j)-T2(j,i)(1,2)");
55  test_for_zero(t2(2, 0) - (t2_2(2, 0) - t1_2(2) * t1_1(0)),
56  "T2(i,j)-T2(j,i)(2,0)");
57  test_for_zero(t2(2, 1) - (t2_2(2, 1) - t1_2(2) * t1_1(1)),
58  "T2(i,j)-T2(j,i)(2,1)");
59  test_for_zero(t2(2, 2) - (t2_2(2, 2) - t1_2(2) * t1_1(2)),
60  "T2(i,j)-T2(j,i)(2,2)");
61 }
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_14
void test_T2_14(const Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2< double, 3, 3 > &t2_2)
Definition: test_T2_14.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