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