v0.14.0
Loading...
Searching...
No Matches
test_T3dg_32.cpp
Go to the documentation of this file.
3#include <iostream>
4using namespace FTensor;
5using namespace std;
6
9 const Dg<double, 3, 3> &t3dg_2)
10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13 Index<'k', 3> k;
14
15 Number<0> N0;
16 Number<1> N1;
17 Number<2> N2;
18
19 /* Dg tests */
20
21 t1_1(i) = t3dg_2(j, i, k) * t2s_2(j, k);
23 t1_1(0)
24 - (t3dg_2(0, 0, 0) * t2s_2(0, 0) + t3dg_2(0, 0, 1) * t2s_2(0, 1)
25 + t3dg_2(0, 0, 2) * t2s_2(0, 2) + t3dg_2(1, 0, 0) * t2s_2(1, 0)
26 + t3dg_2(1, 0, 1) * t2s_2(1, 1) + t3dg_2(1, 0, 2) * t2s_2(1, 2)
27 + t3dg_2(2, 0, 0) * t2s_2(2, 0) + t3dg_2(2, 0, 1) * t2s_2(2, 1)
28 + t3dg_2(2, 0, 2) * t2s_2(2, 2)),
29 "T3dg(j,i,k)*T2s(j,k)(0)");
31 t1_1(1)
32 - (t3dg_2(0, 1, 0) * t2s_2(0, 0) + t3dg_2(0, 1, 1) * t2s_2(0, 1)
33 + t3dg_2(0, 1, 2) * t2s_2(0, 2) + t3dg_2(1, 1, 0) * t2s_2(1, 0)
34 + t3dg_2(1, 1, 1) * t2s_2(1, 1) + t3dg_2(1, 1, 2) * t2s_2(1, 2)
35 + t3dg_2(2, 1, 0) * t2s_2(2, 0) + t3dg_2(2, 1, 1) * t2s_2(2, 1)
36 + t3dg_2(2, 1, 2) * t2s_2(2, 2)),
37 "T3dg(j,i,k)*T2s(j,k)(1)");
39 t1_1(2)
40 - (t3dg_2(0, 2, 0) * t2s_2(0, 0) + t3dg_2(0, 2, 1) * t2s_2(0, 1)
41 + t3dg_2(0, 2, 2) * t2s_2(0, 2) + t3dg_2(1, 2, 0) * t2s_2(1, 0)
42 + t3dg_2(1, 2, 1) * t2s_2(1, 1) + t3dg_2(1, 2, 2) * t2s_2(1, 2)
43 + t3dg_2(2, 2, 0) * t2s_2(2, 0) + t3dg_2(2, 2, 1) * t2s_2(2, 1)
44 + t3dg_2(2, 2, 2) * t2s_2(2, 2)),
45 "T3dg(j,i,k)*T2s(j,k)(2)");
46
47 t1_1(i) = t2s_2(j, k) * t3dg_2(j, i, k);
49 t1_1(0)
50 - (t3dg_2(0, 0, 0) * t2s_2(0, 0) + t3dg_2(0, 0, 1) * t2s_2(0, 1)
51 + t3dg_2(0, 0, 2) * t2s_2(0, 2) + t3dg_2(1, 0, 0) * t2s_2(1, 0)
52 + t3dg_2(1, 0, 1) * t2s_2(1, 1) + t3dg_2(1, 0, 2) * t2s_2(1, 2)
53 + t3dg_2(2, 0, 0) * t2s_2(2, 0) + t3dg_2(2, 0, 1) * t2s_2(2, 1)
54 + t3dg_2(2, 0, 2) * t2s_2(2, 2)),
55 "T2s(j,k)*T3dg(j,i,k)(0)");
57 t1_1(1)
58 - (t3dg_2(0, 1, 0) * t2s_2(0, 0) + t3dg_2(0, 1, 1) * t2s_2(0, 1)
59 + t3dg_2(0, 1, 2) * t2s_2(0, 2) + t3dg_2(1, 1, 0) * t2s_2(1, 0)
60 + t3dg_2(1, 1, 1) * t2s_2(1, 1) + t3dg_2(1, 1, 2) * t2s_2(1, 2)
61 + t3dg_2(2, 1, 0) * t2s_2(2, 0) + t3dg_2(2, 1, 1) * t2s_2(2, 1)
62 + t3dg_2(2, 1, 2) * t2s_2(2, 2)),
63 "T2s(j,k)*T3dg(j,i,k)(1)");
65 t1_1(2)
66 - (t3dg_2(0, 2, 0) * t2s_2(0, 0) + t3dg_2(0, 2, 1) * t2s_2(0, 1)
67 + t3dg_2(0, 2, 2) * t2s_2(0, 2) + t3dg_2(1, 2, 0) * t2s_2(1, 0)
68 + t3dg_2(1, 2, 1) * t2s_2(1, 1) + t3dg_2(1, 2, 2) * t2s_2(1, 2)
69 + t3dg_2(2, 2, 0) * t2s_2(2, 0) + t3dg_2(2, 2, 1) * t2s_2(2, 1)
70 + t3dg_2(2, 2, 2) * t2s_2(2, 2)),
71 "T2s(j,k)*T3dg(j,i,k)(2)");
72}
Tensors class implemented by Walter Landry.
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
Tensors class implemented by Walter Landry.
Definition FTensor.hpp:51
void test_T3dg_32(Tensor1< double, 3 > &t1_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Dg< double, 3, 3 > &t3dg_2)
void test_for_zero(const T &t, const std::string &s)