v0.14.0
test_T3as_13.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<double, 3, 3> &t2_2,
10 {
14 
15  Number<0> N0;
16  Number<1> N1;
17  Number<2> N2;
18 
19  test_for_zero(t3as_2(i, j, k) * (t2_2(k, j) * t1_2(i))
20  - (t3as_2(0, 1, 0) * t2_2(0, 1) * t1_2(0)
21  + t3as_2(1, 1, 0) * t2_2(0, 1) * t1_2(1)
22  + t3as_2(2, 1, 0) * t2_2(0, 1) * t1_2(2)
23  + t3as_2(0, 2, 0) * t2_2(0, 2) * t1_2(0)
24  + t3as_2(1, 2, 0) * t2_2(0, 2) * t1_2(1)
25  + t3as_2(2, 2, 0) * t2_2(0, 2) * t1_2(2)
26  + t3as_2(0, 0, 1) * t2_2(1, 0) * t1_2(0)
27  + t3as_2(1, 0, 1) * t2_2(1, 0) * t1_2(1)
28  + t3as_2(2, 0, 1) * t2_2(1, 0) * t1_2(2)
29  + t3as_2(0, 2, 1) * t2_2(1, 2) * t1_2(0)
30  + t3as_2(1, 2, 1) * t2_2(1, 2) * t1_2(1)
31  + t3as_2(2, 2, 1) * t2_2(1, 2) * t1_2(2)
32  + t3as_2(0, 0, 2) * t2_2(2, 0) * t1_2(0)
33  + t3as_2(1, 0, 2) * t2_2(2, 0) * t1_2(1)
34  + t3as_2(2, 0, 2) * t2_2(2, 0) * t1_2(2)
35  + t3as_2(0, 1, 2) * t2_2(2, 1) * t1_2(0)
36  + t3as_2(1, 1, 2) * t2_2(2, 1) * t1_2(1)
37  + t3as_2(2, 1, 2) * t2_2(2, 1) * t1_2(2)),
38  "T3as(i,j,k)*T3dg(k,j,i)");
39  test_for_zero((t2_2(k, j) * t1_2(i) * t3as_2(i, j, k))
40  - (t3as_2(0, 1, 0) * t2_2(0, 1) * t1_2(0)
41  + t3as_2(1, 1, 0) * t2_2(0, 1) * t1_2(1)
42  + t3as_2(2, 1, 0) * t2_2(0, 1) * t1_2(2)
43  + t3as_2(0, 2, 0) * t2_2(0, 2) * t1_2(0)
44  + t3as_2(1, 2, 0) * t2_2(0, 2) * t1_2(1)
45  + t3as_2(2, 2, 0) * t2_2(0, 2) * t1_2(2)
46  + t3as_2(0, 0, 1) * t2_2(1, 0) * t1_2(0)
47  + t3as_2(1, 0, 1) * t2_2(1, 0) * t1_2(1)
48  + t3as_2(2, 0, 1) * t2_2(1, 0) * t1_2(2)
49  + t3as_2(0, 2, 1) * t2_2(1, 2) * t1_2(0)
50  + t3as_2(1, 2, 1) * t2_2(1, 2) * t1_2(1)
51  + t3as_2(2, 2, 1) * t2_2(1, 2) * t1_2(2)
52  + t3as_2(0, 0, 2) * t2_2(2, 0) * t1_2(0)
53  + t3as_2(1, 0, 2) * t2_2(2, 0) * t1_2(1)
54  + t3as_2(2, 0, 2) * t2_2(2, 0) * t1_2(2)
55  + t3as_2(0, 1, 2) * t2_2(2, 1) * t1_2(0)
56  + t3as_2(1, 1, 2) * t2_2(2, 1) * t1_2(1)
57  + t3as_2(2, 1, 2) * t2_2(2, 1) * t1_2(2)),
58  "T3dg(k,j,i)*T3as(i,j,k)");
59 }
FTensor
JSON compatible output.
Definition: Christof_constructor.hpp:6
FTensor::Tensor1< double, 3 >
FTensor::Tensor2< double, 3, 3 >
FTensor::Number< 0 >
FTensor::Tensor3_antisymmetric
Definition: Tensor3_antisymmetric_value.hpp:8
test_for_zero
void test_for_zero(const T &t, const std::string &s)
Definition: test_for_zero.hpp:7
test_T3as_13
void test_T3as_13(const Tensor1< double, 3 > &t1_2, const Tensor2< double, 3, 3 > &t2_2, const Tensor3_antisymmetric< double, 3, 3 > &t3as_2)
Definition: test_T3as_13.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
k
FTensor::Index< 'k', 3 > k
Definition: matrix_function.cpp:20