v0.15.0
Loading...
Searching...
No Matches
test_T2s.cpp File Reference
#include "../../../src/FTensor.hpp"
#include "../test_for_zero.hpp"
#include <iostream>

Go to the source code of this file.

Functions

void test_T2s_iostream ()
 
void test_T2s_01 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_02 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_03 (const Tensor2< double, 3, 3 > &t2_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_04 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_05 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_06 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_07 (Tensor1< double, 3 > &t1_1, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_08 (Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_09 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_10 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_11 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_12 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_13 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_14 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_15 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_16 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_17 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_18 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_19 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_20 (Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_21 (Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_22 (Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_23 (Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
 
void test_T2s_24 (Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
 
void test_T2s_25 (Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
 
void test_T2s_26 (Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
 
void test_T2s_27 (Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_28 (Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_29 (Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_30 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_31 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_32 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_33 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_34 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_35 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_36 (const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_37 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_38 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_39 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_40 (Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_41 (Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_42 (Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_43 (Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_44 (Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s_45 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_46 (const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
 
void test_T2s_47 (const Tensor2_symmetric< double, 3 > &t1s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
 
void test_T2s (Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
 

Function Documentation

◆ test_T2s()

void test_T2s ( Tensor1< double, 3 > & t1_1,
const Tensor1< double, 3 > & t1_2,
Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2,
const Tensor2_symmetric< double, 3 > & t2s_3 )

Definition at line 133 of file test_T2s.cpp.

138{
140 test_T2s_01(t1_2, t2s_1);
141 test_T2s_02(t1_2, t2s_1);
142 test_T2s_03(t2_2, t2s_1);
143 test_T2s_04(t2_1, t2_2, t2s_1);
144 test_T2s_05(t1_2, t2s_1);
145 test_T2s_06(t1_2, t2s_1);
146 test_T2s_07(t1_1, t2s_1);
147 test_T2s_08(t1_1, t1_2, t2s_1);
148 test_T2s_09(t1_2, t2s_1, t2s_2);
149 test_T2s_10(t1_2, t2s_1, t2s_2);
150 test_T2s_11(t1_2, t2s_1, t2s_2);
151 test_T2s_12(t1_2, t2s_1, t2s_2);
152 test_T2s_13(t1_2, t2s_1, t2s_2);
153 test_T2s_14(t1_2, t2s_1, t2s_2);
154 test_T2s_15(t1_2, t2s_1, t2s_2);
155 test_T2s_16(t1_2, t2s_1, t2s_2);
156 test_T2s_17(t1_2, t2s_1, t2s_2);
157 test_T2s_18(t1_2, t2s_1, t2s_2);
158 test_T2s_19(t1_2, t2s_1, t2s_2);
159 test_T2s_20(t1_1, t1_2, t2s_2);
160 test_T2s_21(t1_1, t1_2, t2s_2);
161 test_T2s_22(t2s_1, t2s_2);
162 test_T2s_23(t2_1, t2s_2, t2s_3);
163 test_T2s_24(t2_1, t2s_2, t2s_3);
164 test_T2s_25(t2_1, t2s_2, t2s_3);
165 test_T2s_26(t2_1, t2s_2, t2s_3);
166 test_T2s_27(t2s_1, t2s_2);
167 test_T2s_28(t2s_1, t2s_2);
168 test_T2s_29(t2s_1, t2s_2);
169 test_T2s_30(t2_1, t2_2, t2s_2);
170 test_T2s_31(t2_1, t2_2, t2s_2);
171 test_T2s_32(t2_1, t2_2, t2s_2);
172 test_T2s_33(t2_1, t2_2, t2s_2);
173 test_T2s_34(t1_2, t2s_1, t2s_2);
174 test_T2s_35(t1_2, t2s_1, t2s_2);
175 test_T2s_36(t2_2, t2s_2);
176 test_T2s_37(t2_1, t2_2, t2s_2);
177 test_T2s_38(t2_1, t2_2, t2s_2);
178 test_T2s_39(t2_1, t2_2, t2s_2);
179 test_T2s_40(t2_1, t2_2, t2s_2);
180 test_T2s_41(t2_1, t2s_1, t2s_2);
181 test_T2s_42(t2_1, t2s_1, t2s_2);
182 test_T2s_43(t2_1, t2s_1, t2s_2);
183 test_T2s_44(t2_1, t2s_1, t2s_2);
184 test_T2s_45(t1_2, t2s_1);
185 test_T2s_46(t1_2, t2s_1);
186 test_T2s_47(t2s_1, t2s_2);
187}
void test_T2s_39(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_35(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_05(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_17(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_06(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_21(Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_11(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_37(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_09(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_47(const Tensor2_symmetric< double, 3 > &t1s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_33(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_34(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_26(Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
void test_T2s_24(Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
void test_T2s_10(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_04(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_03(const Tensor2< double, 3, 3 > &t2_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_44(Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_01(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_23(Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
void test_T2s_43(Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_20(Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_22(Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_36(const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_12(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_46(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_13(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_45(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_02(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_18(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_29(Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_16(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_28(Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_25(Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, const Tensor2_symmetric< double, 3 > &t2s_3)
void test_T2s_31(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_19(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_38(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_27(Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_15(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_41(Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_08(Tensor1< double, 3 > &t1_1, const Tensor1< double, 3 > &t1_2, const Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_14(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_32(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_07(Tensor1< double, 3 > &t1_1, Tensor2_symmetric< double, 3 > &t2s_1)
void test_T2s_42(Tensor2< double, 3, 3 > &t2_1, Tensor2_symmetric< double, 3 > &t2s_1, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_30(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)
void test_T2s_iostream()
void test_T2s_40(Tensor2< double, 3, 3 > &t2_1, const Tensor2< double, 3, 3 > &t2_2, const Tensor2_symmetric< double, 3 > &t2s_2)

◆ test_T2s_01()

void test_T2s_01 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_01.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 t2s_1(i, j) = t1_2(i) || t1_2(j);
20 test_for_zero(t2s_1(0, 0) - (t1_2(0) + t1_2(0)), "T1 || T1(0,0)");
21 test_for_zero(t2s_1(0, 1) - (t1_2(0) + t1_2(1)), "T1 || T1(0,1)");
22 test_for_zero(t2s_1(0, 2) - (t1_2(0) + t1_2(2)), "T1 || T1(0,2)");
23 test_for_zero(t2s_1(1, 0) - (t1_2(1) + t1_2(0)), "T1 || T1(1,0)");
24 test_for_zero(t2s_1(1, 1) - (t1_2(1) + t1_2(1)), "T1 || T1(1,1)");
25 test_for_zero(t2s_1(1, 2) - (t1_2(1) + t1_2(2)), "T1 || T1(1,2)");
26 test_for_zero(t2s_1(2, 0) - (t1_2(2) + t1_2(0)), "T1 || T1(2,0)");
27 test_for_zero(t2s_1(2, 1) - (t1_2(2) + t1_2(1)), "T1 || T1(2,1)");
28 test_for_zero(t2s_1(2, 2) - (t1_2(2) + t1_2(2)), "T1 || T1(2,2)");
29}
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
void test_for_zero(const T &t, const std::string &s)

◆ test_T2s_02()

void test_T2s_02 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_02.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 t2s_1(i, j) = t1_2(i) ^ t1_2(j);
20 test_for_zero(t2s_1(0, 0) - t1_2(0) * t1_2(0), "T1^T1(0,0)");
21 test_for_zero(t2s_1(0, 1) - t1_2(0) * t1_2(1), "T1^T1(0,1)");
22 test_for_zero(t2s_1(0, 2) - t1_2(0) * t1_2(2), "T1^T1(0,2)");
23 test_for_zero(t2s_1(1, 0) - t1_2(1) * t1_2(0), "T1^T1(1,0)");
24 test_for_zero(t2s_1(1, 1) - t1_2(1) * t1_2(1), "T1^T1(1,1)");
25 test_for_zero(t2s_1(1, 2) - t1_2(1) * t1_2(2), "T1^T1(1,2)");
26 test_for_zero(t2s_1(2, 0) - t1_2(2) * t1_2(0), "T1^T1(2,0)");
27 test_for_zero(t2s_1(2, 1) - t1_2(2) * t1_2(1), "T1^T1(2,1)");
28 test_for_zero(t2s_1(2, 2) - t1_2(2) * t1_2(2), "T1^T1(2,2)");
29}

◆ test_T2s_03()

void test_T2s_03 ( const Tensor2< double, 3, 3 > & t2_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_03.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 t2s_1(i, j) = (t2_2(j, i) || t2_2(i, j));
20 test_for_zero(t2s_1(0, 0) - (t2_2(0, 0) + t2_2(0, 0)),
21 "T2(j,i)||T2(i,j)(0,0)");
22 test_for_zero(t2s_1(0, 1) - (t2_2(0, 1) + t2_2(1, 0)),
23 "T2(j,i)||T2(i,j)(0,1)");
24 test_for_zero(t2s_1(0, 2) - (t2_2(0, 2) + t2_2(2, 0)),
25 "T2(j,i)||T2(i,j)(0,2)");
26 test_for_zero(t2s_1(1, 0) - (t2_2(1, 0) + t2_2(0, 1)),
27 "T2(j,i)||T2(i,j)(1,0)");
28 test_for_zero(t2s_1(1, 1) - (t2_2(1, 1) + t2_2(1, 1)),
29 "T2(j,i)||T2(i,j)(1,1)");
30 test_for_zero(t2s_1(1, 2) - (t2_2(1, 2) + t2_2(2, 1)),
31 "T2(j,i)||T2(i,j)(1,2)");
32 test_for_zero(t2s_1(2, 0) - (t2_2(2, 0) + t2_2(0, 2)),
33 "T2(j,i)||T2(i,j)(2,0)");
34 test_for_zero(t2s_1(2, 1) - (t2_2(2, 1) + t2_2(1, 2)),
35 "T2(j,i)||T2(i,j)(2,1)");
36 test_for_zero(t2s_1(2, 2) - (t2_2(2, 2) + t2_2(2, 2)),
37 "T2(j,i)||T2(i,j)(2,2)");
38}

◆ test_T2s_04()

void test_T2s_04 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_04.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2_1(i, j) = t2_2(j, i);
21 t2s_1(i, j) = (t2_2(i, j) || t2_1(i, j));
22 test_for_zero(t2s_1(0, 0) - (t2_1(0, 0) + t2_2(0, 0)),
23 "T2(i,j)||T2(i,j)(0,0)");
24 test_for_zero(t2s_1(0, 1) - (t2_1(0, 1) + t2_2(0, 1)),
25 "T2(i,j)||T2(i,j)(0,1)");
26 test_for_zero(t2s_1(0, 2) - (t2_1(0, 2) + t2_2(0, 2)),
27 "T2(i,j)||T2(i,j)(0,2)");
28 test_for_zero(t2s_1(1, 0) - (t2_1(1, 0) + t2_2(1, 0)),
29 "T2(i,j)||T2(i,j)(1,0)");
30 test_for_zero(t2s_1(1, 1) - (t2_1(1, 1) + t2_2(1, 1)),
31 "T2(i,j)||T2(i,j)(1,1)");
32 test_for_zero(t2s_1(1, 2) - (t2_1(1, 2) + t2_2(1, 2)),
33 "T2(i,j)||T2(i,j)(1,2)");
34 test_for_zero(t2s_1(2, 0) - (t2_1(2, 0) + t2_2(2, 0)),
35 "T2(i,j)||T2(i,j)(2,0)");
36 test_for_zero(t2s_1(2, 1) - (t2_1(2, 1) + t2_2(2, 1)),
37 "T2(i,j)||T2(i,j)(2,1)");
38 test_for_zero(t2s_1(2, 2) - (t2_1(2, 2) + t2_2(2, 2)),
39 "T2(i,j)||T2(i,j)(2,2)");
40}

◆ test_T2s_05()

void test_T2s_05 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_05.cpp.

9{
10 Index<'i', 3> i;
11
12 Number<0> N0;
13 Number<1> N1;
14 Number<2> N2;
15
16 /* Tensor2_symmetric tests */
17
18 /* Test of Number<> as an index. */
19
20 t2s_1(N0, i) = t1_2(i);
21 test_for_zero(t2s_1(0, 0) - t1_2(0), "T2s(N,i)(0,0)");
22 test_for_zero(t2s_1(0, 1) - t1_2(1), "T2s(N,i)(0,1)");
23 test_for_zero(t2s_1(0, 2) - t1_2(2), "T2s(N,i)(0,2)");
24 t2s_1(N1, i) = t1_2(i);
25 test_for_zero(t2s_1(1, 0) - t1_2(0), "T2s(N,i)(1,0)");
26 test_for_zero(t2s_1(1, 1) - t1_2(1), "T2s(N,i)(1,1)");
27 test_for_zero(t2s_1(1, 2) - t1_2(2), "T2s(N,i)(1,2)");
28 t2s_1(N2, i) = t1_2(i);
29 test_for_zero(t2s_1(2, 0) - t1_2(0), "T2s(N,i)(2,0)");
30 test_for_zero(t2s_1(2, 1) - t1_2(1), "T2s(N,i)(2,1)");
31 test_for_zero(t2s_1(2, 2) - t1_2(2), "T2s(N,i)(2,2)");
32}

◆ test_T2s_06()

void test_T2s_06 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_06.cpp.

9{
10 Index<'i', 3> i;
11
12 Number<0> N0;
13 Number<1> N1;
14 Number<2> N2;
15
16 /* Tensor2_symmetric tests */
17
18 /* Test of Number<> as an index. */
19
20 t2s_1(i, N0) = t1_2(i);
21 test_for_zero(t2s_1(0, 0) - t1_2(0), "T2s(i,N)(0,0)");
22 test_for_zero(t2s_1(0, 1) - t1_2(1), "T2s(i,N)(0,1)");
23 test_for_zero(t2s_1(0, 2) - t1_2(2), "T2s(i,N)(0,2)");
24 t2s_1(i, N1) = t1_2(i);
25 test_for_zero(t2s_1(1, 0) - t1_2(0), "T2s(i,N)(1,0)");
26 test_for_zero(t2s_1(1, 1) - t1_2(1), "T2s(i,N)(1,1)");
27 test_for_zero(t2s_1(1, 2) - t1_2(2), "T2s(i,N)(1,2)");
28 t2s_1(i, N2) = t1_2(i);
29 test_for_zero(t2s_1(2, 0) - t1_2(0), "T2s(i,N)(2,0)");
30 test_for_zero(t2s_1(2, 1) - t1_2(1), "T2s(i,N)(2,1)");
31 test_for_zero(t2s_1(2, 2) - t1_2(2), "T2s(i,N)(2,2)");
32}

◆ test_T2s_07()

void test_T2s_07 ( Tensor1< double, 3 > & t1_1,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_07.cpp.

8{
9 Index<'i', 3> i;
10
11 Number<0> N0;
12 Number<1> N1;
13 Number<2> N2;
14
15 /* Tensor2_symmetric tests */
16
17 /* Test of actual numerals as an index. */
18
19 t1_1(i) = t2s_1(0, i);
20 test_for_zero(t2s_1(0, 0) - t1_1(0), "T2s(Num,i)(0,0)");
21 test_for_zero(t2s_1(0, 1) - t1_1(1), "T2s(Num,i)(0,1)");
22 test_for_zero(t2s_1(0, 2) - t1_1(2), "T2s(Num,i)(0,2)");
23 t1_1(i) = t2s_1(1, i);
24 test_for_zero(t2s_1(1, 0) - t1_1(0), "T2s(Num,i)(1,0)");
25 test_for_zero(t2s_1(1, 1) - t1_1(1), "T2s(Num,i)(1,1)");
26 test_for_zero(t2s_1(1, 2) - t1_1(2), "T2s(Num,i)(1,2)");
27 t1_1(i) = t2s_1(2, i);
28 test_for_zero(t2s_1(2, 0) - t1_1(0), "T2s(Num,i)(2,0)");
29 test_for_zero(t2s_1(2, 1) - t1_1(1), "T2s(Num,i)(2,1)");
30 test_for_zero(t2s_1(2, 2) - t1_1(2), "T2s(Num,i)(2,2)");
31}

◆ test_T2s_08()

void test_T2s_08 ( Tensor1< double, 3 > & t1_1,
const Tensor1< double, 3 > & t1_2,
const Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_08.cpp.

9{
10 Index<'i', 3> i;
11
12 Number<0> N0;
13 Number<1> N1;
14 Number<2> N2;
15
16 /* Tensor2_symmetric tests */
17
18 /* Test of actual numerals as an index. */
19
20 t1_1(i) = t2s_1(i, 0);
21 test_for_zero(t2s_1(0, 0) - t1_1(0), "T2s(i,Num)(0,0)");
22 test_for_zero(t2s_1(0, 1) - t1_1(1), "T2s(i,Num)(0,1)");
23 test_for_zero(t2s_1(0, 2) - t1_1(2), "T2s(i,Num)(0,2)");
24 t1_1(i) = t2s_1(i, 1);
25 test_for_zero(t2s_1(1, 0) - t1_1(0), "T2s(i,Num)(1,0)");
26 test_for_zero(t2s_1(1, 1) - t1_1(1), "T2s(i,Num)(1,1)");
27 test_for_zero(t2s_1(1, 2) - t1_1(2), "T2s(i,Num)(1,2)");
28 t1_1(i) = t2s_1(i, 2);
29 test_for_zero(t2s_1(2, 0) - t1_1(0), "T2s(i,Num)(2,0)");
30 test_for_zero(t2s_1(2, 1) - t1_1(1), "T2s(i,Num)(2,1)");
31 test_for_zero(t2s_1(2, 2) - t1_1(2), "T2s(i,Num)(2,2)");
32
33 test_for_zero(t2s_1(i, i) - (t1_2(0) + t1_2(1) + t1_2(2)), "T2s(i,i)");
34}

◆ test_T2s_09()

void test_T2s_09 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_09.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* add/subtract */
21
22 t2s_1(i, j) = t2s_2(i, j) - (t1_2(i) ^ t1_2(j));
23 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) - t1_2(0) * t1_2(0)),
24 "T2s(i,j)-T2s(i,j)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) - t1_2(0) * t1_2(1)),
26 "T2s(i,j)-T2s(i,j)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) - t1_2(0) * t1_2(2)),
28 "T2s(i,j)-T2s(i,j)(0,2)");
29 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) - t1_2(1) * t1_2(1)),
30 "T2s(i,j)-T2s(i,j)(1,1)");
31 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) - t1_2(1) * t1_2(2)),
32 "T2s(i,j)-T2s(i,j)(1,2)");
33 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) - t1_2(2) * t1_2(2)),
34 "T2s(i,j)-T2s(i,j)(2,2)");
35}

◆ test_T2s_10()

void test_T2s_10 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_10.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* add/subtract */
21
22 t2s_1(i, j) = t2s_2(i, j) - (t1_2(j) ^ t1_2(i));
23 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) - t1_2(0) * t1_2(0)),
24 "T2s(i,j)-T2s(j,i)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) - t1_2(1) * t1_2(0)),
26 "T2s(i,j)-T2s(j,i)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) - t1_2(2) * t1_2(0)),
28 "T2s(i,j)-T2s(j,i)(0,2)");
29 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) - t1_2(1) * t1_2(1)),
30 "T2s(i,j)-T2s(j,i)(1,1)");
31 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) - t1_2(2) * t1_2(1)),
32 "T2s(i,j)-T2s(j,i)(1,2)");
33 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) - t1_2(2) * t1_2(2)),
34 "T2s(i,j)-T2s(j,i)(2,2)");
35}

◆ test_T2s_11()

void test_T2s_11 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_11.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* add/subtract */
21
22 t2s_1(i, j) = t2s_2(i, j) + (t1_2(i) ^ t1_2(j));
23 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) + t1_2(0) * t1_2(0)),
24 "T2s(i,j)+T2s(i,j)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) + t1_2(0) * t1_2(1)),
26 "T2s(i,j)+T2s(i,j)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) + t1_2(0) * t1_2(2)),
28 "T2s(i,j)+T2s(i,j)(0,2)");
29 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) + t1_2(1) * t1_2(1)),
30 "T2s(i,j)+T2s(i,j)(1,1)");
31 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) + t1_2(1) * t1_2(2)),
32 "T2s(i,j)+T2s(i,j)(1,2)");
33 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) + t1_2(2) * t1_2(2)),
34 "T2s(i,j)+T2s(i,j)(2,2)");
35}

◆ test_T2s_12()

void test_T2s_12 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_12.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* add/subtract */
21
22 t2s_1(i, j) = t2s_2(i, j) + (t1_2(j) ^ t1_2(i));
23 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) + t1_2(0) * t1_2(0)),
24 "T2s(i,j)+T2s(j,i)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) + t1_2(1) * t1_2(0)),
26 "T2s(i,j)+T2s(j,i)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) + t1_2(2) * t1_2(0)),
28 "T2s(i,j)+T2s(j,i)(0,2)");
29 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) + t1_2(1) * t1_2(1)),
30 "T2s(i,j)+T2s(j,i)(1,1)");
31 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) + t1_2(2) * t1_2(1)),
32 "T2s(i,j)+T2s(j,i)(1,2)");
33 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) + t1_2(2) * t1_2(2)),
34 "T2s(i,j)+T2s(j,i)(2,2)");
35}

◆ test_T2s_13()

void test_T2s_13 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_13.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 t2s_1(i, j) = t2s_2(i, j) + (t1_2(j) ^ t1_2(i));
23 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) + t1_2(0) * t1_2(0)),
24 "T2s(i,j)=T2s(i,j)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) + t1_2(0) * t1_2(1)),
26 "T2s(i,j)=T2s(i,j)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) + t1_2(0) * t1_2(2)),
28 "T2s(i,j)=T2s(i,j)(0,2)");
29 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) + t1_2(1) * t1_2(0)),
30 "T2s(i,j)=T2s(i,j)(1,0)");
31 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) + t1_2(1) * t1_2(1)),
32 "T2s(i,j)=T2s(i,j)(1,1)");
33 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) + t1_2(1) * t1_2(2)),
34 "T2s(i,j)=T2s(i,j)(1,2)");
35 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) + t1_2(2) * t1_2(0)),
36 "T2s(i,j)=T2s(i,j)(2,0)");
37 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) + t1_2(2) * t1_2(1)),
38 "T2s(i,j)=T2s(i,j)(2,1)");
39 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) + t1_2(2) * t1_2(2)),
40 "T2s(i,j)=T2s(i,j)(2,2)");
41}

◆ test_T2s_14()

void test_T2s_14 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_14.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 t2s_1(i, j) += t2s_2(i, j);
23 test_for_zero(t2s_1(0, 0) - (2 * t2s_2(0, 0) + t1_2(0) * t1_2(0)),
24 "T2s(i,j)+=T2s(i,j)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (2 * t2s_2(0, 1) + t1_2(0) * t1_2(1)),
26 "T2s(i,j)+=T2s(i,j)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (2 * t2s_2(0, 2) + t1_2(0) * t1_2(2)),
28 "T2s(i,j)+=T2s(i,j)(0,2)");
29 test_for_zero(t2s_1(1, 0) - (2 * t2s_2(1, 0) + t1_2(1) * t1_2(0)),
30 "T2s(i,j)+=T2s(i,j)(1,0)");
31 test_for_zero(t2s_1(1, 1) - (2 * t2s_2(1, 1) + t1_2(1) * t1_2(1)),
32 "T2s(i,j)+=T2s(i,j)(1,1)");
33 test_for_zero(t2s_1(1, 2) - (2 * t2s_2(1, 2) + t1_2(1) * t1_2(2)),
34 "T2s(i,j)+=T2s(i,j)(1,2)");
35 test_for_zero(t2s_1(2, 0) - (2 * t2s_2(2, 0) + t1_2(2) * t1_2(0)),
36 "T2s(i,j)+=T2s(i,j)(2,0)");
37 test_for_zero(t2s_1(2, 1) - (2 * t2s_2(2, 1) + t1_2(2) * t1_2(1)),
38 "T2s(i,j)+=T2s(i,j)(2,1)");
39 test_for_zero(t2s_1(2, 2) - (2 * t2s_2(2, 2) + t1_2(2) * t1_2(2)),
40 "T2s(i,j)+=T2s(i,j)(2,2)");
41}

◆ test_T2s_15()

void test_T2s_15 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_15.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 t2s_1(i, j) -= 5 * t2s_2(i, j);
23 test_for_zero(t2s_1(0, 0) - (-3 * t2s_2(0, 0) + t1_2(0) * t1_2(0)),
24 "T2s(i,j)-=T2s(i,j)(0,0)");
25 test_for_zero(t2s_1(0, 1) - (-3 * t2s_2(0, 1) + t1_2(0) * t1_2(1)),
26 "T2s(i,j)-=T2s(i,j)(0,1)");
27 test_for_zero(t2s_1(0, 2) - (-3 * t2s_2(0, 2) + t1_2(0) * t1_2(2)),
28 "T2s(i,j)-=T2s(i,j)(0,2)");
29 test_for_zero(t2s_1(1, 0) - (-3 * t2s_2(1, 0) + t1_2(1) * t1_2(0)),
30 "T2s(i,j)-=T2s(i,j)(1,0)");
31 test_for_zero(t2s_1(1, 1) - (-3 * t2s_2(1, 1) + t1_2(1) * t1_2(1)),
32 "T2s(i,j)-=T2s(i,j)(1,1)");
33 test_for_zero(t2s_1(1, 2) - (-3 * t2s_2(1, 2) + t1_2(1) * t1_2(2)),
34 "T2s(i,j)-=T2s(i,j)(1,2)");
35 test_for_zero(t2s_1(2, 0) - (-3 * t2s_2(2, 0) + t1_2(2) * t1_2(0)),
36 "T2s(i,j)-=T2s(i,j)(2,0)");
37 test_for_zero(t2s_1(2, 1) - (-3 * t2s_2(2, 1) + t1_2(2) * t1_2(1)),
38 "T2s(i,j)-=T2s(i,j)(2,1)");
39 test_for_zero(t2s_1(2, 2) - (-3 * t2s_2(2, 2) + t1_2(2) * t1_2(2)),
40 "T2s(i,j)-=T2s(i,j)(2,2)");
41}

◆ test_T2s_16()

void test_T2s_16 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_16.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 /* Switch indices */
23
24 t2s_1(j, i) = t2s_2(i, j) + (t1_2(j) ^ t1_2(i));
25 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) + t1_2(0) * t1_2(0)),
26 "T2s(j,i)=T2s(i,j)+T2s(j,i)(0,0)");
27 test_for_zero(t2s_1(1, 0) - (t2s_2(0, 1) + t1_2(0) * t1_2(1)),
28 "T2s(j,i)=T2s(i,j)+T2s(j,i)(0,1)");
29 test_for_zero(t2s_1(2, 0) - (t2s_2(0, 2) + t1_2(0) * t1_2(2)),
30 "T2s(j,i)=T2s(i,j)+T2s(j,i)(0,2)");
31 test_for_zero(t2s_1(0, 1) - (t2s_2(1, 0) + t1_2(1) * t1_2(0)),
32 "T2s(j,i)=T2s(i,j)+T2s(j,i)(1,0)");
33 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) + t1_2(1) * t1_2(1)),
34 "T2s(j,i)=T2s(i,j)+T2s(j,i)(1,1)");
35 test_for_zero(t2s_1(2, 1) - (t2s_2(1, 2) + t1_2(1) * t1_2(2)),
36 "T2s(j,i)=T2s(i,j)+T2s(j,i)(1,2)");
37 test_for_zero(t2s_1(0, 2) - (t2s_2(2, 0) + t1_2(2) * t1_2(0)),
38 "T2s(j,i)=T2s(i,j)+T2s(j,i)(2,0)");
39 test_for_zero(t2s_1(1, 2) - (t2s_2(2, 1) + t1_2(2) * t1_2(1)),
40 "T2s(j,i)=T2s(i,j)+T2s(j,i)(2,1)");
41 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) + t1_2(2) * t1_2(2)),
42 "T2s(j,i)=T2s(i,j)+T2s(j,i)(2,2)");
43}

◆ test_T2s_17()

void test_T2s_17 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_17.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 /* Switch indices */
23
24 t2s_1(j, i) += t2s_2(i, j);
25 test_for_zero(t2s_1(0, 0) - (2 * t2s_2(0, 0) + t1_2(0) * t1_2(0)),
26 "T2s(j,i)+=T2s(i,j)(0,0)");
27 test_for_zero(t2s_1(1, 0) - (2 * t2s_2(0, 1) + t1_2(0) * t1_2(1)),
28 "T2s(j,i)+=T2s(i,j)(0,1)");
29 test_for_zero(t2s_1(2, 0) - (2 * t2s_2(0, 2) + t1_2(0) * t1_2(2)),
30 "T2s(j,i)+=T2s(i,j)(0,2)");
31 test_for_zero(t2s_1(0, 1) - (2 * t2s_2(1, 0) + t1_2(1) * t1_2(0)),
32 "T2s(j,i)+=T2s(i,j)(1,0)");
33 test_for_zero(t2s_1(1, 1) - (2 * t2s_2(1, 1) + t1_2(1) * t1_2(1)),
34 "T2s(j,i)+=T2s(i,j)(1,1)");
35 test_for_zero(t2s_1(2, 1) - (2 * t2s_2(1, 2) + t1_2(1) * t1_2(2)),
36 "T2s(j,i)+=T2s(i,j)(1,2)");
37 test_for_zero(t2s_1(0, 2) - (2 * t2s_2(2, 0) + t1_2(2) * t1_2(0)),
38 "T2s(j,i)+=T2s(i,j)(2,0)");
39 test_for_zero(t2s_1(1, 2) - (2 * t2s_2(2, 1) + t1_2(2) * t1_2(1)),
40 "T2s(j,i)+=T2s(i,j)(2,1)");
41 test_for_zero(t2s_1(2, 2) - (2 * t2s_2(2, 2) + t1_2(2) * t1_2(2)),
42 "T2s(j,i)+=T2s(i,j)(2,2)");
43}

◆ test_T2s_18()

void test_T2s_18 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_18.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 /* Switch indices */
23
24 t2s_1(j, i) -= 5 * t2s_2(i, j);
25 test_for_zero(t2s_1(0, 0) - (-3 * t2s_2(0, 0) + t1_2(0) * t1_2(0)),
26 "T2s(j,i)-=T2s(i,j)(0,0)");
27 test_for_zero(t2s_1(1, 0) - (-3 * t2s_2(0, 1) + t1_2(0) * t1_2(1)),
28 "T2s(j,i)-=T2s(i,j)(0,1)");
29 test_for_zero(t2s_1(2, 0) - (-3 * t2s_2(0, 2) + t1_2(0) * t1_2(2)),
30 "T2s(j,i)-=T2s(i,j)(0,2)");
31 test_for_zero(t2s_1(0, 1) - (-3 * t2s_2(1, 0) + t1_2(1) * t1_2(0)),
32 "T2s(j,i)-=T2s(i,j)(1,0)");
33 test_for_zero(t2s_1(1, 1) - (-3 * t2s_2(1, 1) + t1_2(1) * t1_2(1)),
34 "T2s(j,i)-=T2s(i,j)(1,1)");
35 test_for_zero(t2s_1(2, 1) - (-3 * t2s_2(1, 2) + t1_2(1) * t1_2(2)),
36 "T2s(j,i)-=T2s(i,j)(1,2)");
37 test_for_zero(t2s_1(0, 2) - (-3 * t2s_2(2, 0) + t1_2(2) * t1_2(0)),
38 "T2s(j,i)-=T2s(i,j)(2,0)");
39 test_for_zero(t2s_1(1, 2) - (-3 * t2s_2(2, 1) + t1_2(2) * t1_2(1)),
40 "T2s(j,i)-=T2s(i,j)(2,1)");
41 test_for_zero(t2s_1(2, 2) - (-3 * t2s_2(2, 2) + t1_2(2) * t1_2(2)),
42 "T2s(j,i)-=T2s(i,j)(2,2)");
43}

◆ test_T2s_19()

void test_T2s_19 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_19.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 /* Equals */
21
22 t2s_1(i, j) += 10;
23 test_for_zero(t2s_1(0, 0) - (-3 * t2s_2(0, 0) + t1_2(0) * t1_2(0) + 10),
24 "T2s+=T(0,0)");
25 test_for_zero(t2s_1(1, 0) - (-3 * t2s_2(0, 1) + t1_2(0) * t1_2(1) + 10),
26 "T2s+=T(0,1)");
27 test_for_zero(t2s_1(2, 0) - (-3 * t2s_2(0, 2) + t1_2(0) * t1_2(2) + 10),
28 "T2s+=T(0,2)");
29 test_for_zero(t2s_1(0, 1) - (-3 * t2s_2(1, 0) + t1_2(1) * t1_2(0) + 10),
30 "T2s+=T(1,0)");
31 test_for_zero(t2s_1(1, 1) - (-3 * t2s_2(1, 1) + t1_2(1) * t1_2(1) + 10),
32 "T2s+=T(1,1)");
33 test_for_zero(t2s_1(2, 1) - (-3 * t2s_2(1, 2) + t1_2(1) * t1_2(2) + 10),
34 "T2s+=T(1,2)");
35 test_for_zero(t2s_1(0, 2) - (-3 * t2s_2(2, 0) + t1_2(2) * t1_2(0) + 10),
36 "T2s+=T(2,0)");
37 test_for_zero(t2s_1(1, 2) - (-3 * t2s_2(2, 1) + t1_2(2) * t1_2(1) + 10),
38 "T2s+=T(2,1)");
39 test_for_zero(t2s_1(2, 2) - (-3 * t2s_2(2, 2) + t1_2(2) * t1_2(2) + 10),
40 "T2s+=T(2,2)");
41
42 t2s_1(i, j) -= 7;
43 test_for_zero(t2s_1(0, 0) - (-3 * t2s_2(0, 0) + t1_2(0) * t1_2(0) + 3),
44 "T2s-=T(0,0)");
45 test_for_zero(t2s_1(1, 0) - (-3 * t2s_2(0, 1) + t1_2(0) * t1_2(1) + 3),
46 "T2s-=T(0,1)");
47 test_for_zero(t2s_1(2, 0) - (-3 * t2s_2(0, 2) + t1_2(0) * t1_2(2) + 3),
48 "T2s-=T(0,2)");
49 test_for_zero(t2s_1(0, 1) - (-3 * t2s_2(1, 0) + t1_2(1) * t1_2(0) + 3),
50 "T2s-=T(1,0)");
51 test_for_zero(t2s_1(1, 1) - (-3 * t2s_2(1, 1) + t1_2(1) * t1_2(1) + 3),
52 "T2s-=T(1,1)");
53 test_for_zero(t2s_1(2, 1) - (-3 * t2s_2(1, 2) + t1_2(1) * t1_2(2) + 3),
54 "T2s-=T(1,2)");
55 test_for_zero(t2s_1(0, 2) - (-3 * t2s_2(2, 0) + t1_2(2) * t1_2(0) + 3),
56 "T2s-=T(2,0)");
57 test_for_zero(t2s_1(1, 2) - (-3 * t2s_2(2, 1) + t1_2(2) * t1_2(1) + 3),
58 "T2s-=T(2,1)");
59 test_for_zero(t2s_1(2, 2) - (-3 * t2s_2(2, 2) + t1_2(2) * t1_2(2) + 3),
60 "T2s-=T(2,2)");
61
62 t2s_1(i, j) *= 12;
63 test_for_zero(t2s_1(0, 0) - (-3 * t2s_2(0, 0) + t1_2(0) * t1_2(0) + 3) * 12,
64 "T2s*=T(0,0)");
65 test_for_zero(t2s_1(1, 0) - (-3 * t2s_2(0, 1) + t1_2(0) * t1_2(1) + 3) * 12,
66 "T2s*=T(0,1)");
67 test_for_zero(t2s_1(2, 0) - (-3 * t2s_2(0, 2) + t1_2(0) * t1_2(2) + 3) * 12,
68 "T2s*=T(0,2)");
69 test_for_zero(t2s_1(0, 1) - (-3 * t2s_2(1, 0) + t1_2(1) * t1_2(0) + 3) * 12,
70 "T2s*=T(1,0)");
71 test_for_zero(t2s_1(1, 1) - (-3 * t2s_2(1, 1) + t1_2(1) * t1_2(1) + 3) * 12,
72 "T2s*=T(1,1)");
73 test_for_zero(t2s_1(2, 1) - (-3 * t2s_2(1, 2) + t1_2(1) * t1_2(2) + 3) * 12,
74 "T2s*=T(1,2)");
75 test_for_zero(t2s_1(0, 2) - (-3 * t2s_2(2, 0) + t1_2(2) * t1_2(0) + 3) * 12,
76 "T2s*=T(2,0)");
77 test_for_zero(t2s_1(1, 2) - (-3 * t2s_2(2, 1) + t1_2(2) * t1_2(1) + 3) * 12,
78 "T2s*=T(2,1)");
79 test_for_zero(t2s_1(2, 2) - (-3 * t2s_2(2, 2) + t1_2(2) * t1_2(2) + 3) * 12,
80 "T2s*=T(2,2)");
81
82 t2s_1(i, j) /= 4;
83 test_for_zero(t2s_1(0, 0) - (-3 * t2s_2(0, 0) + t1_2(0) * t1_2(0) + 3) * 3,
84 "T2s/=T(0,0)");
85 test_for_zero(t2s_1(1, 0) - (-3 * t2s_2(0, 1) + t1_2(0) * t1_2(1) + 3) * 3,
86 "T2s/=T(0,1)");
87 test_for_zero(t2s_1(2, 0) - (-3 * t2s_2(0, 2) + t1_2(0) * t1_2(2) + 3) * 3,
88 "T2s/=T(0,2)");
89 test_for_zero(t2s_1(0, 1) - (-3 * t2s_2(1, 0) + t1_2(1) * t1_2(0) + 3) * 3,
90 "T2s/=T(1,0)");
91 test_for_zero(t2s_1(1, 1) - (-3 * t2s_2(1, 1) + t1_2(1) * t1_2(1) + 3) * 3,
92 "T2s/=T(1,1)");
93 test_for_zero(t2s_1(2, 1) - (-3 * t2s_2(1, 2) + t1_2(1) * t1_2(2) + 3) * 3,
94 "T2s/=T(1,2)");
95 test_for_zero(t2s_1(0, 2) - (-3 * t2s_2(2, 0) + t1_2(2) * t1_2(0) + 3) * 3,
96 "T2s/=T(2,0)");
97 test_for_zero(t2s_1(1, 2) - (-3 * t2s_2(2, 1) + t1_2(2) * t1_2(1) + 3) * 3,
98 "T2s/=T(2,1)");
99 test_for_zero(t2s_1(2, 2) - (-3 * t2s_2(2, 2) + t1_2(2) * t1_2(2) + 3) * 3,
100 "T2s/=T(2,2)");
101
102 t2s_1(i, j) = 10;
103 test_for_zero(t2s_1(0, 0) - 10, "T2s=T(0,0)");
104 test_for_zero(t2s_1(1, 0) - 10, "T2s=T(0,1)");
105 test_for_zero(t2s_1(2, 0) - 10, "T2s=T(0,2)");
106 test_for_zero(t2s_1(0, 1) - 10, "T2s=T(1,0)");
107 test_for_zero(t2s_1(1, 1) - 10, "T2s=T(1,1)");
108 test_for_zero(t2s_1(2, 1) - 10, "T2s=T(1,2)");
109 test_for_zero(t2s_1(0, 2) - 10, "T2s=T(2,0)");
110 test_for_zero(t2s_1(1, 2) - 10, "T2s=T(2,1)");
111 test_for_zero(t2s_1(2, 2) - 10, "T2s=T(2,2)");
112}

◆ 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 at line 7 of file test_T2s_20.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
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}

◆ test_T2s_21()

void test_T2s_21 ( Tensor1< double, 3 > & t1_1,
const Tensor1< double, 3 > & t1_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_21.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
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(j) = t2s_2(i, j) * t1_2(i);
22 test_for_zero(t1_1(0)
23 - (t2s_2(0, 0) * t1_2(0) + t2s_2(1, 0) * t1_2(1)
24 + t2s_2(2, 0) * t1_2(2)),
25 "T2s(i,j)*T1(i)(0)");
26 test_for_zero(t1_1(1)
27 - (t2s_2(0, 1) * t1_2(0) + t2s_2(1, 1) * t1_2(1)
28 + t2s_2(2, 1) * t1_2(2)),
29 "T2s(i,j)*T1(i)(1)");
30 test_for_zero(t1_1(2)
31 - (t2s_2(0, 2) * t1_2(0) + t2s_2(1, 2) * t1_2(1)
32 + t2s_2(2, 2) * t1_2(2)),
33 "T2s(i,j)*T1(i)(2)");
34
35 t1_1(j) = t1_2(i) * t2s_2(i, j);
36 test_for_zero(t1_1(0)
37 - (t2s_2(0, 0) * t1_2(0) + t2s_2(1, 0) * t1_2(1)
38 + t2s_2(2, 0) * t1_2(2)),
39 "T1(i)*T2s(i,j)(0)");
40 test_for_zero(t1_1(1)
41 - (t2s_2(0, 1) * t1_2(0) + t2s_2(1, 1) * t1_2(1)
42 + t2s_2(2, 1) * t1_2(2)),
43 "T1(i)*T2s(i,j)(1)");
44 test_for_zero(t1_1(2)
45 - (t2s_2(0, 2) * t1_2(0) + t2s_2(1, 2) * t1_2(1)
46 + t2s_2(2, 2) * t1_2(2)),
47 "T1(i)*T2s(i,j)(2)");
48}

◆ test_T2s_22()

void test_T2s_22 ( Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_22.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 /* Tensor2_symmetric*Tensor2_symmetric */
20
21 test_for_zero(t2s_1(i, j) * t2s_2(i, j)
22 - (t2s_1(0, 0) * t2s_2(0, 0) + t2s_1(0, 1) * t2s_2(0, 1)
23 + t2s_1(0, 2) * t2s_2(0, 2) + t2s_1(1, 0) * t2s_2(1, 0)
24 + t2s_1(1, 1) * t2s_2(1, 1) + t2s_1(1, 2) * t2s_2(1, 2)
25 + t2s_1(2, 0) * t2s_2(2, 0) + t2s_1(2, 1) * t2s_2(2, 1)
26 + t2s_1(2, 2) * t2s_2(2, 2)),
27 "T2s(i,j)*T2s(i,j)");
28
29 test_for_zero(t2s_1(i, j) * t2s_2(j, i)
30 - (t2s_1(0, 0) * t2s_2(0, 0) + t2s_1(0, 1) * t2s_2(1, 0)
31 + t2s_1(0, 2) * t2s_2(2, 0) + t2s_1(1, 0) * t2s_2(0, 1)
32 + t2s_1(1, 1) * t2s_2(1, 1) + t2s_1(1, 2) * t2s_2(2, 1)
33 + t2s_1(2, 0) * t2s_2(0, 2) + t2s_1(2, 1) * t2s_2(1, 2)
34 + t2s_1(2, 2) * t2s_2(2, 2)),
35 "T2s(i,j)*T2s(j,i)");
36}

◆ test_T2s_23()

void test_T2s_23 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2_symmetric< double, 3 > & t2s_2,
const Tensor2_symmetric< double, 3 > & t2s_3 )

Definition at line 7 of file test_T2s_23.cpp.

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 /* Tensor2_symmetric tests */
20
21 /* Tensor2_symmetric*Tensor2_symmetric */
22
23 t2_1(i, k) = t2s_2(i, j) * t2s_3(j, k);
24 test_for_zero(t2_1(0, 0)
25 - (t2s_2(0, 0) * t2s_3(0, 0) + t2s_2(0, 1) * t2s_3(1, 0)
26 + t2s_2(0, 2) * t2s_3(2, 0)),
27 "T2s(i,j)*T2s(j,k)(0,0)");
28 test_for_zero(t2_1(0, 1)
29 - (t2s_2(0, 0) * t2s_3(0, 1) + t2s_2(0, 1) * t2s_3(1, 1)
30 + t2s_2(0, 2) * t2s_3(2, 1)),
31 "T2s(i,j)*T2s(j,k)(0,1)");
32 test_for_zero(t2_1(0, 2)
33 - (t2s_2(0, 0) * t2s_3(0, 2) + t2s_2(0, 1) * t2s_3(1, 2)
34 + t2s_2(0, 2) * t2s_3(2, 2)),
35 "T2s(i,j)*T2s(j,k)(0,2)");
36 test_for_zero(t2_1(1, 0)
37 - (t2s_2(1, 0) * t2s_3(0, 0) + t2s_2(1, 1) * t2s_3(1, 0)
38 + t2s_2(1, 2) * t2s_3(2, 0)),
39 "T2s(i,j)*T2s(j,k)(1,0)");
40 test_for_zero(t2_1(1, 1)
41 - (t2s_2(1, 0) * t2s_3(0, 1) + t2s_2(1, 1) * t2s_3(1, 1)
42 + t2s_2(1, 2) * t2s_3(2, 1)),
43 "T2s(i,j)*T2s(j,k)(1,1)");
44 test_for_zero(t2_1(1, 2)
45 - (t2s_2(1, 0) * t2s_3(0, 2) + t2s_2(1, 1) * t2s_3(1, 2)
46 + t2s_2(1, 2) * t2s_3(2, 2)),
47 "T2s(i,j)*T2s(j,k)(1,2)");
48 test_for_zero(t2_1(2, 0)
49 - (t2s_2(2, 0) * t2s_3(0, 0) + t2s_2(2, 1) * t2s_3(1, 0)
50 + t2s_2(2, 2) * t2s_3(2, 0)),
51 "T2s(i,j)*T2s(j,k)(2,0)");
52 test_for_zero(t2_1(2, 1)
53 - (t2s_2(2, 0) * t2s_3(0, 1) + t2s_2(2, 1) * t2s_3(1, 1)
54 + t2s_2(2, 2) * t2s_3(2, 1)),
55 "T2s(i,j)*T2s(j,k)(2,1)");
56 test_for_zero(t2_1(2, 2)
57 - (t2s_2(2, 0) * t2s_3(0, 2) + t2s_2(2, 1) * t2s_3(1, 2)
58 + t2s_2(2, 2) * t2s_3(2, 2)),
59 "T2s(i,j)*T2s(j,k)(2,2)");
60}
FTensor::Index< 'k', 3 > k

◆ test_T2s_24()

void test_T2s_24 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2_symmetric< double, 3 > & t2s_2,
const Tensor2_symmetric< double, 3 > & t2s_3 )

Definition at line 7 of file test_T2s_24.cpp.

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 /* Tensor2_symmetric tests */
20
21 /* Tensor2_symmetric*Tensor2_symmetric */
22
23 t2_1(i, k) = t2s_2(i, j) * t2s_3(k, j);
24 test_for_zero(t2_1(0, 0)
25 - (t2s_2(0, 0) * t2s_3(0, 0) + t2s_2(0, 1) * t2s_3(0, 1)
26 + t2s_2(0, 2) * t2s_3(0, 2)),
27 "T2s(i,j)*T2s(k,j)(0,0)");
28 test_for_zero(t2_1(0, 1)
29 - (t2s_2(0, 0) * t2s_3(1, 0) + t2s_2(0, 1) * t2s_3(1, 1)
30 + t2s_2(0, 2) * t2s_3(1, 2)),
31 "T2s(i,j)*T2s(k,j)(0,1)");
32 test_for_zero(t2_1(0, 2)
33 - (t2s_2(0, 0) * t2s_3(2, 0) + t2s_2(0, 1) * t2s_3(2, 1)
34 + t2s_2(0, 2) * t2s_3(2, 2)),
35 "T2s(i,j)*T2s(k,j)(0,2)");
36 test_for_zero(t2_1(1, 0)
37 - (t2s_2(1, 0) * t2s_3(0, 0) + t2s_2(1, 1) * t2s_3(0, 1)
38 + t2s_2(1, 2) * t2s_3(0, 2)),
39 "T2s(i,j)*T2s(k,j)(1,0)");
40 test_for_zero(t2_1(1, 1)
41 - (t2s_2(1, 0) * t2s_3(1, 0) + t2s_2(1, 1) * t2s_3(1, 1)
42 + t2s_2(1, 2) * t2s_3(1, 2)),
43 "T2s(i,j)*T2s(k,j)(1,1)");
44 test_for_zero(t2_1(1, 2)
45 - (t2s_2(1, 0) * t2s_3(2, 0) + t2s_2(1, 1) * t2s_3(2, 1)
46 + t2s_2(1, 2) * t2s_3(2, 2)),
47 "T2s(i,j)*T2s(k,j)(1,2)");
48 test_for_zero(t2_1(2, 0)
49 - (t2s_2(2, 0) * t2s_3(0, 0) + t2s_2(2, 1) * t2s_3(0, 1)
50 + t2s_2(2, 2) * t2s_3(0, 2)),
51 "T2s(i,j)*T2s(k,j)(2,0)");
52 test_for_zero(t2_1(2, 1)
53 - (t2s_2(2, 0) * t2s_3(1, 0) + t2s_2(2, 1) * t2s_3(1, 1)
54 + t2s_2(2, 2) * t2s_3(1, 2)),
55 "T2s(i,j)*T2s(k,j)(2,1)");
56 test_for_zero(t2_1(2, 2)
57 - (t2s_2(2, 0) * t2s_3(2, 0) + t2s_2(2, 1) * t2s_3(2, 1)
58 + t2s_2(2, 2) * t2s_3(2, 2)),
59 "T2s(i,j)*T2s(k,j)(2,2)");
60}

◆ test_T2s_25()

void test_T2s_25 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2_symmetric< double, 3 > & t2s_2,
const Tensor2_symmetric< double, 3 > & t2s_3 )

Definition at line 7 of file test_T2s_25.cpp.

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 /* Tensor2_symmetric tests */
20
21 /* Tensor2_symmetric*Tensor2_symmetric */
22
23 t2_1(j, k) = t2s_2(i, j) * t2s_3(i, k);
24 test_for_zero(t2_1(0, 0)
25 - (t2s_2(0, 0) * t2s_3(0, 0) + t2s_2(1, 0) * t2s_3(1, 0)
26 + t2s_2(2, 0) * t2s_3(2, 0)),
27 "T2s(i,j)*T2s(i,k)(0,0)");
28 test_for_zero(t2_1(0, 1)
29 - (t2s_2(0, 0) * t2s_3(0, 1) + t2s_2(1, 0) * t2s_3(1, 1)
30 + t2s_2(2, 0) * t2s_3(2, 1)),
31 "T2s(i,j)*T2s(i,k)(0,1)");
32 test_for_zero(t2_1(0, 2)
33 - (t2s_2(0, 0) * t2s_3(0, 2) + t2s_2(1, 0) * t2s_3(1, 2)
34 + t2s_2(2, 0) * t2s_3(2, 2)),
35 "T2s(i,j)*T2s(i,k)(0,2)");
36 test_for_zero(t2_1(1, 0)
37 - (t2s_2(0, 1) * t2s_3(0, 0) + t2s_2(1, 1) * t2s_3(1, 0)
38 + t2s_2(2, 1) * t2s_3(2, 0)),
39 "T2s(i,j)*T2s(i,k)(1,0)");
40 test_for_zero(t2_1(1, 1)
41 - (t2s_2(0, 1) * t2s_3(0, 1) + t2s_2(1, 1) * t2s_3(1, 1)
42 + t2s_2(2, 1) * t2s_3(2, 1)),
43 "T2s(i,j)*T2s(i,k)(1,1)");
44 test_for_zero(t2_1(1, 2)
45 - (t2s_2(0, 1) * t2s_3(0, 2) + t2s_2(1, 1) * t2s_3(1, 2)
46 + t2s_2(2, 1) * t2s_3(2, 2)),
47 "T2s(i,j)*T2s(i,k)(1,2)");
48 test_for_zero(t2_1(2, 0)
49 - (t2s_2(0, 2) * t2s_3(0, 0) + t2s_2(1, 2) * t2s_3(1, 0)
50 + t2s_2(2, 2) * t2s_3(2, 0)),
51 "T2s(i,j)*T2s(i,k)(2,0)");
52 test_for_zero(t2_1(2, 1)
53 - (t2s_2(0, 2) * t2s_3(0, 1) + t2s_2(1, 2) * t2s_3(1, 1)
54 + t2s_2(2, 2) * t2s_3(2, 1)),
55 "T2s(i,j)*T2s(i,k)(2,1)");
56 test_for_zero(t2_1(2, 2)
57 - (t2s_2(0, 2) * t2s_3(0, 2) + t2s_2(1, 2) * t2s_3(1, 2)
58 + t2s_2(2, 2) * t2s_3(2, 2)),
59 "T2s(i,j)*T2s(i,k)(2,2)");
60}

◆ test_T2s_26()

void test_T2s_26 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2_symmetric< double, 3 > & t2s_2,
const Tensor2_symmetric< double, 3 > & t2s_3 )

Definition at line 7 of file test_T2s_26.cpp.

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 /* Tensor2_symmetric tests */
20
21 /* Tensor2_symmetric*Tensor2_symmetric */
22
23 t2_1(j, k) = t2s_2(i, j) * t2s_3(k, i);
24 test_for_zero(t2_1(0, 0)
25 - (t2s_2(0, 0) * t2s_3(0, 0) + t2s_2(1, 0) * t2s_3(0, 1)
26 + t2s_2(2, 0) * t2s_3(0, 2)),
27 "T2s(i,j)*T2s(k,i)(0,0)");
28 test_for_zero(t2_1(0, 1)
29 - (t2s_2(0, 0) * t2s_3(1, 0) + t2s_2(1, 0) * t2s_3(1, 1)
30 + t2s_2(2, 0) * t2s_3(1, 2)),
31 "T2s(i,j)*T2s(k,i)(0,1)");
32 test_for_zero(t2_1(0, 2)
33 - (t2s_2(0, 0) * t2s_3(2, 0) + t2s_2(1, 0) * t2s_3(2, 1)
34 + t2s_2(2, 0) * t2s_3(2, 2)),
35 "T2s(i,j)*T2s(k,i)(0,2)");
36 test_for_zero(t2_1(1, 0)
37 - (t2s_2(0, 1) * t2s_3(0, 0) + t2s_2(1, 1) * t2s_3(0, 1)
38 + t2s_2(2, 1) * t2s_3(0, 2)),
39 "T2s(i,j)*T2s(k,i)(1,0)");
40 test_for_zero(t2_1(1, 1)
41 - (t2s_2(0, 1) * t2s_3(1, 0) + t2s_2(1, 1) * t2s_3(1, 1)
42 + t2s_2(2, 1) * t2s_3(1, 2)),
43 "T2s(i,j)*T2s(k,i)(1,1)");
44 test_for_zero(t2_1(1, 2)
45 - (t2s_2(0, 1) * t2s_3(2, 0) + t2s_2(1, 1) * t2s_3(2, 1)
46 + t2s_2(2, 1) * t2s_3(2, 2)),
47 "T2s(i,j)*T2s(k,i)(1,2)");
48 test_for_zero(t2_1(2, 0)
49 - (t2s_2(0, 2) * t2s_3(0, 0) + t2s_2(1, 2) * t2s_3(0, 1)
50 + t2s_2(2, 2) * t2s_3(0, 2)),
51 "T2s(i,j)*T2s(k,i)(2,0)");
52 test_for_zero(t2_1(2, 1)
53 - (t2s_2(0, 2) * t2s_3(1, 0) + t2s_2(1, 2) * t2s_3(1, 1)
54 + t2s_2(2, 2) * t2s_3(1, 2)),
55 "T2s(i,j)*T2s(k,i)(2,1)");
56 test_for_zero(t2_1(2, 2)
57 - (t2s_2(0, 2) * t2s_3(2, 0) + t2s_2(1, 2) * t2s_3(2, 1)
58 + t2s_2(2, 2) * t2s_3(2, 2)),
59 "T2s(i,j)*T2s(k,i)(2,2)");
60}

◆ test_T2s_27()

void test_T2s_27 ( Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_27.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 /* Tensor2_symmetric+-*T or /T */
20
21 t2s_1(i, j) = t2s_2(i, j) * 10;
22 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) * 10), "T2s*T(0,0)");
23 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) * 10), "T2s*T(0,1)");
24 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) * 10), "T2s*T(0,2)");
25 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) * 10), "T2s*T(1,0)");
26 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) * 10), "T2s*T(1,1)");
27 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) * 10), "T2s*T(1,2)");
28 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) * 10), "T2s*T(2,0)");
29 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) * 10), "T2s*T(2,1)");
30 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) * 10), "T2s*T(2,2)");
31
32 t2s_1(i, j) = 10 * t2s_2(i, j);
33 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) * 10), "T*T2s(0,0)");
34 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) * 10), "T*T2s(0,1)");
35 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) * 10), "T*T2s(0,2)");
36 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) * 10), "T*T2s(1,0)");
37 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) * 10), "T*T2s(1,1)");
38 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) * 10), "T*T2s(1,2)");
39 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) * 10), "T*T2s(2,0)");
40 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) * 10), "T*T2s(2,1)");
41 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) * 10), "T*T2s(2,2)");
42
43 t2s_1(i, j) = t2s_2(i, j) / 10;
44 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) / 10), "T2s/T(0,0)");
45 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) / 10), "T2s/T(0,1)");
46 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) / 10), "T2s/T(0,2)");
47 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) / 10), "T2s/T(1,0)");
48 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) / 10), "T2s/T(1,1)");
49 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) / 10), "T2s/T(1,2)");
50 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) / 10), "T2s/T(2,0)");
51 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) / 10), "T2s/T(2,1)");
52 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) / 10), "T2s/T(2,2)");
53}

◆ test_T2s_28()

void test_T2s_28 ( Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_28.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 /* Tensor2_symmetric+-*T or /T */
20
21 t2s_1(i, j) = t2s_2(i, j) + 10;
22 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) + 10), "T2s+T(0,0)");
23 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) + 10), "T2s+T(0,1)");
24 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) + 10), "T2s+T(0,2)");
25 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) + 10), "T2s+T(1,0)");
26 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) + 10), "T2s+T(1,1)");
27 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) + 10), "T2s+T(1,2)");
28 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) + 10), "T2s+T(2,0)");
29 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) + 10), "T2s+T(2,1)");
30 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) + 10), "T2s+T(2,2)");
31
32 t2s_1(i, j) = 10 + t2s_2(i, j);
33 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) + 10), "T+T2s(0,0)");
34 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) + 10), "T+T2s(0,1)");
35 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) + 10), "T+T2s(0,2)");
36 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) + 10), "T+T2s(1,0)");
37 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) + 10), "T+T2s(1,1)");
38 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) + 10), "T+T2s(1,2)");
39 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) + 10), "T+T2s(2,0)");
40 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) + 10), "T+T2s(2,1)");
41 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) + 10), "T+T2s(2,2)");
42
43 t2s_1(i, j) = t2s_2(i, j) - 10;
44 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) - 10), "T2s-T(0,0)");
45 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) - 10), "T2s-T(0,1)");
46 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) - 10), "T2s-T(0,2)");
47 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) - 10), "T2s-T(1,0)");
48 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) - 10), "T2s-T(1,1)");
49 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) - 10), "T2s-T(1,2)");
50 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) - 10), "T2s-T(2,0)");
51 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) - 10), "T2s-T(2,1)");
52 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) - 10), "T2s-T(2,2)");
53
54 t2s_1(i, j) = 10 - t2s_2(i, j);
55 test_for_zero(t2s_1(0, 0) - (10 - t2s_2(0, 0)), "T-T2s(0,0)");
56 test_for_zero(t2s_1(0, 1) - (10 - t2s_2(0, 1)), "T-T2s(0,1)");
57 test_for_zero(t2s_1(0, 2) - (10 - t2s_2(0, 2)), "T-T2s(0,2)");
58 test_for_zero(t2s_1(1, 0) - (10 - t2s_2(1, 0)), "T-T2s(1,0)");
59 test_for_zero(t2s_1(1, 1) - (10 - t2s_2(1, 1)), "T-T2s(1,1)");
60 test_for_zero(t2s_1(1, 2) - (10 - t2s_2(1, 2)), "T-T2s(1,2)");
61 test_for_zero(t2s_1(2, 0) - (10 - t2s_2(2, 0)), "T-T2s(2,0)");
62 test_for_zero(t2s_1(2, 1) - (10 - t2s_2(2, 1)), "T-T2s(2,1)");
63 test_for_zero(t2s_1(2, 2) - (10 - t2s_2(2, 2)), "T-T2s(2,2)");
64}

◆ test_T2s_29()

void test_T2s_29 ( Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_29.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 /* -Tensor2_symmetric */
20
21 t2s_1(i, j) = -t2s_2(i, j);
22 test_for_zero(t2s_1(0, 0) + (t2s_2(0, 0)), "-T2s(0,0)");
23 test_for_zero(t2s_1(0, 1) + (t2s_2(0, 1)), "-T2s(0,1)");
24 test_for_zero(t2s_1(0, 2) + (t2s_2(0, 2)), "-T2s(0,2)");
25 test_for_zero(t2s_1(1, 0) + (t2s_2(1, 0)), "-T2s(1,0)");
26 test_for_zero(t2s_1(1, 1) + (t2s_2(1, 1)), "-T2s(1,1)");
27 test_for_zero(t2s_1(1, 2) + (t2s_2(1, 2)), "-T2s(1,2)");
28 test_for_zero(t2s_1(2, 0) + (t2s_2(2, 0)), "-T2s(2,0)");
29 test_for_zero(t2s_1(2, 1) + (t2s_2(2, 1)), "-T2s(2,1)");
30 test_for_zero(t2s_1(2, 2) + (t2s_2(2, 2)), "-T2s(2,2)");
31}

◆ test_T2s_30()

void test_T2s_30 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_30.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2_1(i, j) = t2s_2(i, j) + t2_2(i, j);
21 test_for_zero(t2_1(0, 0) - (t2s_2(0, 0) + t2_2(0, 0)),
22 "T2s(i,j)+T2(i,j)(0,0)");
23 test_for_zero(t2_1(0, 1) - (t2s_2(0, 1) + t2_2(0, 1)),
24 "T2s(i,j)+T2(i,j)(0,1)");
25 test_for_zero(t2_1(0, 2) - (t2s_2(0, 2) + t2_2(0, 2)),
26 "T2s(i,j)+T2(i,j)(0,2)");
27 test_for_zero(t2_1(1, 0) - (t2s_2(1, 0) + t2_2(1, 0)),
28 "T2s(i,j)+T2(i,j)(1,0)");
29 test_for_zero(t2_1(1, 1) - (t2s_2(1, 1) + t2_2(1, 1)),
30 "T2s(i,j)+T2(i,j)(1,1)");
31 test_for_zero(t2_1(1, 2) - (t2s_2(1, 2) + t2_2(1, 2)),
32 "T2s(i,j)+T2(i,j)(1,2)");
33 test_for_zero(t2_1(2, 0) - (t2s_2(2, 0) + t2_2(2, 0)),
34 "T2s(i,j)+T2(i,j)(2,0)");
35 test_for_zero(t2_1(2, 1) - (t2s_2(2, 1) + t2_2(2, 1)),
36 "T2s(i,j)+T2(i,j)(2,1)");
37 test_for_zero(t2_1(2, 2) - (t2s_2(2, 2) + t2_2(2, 2)),
38 "T2s(i,j)+T2(i,j)(2,2)");
39 t2_1(i, j) = t2_2(i, j) + t2s_2(i, j);
40 test_for_zero(t2_1(0, 0) - (t2s_2(0, 0) + t2_2(0, 0)),
41 "T2(i,j)+T2s(i,j)(0,0)");
42 test_for_zero(t2_1(0, 1) - (t2s_2(0, 1) + t2_2(0, 1)),
43 "T2(i,j)+T2s(i,j)(0,1)");
44 test_for_zero(t2_1(0, 2) - (t2s_2(0, 2) + t2_2(0, 2)),
45 "T2(i,j)+T2s(i,j)(0,2)");
46 test_for_zero(t2_1(1, 0) - (t2s_2(1, 0) + t2_2(1, 0)),
47 "T2(i,j)+T2s(i,j)(1,0)");
48 test_for_zero(t2_1(1, 1) - (t2s_2(1, 1) + t2_2(1, 1)),
49 "T2(i,j)+T2s(i,j)(1,1)");
50 test_for_zero(t2_1(1, 2) - (t2s_2(1, 2) + t2_2(1, 2)),
51 "T2(i,j)+T2s(i,j)(1,2)");
52 test_for_zero(t2_1(2, 0) - (t2s_2(2, 0) + t2_2(2, 0)),
53 "T2(i,j)+T2s(i,j)(2,0)");
54 test_for_zero(t2_1(2, 1) - (t2s_2(2, 1) + t2_2(2, 1)),
55 "T2(i,j)+T2s(i,j)(2,1)");
56 test_for_zero(t2_1(2, 2) - (t2s_2(2, 2) + t2_2(2, 2)),
57 "T2(i,j)+T2s(i,j)(2,2)");
58}

◆ test_T2s_31()

void test_T2s_31 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_31.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2_1(i, j) = t2s_2(i, j) + t2_2(j, i);
21 test_for_zero(t2_1(0, 0) - (t2s_2(0, 0) + t2_2(0, 0)),
22 "T2s(i,j)+T2(j,i)(0,0)");
23 test_for_zero(t2_1(0, 1) - (t2s_2(0, 1) + t2_2(1, 0)),
24 "T2s(i,j)+T2(j,i)(0,1)");
25 test_for_zero(t2_1(0, 2) - (t2s_2(0, 2) + t2_2(2, 0)),
26 "T2s(i,j)+T2(j,i)(0,2)");
27 test_for_zero(t2_1(1, 0) - (t2s_2(1, 0) + t2_2(0, 1)),
28 "T2s(i,j)+T2(j,i)(1,0)");
29 test_for_zero(t2_1(1, 1) - (t2s_2(1, 1) + t2_2(1, 1)),
30 "T2s(i,j)+T2(j,i)(1,1)");
31 test_for_zero(t2_1(1, 2) - (t2s_2(1, 2) + t2_2(2, 1)),
32 "T2s(i,j)+T2(j,i)(1,2)");
33 test_for_zero(t2_1(2, 0) - (t2s_2(2, 0) + t2_2(0, 2)),
34 "T2s(i,j)+T2(j,i)(2,0)");
35 test_for_zero(t2_1(2, 1) - (t2s_2(2, 1) + t2_2(1, 2)),
36 "T2s(i,j)+T2(j,i)(2,1)");
37 test_for_zero(t2_1(2, 2) - (t2s_2(2, 2) + t2_2(2, 2)),
38 "T2s(i,j)+T2(j,i)(2,2)");
39 t2_1(i, j) = t2_2(j, i) + t2s_2(i, j);
40 test_for_zero(t2_1(0, 0) - (t2s_2(0, 0) + t2_2(0, 0)),
41 "T2(j,i)+T2s(i,j)(0,0)");
42 test_for_zero(t2_1(0, 1) - (t2s_2(0, 1) + t2_2(1, 0)),
43 "T2(j,i)+T2s(i,j)(0,1)");
44 test_for_zero(t2_1(0, 2) - (t2s_2(0, 2) + t2_2(2, 0)),
45 "T2(j,i)+T2s(i,j)(0,2)");
46 test_for_zero(t2_1(1, 0) - (t2s_2(1, 0) + t2_2(0, 1)),
47 "T2(j,i)+T2s(i,j)(1,0)");
48 test_for_zero(t2_1(1, 1) - (t2s_2(1, 1) + t2_2(1, 1)),
49 "T2(j,i)+T2s(i,j)(1,1)");
50 test_for_zero(t2_1(1, 2) - (t2s_2(1, 2) + t2_2(2, 1)),
51 "T2(j,i)+T2s(i,j)(1,2)");
52 test_for_zero(t2_1(2, 0) - (t2s_2(2, 0) + t2_2(0, 2)),
53 "T2(j,i)+T2s(i,j)(2,0)");
54 test_for_zero(t2_1(2, 1) - (t2s_2(2, 1) + t2_2(1, 2)),
55 "T2(j,i)+T2s(i,j)(2,1)");
56 test_for_zero(t2_1(2, 2) - (t2s_2(2, 2) + t2_2(2, 2)),
57 "T2(j,i)+T2s(i,j)(2,2)");
58}

◆ test_T2s_32()

void test_T2s_32 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_32.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2_1(i, j) = t2s_2(i, j) - t2_2(i, j);
21 test_for_zero(t2_1(0, 0) - (t2s_2(0, 0) - t2_2(0, 0)),
22 "T2s(i,j)-T2(i,j)(0,0)");
23 test_for_zero(t2_1(0, 1) - (t2s_2(0, 1) - t2_2(0, 1)),
24 "T2s(i,j)-T2(i,j)(0,1)");
25 test_for_zero(t2_1(0, 2) - (t2s_2(0, 2) - t2_2(0, 2)),
26 "T2s(i,j)-T2(i,j)(0,2)");
27 test_for_zero(t2_1(1, 0) - (t2s_2(1, 0) - t2_2(1, 0)),
28 "T2s(i,j)-T2(i,j)(1,0)");
29 test_for_zero(t2_1(1, 1) - (t2s_2(1, 1) - t2_2(1, 1)),
30 "T2s(i,j)-T2(i,j)(1,1)");
31 test_for_zero(t2_1(1, 2) - (t2s_2(1, 2) - t2_2(1, 2)),
32 "T2s(i,j)-T2(i,j)(1,2)");
33 test_for_zero(t2_1(2, 0) - (t2s_2(2, 0) - t2_2(2, 0)),
34 "T2s(i,j)-T2(i,j)(2,0)");
35 test_for_zero(t2_1(2, 1) - (t2s_2(2, 1) - t2_2(2, 1)),
36 "T2s(i,j)-T2(i,j)(2,1)");
37 test_for_zero(t2_1(2, 2) - (t2s_2(2, 2) - t2_2(2, 2)),
38 "T2s(i,j)-T2(i,j)(2,2)");
39 t2_1(i, j) = t2_2(i, j) - t2s_2(i, j);
40 test_for_zero(t2_1(0, 0) - (-t2s_2(0, 0) + t2_2(0, 0)),
41 "T2(i,j)-T2s(i,j)(0,0)");
42 test_for_zero(t2_1(0, 1) - (-t2s_2(0, 1) + t2_2(0, 1)),
43 "T2(i,j)-T2s(i,j)(0,1)");
44 test_for_zero(t2_1(0, 2) - (-t2s_2(0, 2) + t2_2(0, 2)),
45 "T2(i,j)-T2s(i,j)(0,2)");
46 test_for_zero(t2_1(1, 0) - (-t2s_2(1, 0) + t2_2(1, 0)),
47 "T2(i,j)-T2s(i,j)(1,0)");
48 test_for_zero(t2_1(1, 1) - (-t2s_2(1, 1) + t2_2(1, 1)),
49 "T2(i,j)-T2s(i,j)(1,1)");
50 test_for_zero(t2_1(1, 2) - (-t2s_2(1, 2) + t2_2(1, 2)),
51 "T2(i,j)-T2s(i,j)(1,2)");
52 test_for_zero(t2_1(2, 0) - (-t2s_2(2, 0) + t2_2(2, 0)),
53 "T2(i,j)-T2s(i,j)(2,0)");
54 test_for_zero(t2_1(2, 1) - (-t2s_2(2, 1) + t2_2(2, 1)),
55 "T2(i,j)-T2s(i,j)(2,1)");
56 test_for_zero(t2_1(2, 2) - (-t2s_2(2, 2) + t2_2(2, 2)),
57 "T2(i,j)-T2s(i,j)(2,2)");
58}

◆ test_T2s_33()

void test_T2s_33 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_33.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2_1(i, j) = t2s_2(i, j) - t2_2(j, i);
21 test_for_zero(t2_1(0, 0) - (t2s_2(0, 0) - t2_2(0, 0)),
22 "T2s(i,j)-T2(j,i)(0,0)");
23 test_for_zero(t2_1(0, 1) - (t2s_2(0, 1) - t2_2(1, 0)),
24 "T2s(i,j)-T2(j,i)(0,1)");
25 test_for_zero(t2_1(0, 2) - (t2s_2(0, 2) - t2_2(2, 0)),
26 "T2s(i,j)-T2(j,i)(0,2)");
27 test_for_zero(t2_1(1, 0) - (t2s_2(1, 0) - t2_2(0, 1)),
28 "T2s(i,j)-T2(j,i)(1,0)");
29 test_for_zero(t2_1(1, 1) - (t2s_2(1, 1) - t2_2(1, 1)),
30 "T2s(i,j)-T2(j,i)(1,1)");
31 test_for_zero(t2_1(1, 2) - (t2s_2(1, 2) - t2_2(2, 1)),
32 "T2s(i,j)-T2(j,i)(1,2)");
33 test_for_zero(t2_1(2, 0) - (t2s_2(2, 0) - t2_2(0, 2)),
34 "T2s(i,j)-T2(j,i)(2,0)");
35 test_for_zero(t2_1(2, 1) - (t2s_2(2, 1) - t2_2(1, 2)),
36 "T2s(i,j)-T2(j,i)(2,1)");
37 test_for_zero(t2_1(2, 2) - (t2s_2(2, 2) - t2_2(2, 2)),
38 "T2s(i,j)-T2(j,i)(2,2)");
39 t2_1(i, j) = t2_2(j, i) - t2s_2(i, j);
40 test_for_zero(t2_1(0, 0) - (-t2s_2(0, 0) + t2_2(0, 0)),
41 "T2(j,i)-T2s(i,j)(0,0)");
42 test_for_zero(t2_1(0, 1) - (-t2s_2(0, 1) + t2_2(1, 0)),
43 "T2(j,i)-T2s(i,j)(0,1)");
44 test_for_zero(t2_1(0, 2) - (-t2s_2(0, 2) + t2_2(2, 0)),
45 "T2(j,i)-T2s(i,j)(0,2)");
46 test_for_zero(t2_1(1, 0) - (-t2s_2(1, 0) + t2_2(0, 1)),
47 "T2(j,i)-T2s(i,j)(1,0)");
48 test_for_zero(t2_1(1, 1) - (-t2s_2(1, 1) + t2_2(1, 1)),
49 "T2(j,i)-T2s(i,j)(1,1)");
50 test_for_zero(t2_1(1, 2) - (-t2s_2(1, 2) + t2_2(2, 1)),
51 "T2(j,i)-T2s(i,j)(1,2)");
52 test_for_zero(t2_1(2, 0) - (-t2s_2(2, 0) + t2_2(0, 2)),
53 "T2(j,i)-T2s(i,j)(2,0)");
54 test_for_zero(t2_1(2, 1) - (-t2s_2(2, 1) + t2_2(1, 2)),
55 "T2(j,i)-T2s(i,j)(2,1)");
56 test_for_zero(t2_1(2, 2) - (-t2s_2(2, 2) + t2_2(2, 2)),
57 "T2(j,i)-T2s(i,j)(2,2)");
58}

◆ test_T2s_34()

void test_T2s_34 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_34.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2s_1(i, j) = (t2s_2(i, j) & (t1_2(i) ^ (t1_2(j))));
21 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) * t1_2(0) * t1_2(0)),
22 "T2s(i,j)&T2s(i,j)(0,0)");
23 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) * t1_2(0) * t1_2(1)),
24 "T2s(i,j)&T2s(i,j)(0,1)");
25 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) * t1_2(0) * t1_2(2)),
26 "T2s(i,j)&T2s(i,j)(0,2)");
27 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) * t1_2(1) * t1_2(0)),
28 "T2s(i,j)&T2s(i,j)(1,0)");
29 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) * t1_2(1) * t1_2(1)),
30 "T2s(i,j)&T2s(i,j)(1,1)");
31 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) * t1_2(1) * t1_2(2)),
32 "T2s(i,j)&T2s(i,j)(1,2)");
33 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) * t1_2(2) * t1_2(0)),
34 "T2s(i,j)&T2s(i,j)(2,0)");
35 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) * t1_2(2) * t1_2(1)),
36 "T2s(i,j)&T2s(i,j)(2,1)");
37 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) * t1_2(2) * t1_2(2)),
38 "T2s(i,j)&T2s(i,j)(2,2)");
39
40 t2s_1(i, j) = (t2s_2(i, j) & (t1_2(j) ^ (t1_2(i))));
41 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) * t1_2(0) * t1_2(0)),
42 "T2s(i,j)&T2s(j,i)(0,0)");
43 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) * t1_2(0) * t1_2(1)),
44 "T2s(i,j)&T2s(j,i)(0,1)");
45 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) * t1_2(0) * t1_2(2)),
46 "T2s(i,j)&T2s(j,i)(0,2)");
47 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) * t1_2(1) * t1_2(0)),
48 "T2s(i,j)&T2s(j,i)(1,0)");
49 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) * t1_2(1) * t1_2(1)),
50 "T2s(i,j)&T2s(j,i)(1,1)");
51 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) * t1_2(1) * t1_2(2)),
52 "T2s(i,j)&T2s(j,i)(1,2)");
53 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) * t1_2(2) * t1_2(0)),
54 "T2s(i,j)&T2s(j,i)(2,0)");
55 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) * t1_2(2) * t1_2(1)),
56 "T2s(i,j)&T2s(j,i)(2,1)");
57 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) * t1_2(2) * t1_2(2)),
58 "T2s(i,j)&T2s(j,i)(2,2)");
59
60 t2s_1(i, j) = ((t1_2(j) ^ (t1_2(i))) & t2s_2(i, j));
61 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) * t1_2(0) * t1_2(0)),
62 "T2s(j,i)&T2s(i,j)(0,0)");
63 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) * t1_2(0) * t1_2(1)),
64 "T2s(j,i)&T2s(i,j)(0,1)");
65 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) * t1_2(0) * t1_2(2)),
66 "T2s(j,i)&T2s(i,j)(0,2)");
67 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) * t1_2(1) * t1_2(0)),
68 "T2s(j,i)&T2s(i,j)(1,0)");
69 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) * t1_2(1) * t1_2(1)),
70 "T2s(j,i)&T2s(i,j)(1,1)");
71 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) * t1_2(1) * t1_2(2)),
72 "T2s(j,i)&T2s(i,j)(1,2)");
73 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) * t1_2(2) * t1_2(0)),
74 "T2s(j,i)&T2s(i,j)(2,0)");
75 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) * t1_2(2) * t1_2(1)),
76 "T2s(j,i)&T2s(i,j)(2,1)");
77 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) * t1_2(2) * t1_2(2)),
78 "T2s(j,i)&T2s(i,j)(2,2)");
79}

◆ test_T2s_35()

void test_T2s_35 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_35.cpp.

10{
11 Index<'i', 3> i;
12 Index<'j', 3> j;
13
14 Number<0> N0;
15 Number<1> N1;
16 Number<2> N2;
17
18 /* Tensor2_symmetric tests */
19
20 t2s_1(i, j) = (t2s_2(i, j) % (t1_2(i) ^ (t1_2(j))));
21 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) / t1_2(0) / t1_2(0)),
22 "T2s(j,i)%T2s(i,j)(0,0)");
23 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) / t1_2(0) / t1_2(1)),
24 "T2s(j,i)%T2s(i,j)(0,1)");
25 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) / t1_2(0) / t1_2(2)),
26 "T2s(j,i)%T2s(i,j)(0,2)");
27 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) / t1_2(1) / t1_2(0)),
28 "T2s(j,i)%T2s(i,j)(1,0)");
29 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) / t1_2(1) / t1_2(1)),
30 "T2s(j,i)%T2s(i,j)(1,1)");
31 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) / t1_2(1) / t1_2(2)),
32 "T2s(j,i)%T2s(i,j)(1,2)");
33 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) / t1_2(2) / t1_2(0)),
34 "T2s(j,i)%T2s(i,j)(2,0)");
35 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) / t1_2(2) / t1_2(1)),
36 "T2s(j,i)%T2s(i,j)(2,1)");
37 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) / t1_2(2) / t1_2(2)),
38 "T2s(j,i)%T2s(i,j)(2,2)");
39
40 t2s_1(i, j) = (t2s_2(i, j) % (t1_2(j) ^ (t1_2(i))));
41 test_for_zero(t2s_1(0, 0) - (t2s_2(0, 0) / t1_2(0) / t1_2(0)),
42 "T2s(j,i)%T2s(j,i)(0,0)");
43 test_for_zero(t2s_1(0, 1) - (t2s_2(0, 1) / t1_2(0) / t1_2(1)),
44 "T2s(j,i)%T2s(j,i)(0,1)");
45 test_for_zero(t2s_1(0, 2) - (t2s_2(0, 2) / t1_2(0) / t1_2(2)),
46 "T2s(j,i)%T2s(j,i)(0,2)");
47 test_for_zero(t2s_1(1, 0) - (t2s_2(1, 0) / t1_2(1) / t1_2(0)),
48 "T2s(j,i)%T2s(j,i)(1,0)");
49 test_for_zero(t2s_1(1, 1) - (t2s_2(1, 1) / t1_2(1) / t1_2(1)),
50 "T2s(j,i)%T2s(j,i)(1,1)");
51 test_for_zero(t2s_1(1, 2) - (t2s_2(1, 2) / t1_2(1) / t1_2(2)),
52 "T2s(j,i)%T2s(j,i)(1,2)");
53 test_for_zero(t2s_1(2, 0) - (t2s_2(2, 0) / t1_2(2) / t1_2(0)),
54 "T2s(j,i)%T2s(j,i)(2,0)");
55 test_for_zero(t2s_1(2, 1) - (t2s_2(2, 1) / t1_2(2) / t1_2(1)),
56 "T2s(j,i)%T2s(j,i)(2,1)");
57 test_for_zero(t2s_1(2, 2) - (t2s_2(2, 2) / t1_2(2) / t1_2(2)),
58 "T2s(j,i)%T2s(j,i)(2,2)");
59}

◆ test_T2s_36()

void test_T2s_36 ( const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_36.cpp.

9{
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12
13 Number<0> N0;
14 Number<1> N1;
15 Number<2> N2;
16
17 /* Tensor2_symmetric tests */
18
19 test_for_zero(t2s_2(i, j) * t2_2(i, j)
20 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(0, 1)
21 + t2s_2(0, 2) * t2_2(0, 2) + t2s_2(1, 0) * t2_2(1, 0)
22 + t2s_2(1, 1) * t2_2(1, 1) + t2s_2(1, 2) * t2_2(1, 2)
23 + t2s_2(2, 0) * t2_2(2, 0) + t2s_2(2, 1) * t2_2(2, 1)
24 + t2s_2(2, 2) * t2_2(2, 2)),
25 "T2s(i,j)*T2(i,j)");
26 test_for_zero(t2_2(i, j) * t2s_2(i, j)
27 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(0, 1)
28 + t2s_2(0, 2) * t2_2(0, 2) + t2s_2(1, 0) * t2_2(1, 0)
29 + t2s_2(1, 1) * t2_2(1, 1) + t2s_2(1, 2) * t2_2(1, 2)
30 + t2s_2(2, 0) * t2_2(2, 0) + t2s_2(2, 1) * t2_2(2, 1)
31 + t2s_2(2, 2) * t2_2(2, 2)),
32 "T2(i,j)*T2s(i,j)");
33 test_for_zero(t2s_2(i, j) * t2_2(j, i)
34 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(1, 0)
35 + t2s_2(0, 2) * t2_2(2, 0) + t2s_2(1, 0) * t2_2(0, 1)
36 + t2s_2(1, 1) * t2_2(1, 1) + t2s_2(1, 2) * t2_2(2, 1)
37 + t2s_2(2, 0) * t2_2(0, 2) + t2s_2(2, 1) * t2_2(1, 2)
38 + t2s_2(2, 2) * t2_2(2, 2)),
39 "T2s(i,j)*T2(j,i)");
40 test_for_zero(t2_2(j, i) * t2s_2(i, j)
41 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(1, 0)
42 + t2s_2(0, 2) * t2_2(2, 0) + t2s_2(1, 0) * t2_2(0, 1)
43 + t2s_2(1, 1) * t2_2(1, 1) + t2s_2(1, 2) * t2_2(2, 1)
44 + t2s_2(2, 0) * t2_2(0, 2) + t2s_2(2, 1) * t2_2(1, 2)
45 + t2s_2(2, 2) * t2_2(2, 2)),
46 "T2(j,i)*T2s(i,j)");
47}

◆ test_T2s_37()

void test_T2s_37 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_37.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(i, j) = t2s_2(i, k) * t2_2(k, j);
22 test_for_zero(t2_1(0, 0)
23 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(1, 0)
24 + t2s_2(0, 2) * t2_2(2, 0)),
25 "T2s(i,k)*T2(k,j)(0,0)");
26 test_for_zero(t2_1(0, 1)
27 - (t2s_2(0, 0) * t2_2(0, 1) + t2s_2(0, 1) * t2_2(1, 1)
28 + t2s_2(0, 2) * t2_2(2, 1)),
29 "T2s(i,k)*T2(k,j)(0,1)");
30 test_for_zero(t2_1(0, 2)
31 - (t2s_2(0, 0) * t2_2(0, 2) + t2s_2(0, 1) * t2_2(1, 2)
32 + t2s_2(0, 2) * t2_2(2, 2)),
33 "T2s(i,k)*T2(k,j)(0,2)");
34 test_for_zero(t2_1(1, 0)
35 - (t2s_2(1, 0) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(1, 0)
36 + t2s_2(1, 2) * t2_2(2, 0)),
37 "T2s(i,k)*T2(k,j)(1,0)");
38 test_for_zero(t2_1(1, 1)
39 - (t2s_2(1, 0) * t2_2(0, 1) + t2s_2(1, 1) * t2_2(1, 1)
40 + t2s_2(1, 2) * t2_2(2, 1)),
41 "T2s(i,k)*T2(k,j)(1,1)");
42 test_for_zero(t2_1(1, 2)
43 - (t2s_2(1, 0) * t2_2(0, 2) + t2s_2(1, 1) * t2_2(1, 2)
44 + t2s_2(1, 2) * t2_2(2, 2)),
45 "T2s(i,k)*T2(k,j)(1,2)");
46 test_for_zero(t2_1(2, 0)
47 - (t2s_2(2, 0) * t2_2(0, 0) + t2s_2(2, 1) * t2_2(1, 0)
48 + t2s_2(2, 2) * t2_2(2, 0)),
49 "T2s(i,k)*T2(k,j)(2,0)");
50 test_for_zero(t2_1(2, 1)
51 - (t2s_2(2, 0) * t2_2(0, 1) + t2s_2(2, 1) * t2_2(1, 1)
52 + t2s_2(2, 2) * t2_2(2, 1)),
53 "T2s(i,k)*T2(k,j)(2,1)");
54 test_for_zero(t2_1(2, 2)
55 - (t2s_2(2, 0) * t2_2(0, 2) + t2s_2(2, 1) * t2_2(1, 2)
56 + t2s_2(2, 2) * t2_2(2, 2)),
57 "T2s(i,k)*T2(k,j)(2,2)");
58 t2_1(i, j) = t2_2(k, j) * t2s_2(i, k);
59 test_for_zero(t2_1(0, 0)
60 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(1, 0)
61 + t2s_2(0, 2) * t2_2(2, 0)),
62 "T2(k,j)*T2s(i,k)(0,0)");
63 test_for_zero(t2_1(0, 1)
64 - (t2s_2(0, 0) * t2_2(0, 1) + t2s_2(0, 1) * t2_2(1, 1)
65 + t2s_2(0, 2) * t2_2(2, 1)),
66 "T2(k,j)*T2s(i,k)(0,1)");
67 test_for_zero(t2_1(0, 2)
68 - (t2s_2(0, 0) * t2_2(0, 2) + t2s_2(0, 1) * t2_2(1, 2)
69 + t2s_2(0, 2) * t2_2(2, 2)),
70 "T2(k,j)*T2s(i,k)(0,2)");
71 test_for_zero(t2_1(1, 0)
72 - (t2s_2(1, 0) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(1, 0)
73 + t2s_2(1, 2) * t2_2(2, 0)),
74 "T2(k,j)*T2s(i,k)(1,0)");
75 test_for_zero(t2_1(1, 1)
76 - (t2s_2(1, 0) * t2_2(0, 1) + t2s_2(1, 1) * t2_2(1, 1)
77 + t2s_2(1, 2) * t2_2(2, 1)),
78 "T2(k,j)*T2s(i,k)(1,1)");
79 test_for_zero(t2_1(1, 2)
80 - (t2s_2(1, 0) * t2_2(0, 2) + t2s_2(1, 1) * t2_2(1, 2)
81 + t2s_2(1, 2) * t2_2(2, 2)),
82 "T2(k,j)*T2s(i,k)(1,2)");
83 test_for_zero(t2_1(2, 0)
84 - (t2s_2(2, 0) * t2_2(0, 0) + t2s_2(2, 1) * t2_2(1, 0)
85 + t2s_2(2, 2) * t2_2(2, 0)),
86 "T2(k,j)*T2s(i,k)(2,0)");
87 test_for_zero(t2_1(2, 1)
88 - (t2s_2(2, 0) * t2_2(0, 1) + t2s_2(2, 1) * t2_2(1, 1)
89 + t2s_2(2, 2) * t2_2(2, 1)),
90 "T2(k,j)*T2s(i,k)(2,1)");
91 test_for_zero(t2_1(2, 2)
92 - (t2s_2(2, 0) * t2_2(0, 2) + t2s_2(2, 1) * t2_2(1, 2)
93 + t2s_2(2, 2) * t2_2(2, 2)),
94 "T2(k,j)*T2s(i,k)(2,2)");
95}

◆ test_T2s_38()

void test_T2s_38 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_38.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(i, j) = t2s_2(i, k) * t2_2(j, k);
22 test_for_zero(t2_1(0, 0)
23 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(0, 1)
24 + t2s_2(0, 2) * t2_2(0, 2)),
25 "T2s(i,k)*T2(j,k)(0,0)");
26 test_for_zero(t2_1(0, 1)
27 - (t2s_2(0, 0) * t2_2(1, 0) + t2s_2(0, 1) * t2_2(1, 1)
28 + t2s_2(0, 2) * t2_2(1, 2)),
29 "T2s(i,k)*T2(j,k)(0,1)");
30 test_for_zero(t2_1(0, 2)
31 - (t2s_2(0, 0) * t2_2(2, 0) + t2s_2(0, 1) * t2_2(2, 1)
32 + t2s_2(0, 2) * t2_2(2, 2)),
33 "T2s(i,k)*T2(j,k)(0,2)");
34 test_for_zero(t2_1(1, 0)
35 - (t2s_2(1, 0) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(0, 1)
36 + t2s_2(1, 2) * t2_2(0, 2)),
37 "T2s(i,k)*T2(j,k)(1,0)");
38 test_for_zero(t2_1(1, 1)
39 - (t2s_2(1, 0) * t2_2(1, 0) + t2s_2(1, 1) * t2_2(1, 1)
40 + t2s_2(1, 2) * t2_2(1, 2)),
41 "T2s(i,k)*T2(j,k)(1,1)");
42 test_for_zero(t2_1(1, 2)
43 - (t2s_2(1, 0) * t2_2(2, 0) + t2s_2(1, 1) * t2_2(2, 1)
44 + t2s_2(1, 2) * t2_2(2, 2)),
45 "T2s(i,k)*T2(j,k)(1,2)");
46 test_for_zero(t2_1(2, 0)
47 - (t2s_2(2, 0) * t2_2(0, 0) + t2s_2(2, 1) * t2_2(0, 1)
48 + t2s_2(2, 2) * t2_2(0, 2)),
49 "T2s(i,k)*T2(j,k)(2,0)");
50 test_for_zero(t2_1(2, 1)
51 - (t2s_2(2, 0) * t2_2(1, 0) + t2s_2(2, 1) * t2_2(1, 1)
52 + t2s_2(2, 2) * t2_2(1, 2)),
53 "T2s(i,k)*T2(j,k)(2,1)");
54 test_for_zero(t2_1(2, 2)
55 - (t2s_2(2, 0) * t2_2(2, 0) + t2s_2(2, 1) * t2_2(2, 1)
56 + t2s_2(2, 2) * t2_2(2, 2)),
57 "T2s(i,k)*T2(j,k)(2,2)");
58 t2_1(i, j) = t2_2(j, k) * t2s_2(i, k);
59 test_for_zero(t2_1(0, 0)
60 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(0, 1) * t2_2(0, 1)
61 + t2s_2(0, 2) * t2_2(0, 2)),
62 "T2(j,k)*T2s(i,k)(0,0)");
63 test_for_zero(t2_1(0, 1)
64 - (t2s_2(0, 0) * t2_2(1, 0) + t2s_2(0, 1) * t2_2(1, 1)
65 + t2s_2(0, 2) * t2_2(1, 2)),
66 "T2(j,k)*T2s(i,k)(0,1)");
67 test_for_zero(t2_1(0, 2)
68 - (t2s_2(0, 0) * t2_2(2, 0) + t2s_2(0, 1) * t2_2(2, 1)
69 + t2s_2(0, 2) * t2_2(2, 2)),
70 "T2(j,k)*T2s(i,k)(0,2)");
71 test_for_zero(t2_1(1, 0)
72 - (t2s_2(1, 0) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(0, 1)
73 + t2s_2(1, 2) * t2_2(0, 2)),
74 "T2(j,k)*T2s(i,k)(1,0)");
75 test_for_zero(t2_1(1, 1)
76 - (t2s_2(1, 0) * t2_2(1, 0) + t2s_2(1, 1) * t2_2(1, 1)
77 + t2s_2(1, 2) * t2_2(1, 2)),
78 "T2(j,k)*T2s(i,k)(1,1)");
79 test_for_zero(t2_1(1, 2)
80 - (t2s_2(1, 0) * t2_2(2, 0) + t2s_2(1, 1) * t2_2(2, 1)
81 + t2s_2(1, 2) * t2_2(2, 2)),
82 "T2(j,k)*T2s(i,k)(1,2)");
83 test_for_zero(t2_1(2, 0)
84 - (t2s_2(2, 0) * t2_2(0, 0) + t2s_2(2, 1) * t2_2(0, 1)
85 + t2s_2(2, 2) * t2_2(0, 2)),
86 "T2(j,k)*T2s(i,k)(2,0)");
87 test_for_zero(t2_1(2, 1)
88 - (t2s_2(2, 0) * t2_2(1, 0) + t2s_2(2, 1) * t2_2(1, 1)
89 + t2s_2(2, 2) * t2_2(1, 2)),
90 "T2(j,k)*T2s(i,k)(2,1)");
91 test_for_zero(t2_1(2, 2)
92 - (t2s_2(2, 0) * t2_2(2, 0) + t2s_2(2, 1) * t2_2(2, 1)
93 + t2s_2(2, 2) * t2_2(2, 2)),
94 "T2(j,k)*T2s(i,k)(2,2)");
95}

◆ test_T2s_39()

void test_T2s_39 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_39.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(i, j) = t2s_2(k, i) * t2_2(k, j);
22 test_for_zero(t2_1(0, 0)
23 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(1, 0) * t2_2(1, 0)
24 + t2s_2(2, 0) * t2_2(2, 0)),
25 "T2s(k,i)*T2(k,j)(0,0)");
26 test_for_zero(t2_1(0, 1)
27 - (t2s_2(0, 0) * t2_2(0, 1) + t2s_2(1, 0) * t2_2(1, 1)
28 + t2s_2(2, 0) * t2_2(2, 1)),
29 "T2s(k,i)*T2(k,j)(0,1)");
30 test_for_zero(t2_1(0, 2)
31 - (t2s_2(0, 0) * t2_2(0, 2) + t2s_2(1, 0) * t2_2(1, 2)
32 + t2s_2(2, 0) * t2_2(2, 2)),
33 "T2s(k,i)*T2(k,j)(0,2)");
34 test_for_zero(t2_1(1, 0)
35 - (t2s_2(0, 1) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(1, 0)
36 + t2s_2(2, 1) * t2_2(2, 0)),
37 "T2s(k,i)*T2(k,j)(1,0)");
38 test_for_zero(t2_1(1, 1)
39 - (t2s_2(0, 1) * t2_2(0, 1) + t2s_2(1, 1) * t2_2(1, 1)
40 + t2s_2(2, 1) * t2_2(2, 1)),
41 "T2s(k,i)*T2(k,j)(1,1)");
42 test_for_zero(t2_1(1, 2)
43 - (t2s_2(0, 1) * t2_2(0, 2) + t2s_2(1, 1) * t2_2(1, 2)
44 + t2s_2(2, 1) * t2_2(2, 2)),
45 "T2s(k,i)*T2(k,j)(1,2)");
46 test_for_zero(t2_1(2, 0)
47 - (t2s_2(0, 2) * t2_2(0, 0) + t2s_2(1, 2) * t2_2(1, 0)
48 + t2s_2(2, 2) * t2_2(2, 0)),
49 "T2s(k,i)*T2(k,j)(2,0)");
50 test_for_zero(t2_1(2, 1)
51 - (t2s_2(0, 2) * t2_2(0, 1) + t2s_2(1, 2) * t2_2(1, 1)
52 + t2s_2(2, 2) * t2_2(2, 1)),
53 "T2s(k,i)*T2(k,j)(2,1)");
54 test_for_zero(t2_1(2, 2)
55 - (t2s_2(0, 2) * t2_2(0, 2) + t2s_2(1, 2) * t2_2(1, 2)
56 + t2s_2(2, 2) * t2_2(2, 2)),
57 "T2s(k,i)*T2(k,j)(2,2)");
58 t2_1(i, j) = t2_2(k, j) * t2s_2(k, i);
59 test_for_zero(t2_1(0, 0)
60 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(1, 0) * t2_2(1, 0)
61 + t2s_2(2, 0) * t2_2(2, 0)),
62 "T2(k,j)*T2s(k,i)(0,0)");
63 test_for_zero(t2_1(0, 1)
64 - (t2s_2(0, 0) * t2_2(0, 1) + t2s_2(1, 0) * t2_2(1, 1)
65 + t2s_2(2, 0) * t2_2(2, 1)),
66 "T2(k,j)*T2s(k,i)(0,1)");
67 test_for_zero(t2_1(0, 2)
68 - (t2s_2(0, 0) * t2_2(0, 2) + t2s_2(1, 0) * t2_2(1, 2)
69 + t2s_2(2, 0) * t2_2(2, 2)),
70 "T2(k,j)*T2s(k,i)(0,2)");
71 test_for_zero(t2_1(1, 0)
72 - (t2s_2(0, 1) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(1, 0)
73 + t2s_2(2, 1) * t2_2(2, 0)),
74 "T2(k,j)*T2s(k,i)(1,0)");
75 test_for_zero(t2_1(1, 1)
76 - (t2s_2(0, 1) * t2_2(0, 1) + t2s_2(1, 1) * t2_2(1, 1)
77 + t2s_2(2, 1) * t2_2(2, 1)),
78 "T2(k,j)*T2s(k,i)(1,1)");
79 test_for_zero(t2_1(1, 2)
80 - (t2s_2(0, 1) * t2_2(0, 2) + t2s_2(1, 1) * t2_2(1, 2)
81 + t2s_2(2, 1) * t2_2(2, 2)),
82 "T2(k,j)*T2s(k,i)(1,2)");
83 test_for_zero(t2_1(2, 0)
84 - (t2s_2(0, 2) * t2_2(0, 0) + t2s_2(1, 2) * t2_2(1, 0)
85 + t2s_2(2, 2) * t2_2(2, 0)),
86 "T2(k,j)*T2s(k,i)(2,0)");
87 test_for_zero(t2_1(2, 1)
88 - (t2s_2(0, 2) * t2_2(0, 1) + t2s_2(1, 2) * t2_2(1, 1)
89 + t2s_2(2, 2) * t2_2(2, 1)),
90 "T2(k,j)*T2s(k,i)(2,1)");
91 test_for_zero(t2_1(2, 2)
92 - (t2s_2(0, 2) * t2_2(0, 2) + t2s_2(1, 2) * t2_2(1, 2)
93 + t2s_2(2, 2) * t2_2(2, 2)),
94 "T2(k,j)*T2s(k,i)(2,2)");
95}

◆ test_T2s_40()

void test_T2s_40 ( Tensor2< double, 3, 3 > & t2_1,
const Tensor2< double, 3, 3 > & t2_2,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_40.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(i, j) = t2s_2(k, i) * t2_2(j, k);
22 test_for_zero(t2_1(0, 0)
23 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(1, 0) * t2_2(0, 1)
24 + t2s_2(2, 0) * t2_2(0, 2)),
25 "T2s(k,i)*T2(j,k)(0,0)");
26 test_for_zero(t2_1(0, 1)
27 - (t2s_2(0, 0) * t2_2(1, 0) + t2s_2(1, 0) * t2_2(1, 1)
28 + t2s_2(2, 0) * t2_2(1, 2)),
29 "T2s(k,i)*T2(j,k)(0,1)");
30 test_for_zero(t2_1(0, 2)
31 - (t2s_2(0, 0) * t2_2(2, 0) + t2s_2(1, 0) * t2_2(2, 1)
32 + t2s_2(2, 0) * t2_2(2, 2)),
33 "T2s(k,i)*T2(j,k)(0,2)");
34 test_for_zero(t2_1(1, 0)
35 - (t2s_2(0, 1) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(0, 1)
36 + t2s_2(2, 1) * t2_2(0, 2)),
37 "T2s(k,i)*T2(j,k)(1,0)");
38 test_for_zero(t2_1(1, 1)
39 - (t2s_2(0, 1) * t2_2(1, 0) + t2s_2(1, 1) * t2_2(1, 1)
40 + t2s_2(2, 1) * t2_2(1, 2)),
41 "T2s(k,i)*T2(j,k)(1,1)");
42 test_for_zero(t2_1(1, 2)
43 - (t2s_2(0, 1) * t2_2(2, 0) + t2s_2(1, 1) * t2_2(2, 1)
44 + t2s_2(2, 1) * t2_2(2, 2)),
45 "T2s(k,i)*T2(j,k)(1,2)");
46 test_for_zero(t2_1(2, 0)
47 - (t2s_2(0, 2) * t2_2(0, 0) + t2s_2(1, 2) * t2_2(0, 1)
48 + t2s_2(2, 2) * t2_2(0, 2)),
49 "T2s(k,i)*T2(j,k)(2,0)");
50 test_for_zero(t2_1(2, 1)
51 - (t2s_2(0, 2) * t2_2(1, 0) + t2s_2(1, 2) * t2_2(1, 1)
52 + t2s_2(2, 2) * t2_2(1, 2)),
53 "T2s(k,i)*T2(j,k)(2,1)");
54 test_for_zero(t2_1(2, 2)
55 - (t2s_2(0, 2) * t2_2(2, 0) + t2s_2(1, 2) * t2_2(2, 1)
56 + t2s_2(2, 2) * t2_2(2, 2)),
57 "T2s(k,i)*T2(j,k)(2,2)");
58 t2_1(i, j) = t2_2(j, k) * t2s_2(k, i);
59 test_for_zero(t2_1(0, 0)
60 - (t2s_2(0, 0) * t2_2(0, 0) + t2s_2(1, 0) * t2_2(0, 1)
61 + t2s_2(2, 0) * t2_2(0, 2)),
62 "T2(j,k)*T2s(k,i)(0,0)");
63 test_for_zero(t2_1(0, 1)
64 - (t2s_2(0, 0) * t2_2(1, 0) + t2s_2(1, 0) * t2_2(1, 1)
65 + t2s_2(2, 0) * t2_2(1, 2)),
66 "T2(j,k)*T2s(k,i)(0,1)");
67 test_for_zero(t2_1(0, 2)
68 - (t2s_2(0, 0) * t2_2(2, 0) + t2s_2(1, 0) * t2_2(2, 1)
69 + t2s_2(2, 0) * t2_2(2, 2)),
70 "T2(j,k)*T2s(k,i)(0,2)");
71 test_for_zero(t2_1(1, 0)
72 - (t2s_2(0, 1) * t2_2(0, 0) + t2s_2(1, 1) * t2_2(0, 1)
73 + t2s_2(2, 1) * t2_2(0, 2)),
74 "T2(j,k)*T2s(k,i)(1,0)");
75 test_for_zero(t2_1(1, 1)
76 - (t2s_2(0, 1) * t2_2(1, 0) + t2s_2(1, 1) * t2_2(1, 1)
77 + t2s_2(2, 1) * t2_2(1, 2)),
78 "T2(j,k)*T2s(k,i)(1,1)");
79 test_for_zero(t2_1(1, 2)
80 - (t2s_2(0, 1) * t2_2(2, 0) + t2s_2(1, 1) * t2_2(2, 1)
81 + t2s_2(2, 1) * t2_2(2, 2)),
82 "T2(j,k)*T2s(k,i)(1,2)");
83 test_for_zero(t2_1(2, 0)
84 - (t2s_2(0, 2) * t2_2(0, 0) + t2s_2(1, 2) * t2_2(0, 1)
85 + t2s_2(2, 2) * t2_2(0, 2)),
86 "T2(j,k)*T2s(k,i)(2,0)");
87 test_for_zero(t2_1(2, 1)
88 - (t2s_2(0, 2) * t2_2(1, 0) + t2s_2(1, 2) * t2_2(1, 1)
89 + t2s_2(2, 2) * t2_2(1, 2)),
90 "T2(j,k)*T2s(k,i)(2,1)");
91 test_for_zero(t2_1(2, 2)
92 - (t2s_2(0, 2) * t2_2(2, 0) + t2s_2(1, 2) * t2_2(2, 1)
93 + t2s_2(2, 2) * t2_2(2, 2)),
94 "T2(j,k)*T2s(k,i)(2,2)");
95}

◆ test_T2s_41()

void test_T2s_41 ( Tensor2< double, 3, 3 > & t2_1,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_41.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(0, 0) = t2s_2(0, 0);
22 t2_1(0, 1) = t2s_2(0, 1);
23 t2_1(0, 2) = t2s_2(0, 2);
24 t2_1(1, 0) = t2s_2(1, 0);
25 t2_1(1, 1) = t2s_2(1, 1);
26 t2_1(1, 2) = t2s_2(1, 2);
27 t2_1(2, 0) = t2s_2(2, 0);
28 t2_1(2, 1) = t2s_2(2, 1);
29 t2_1(2, 2) = t2s_2(2, 2);
30
31 t2s_1(i, j) = t2s_2(i, k) ^ t2_1(k, j);
32 test_for_zero(t2s_1(0, 0)
33 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(0, 1) * t2_1(1, 0)
34 + t2s_2(0, 2) * t2_1(2, 0)),
35 "T2s(i,k)^T2(k,j)(0,0)");
36 test_for_zero(t2s_1(0, 1)
37 - (t2s_2(0, 0) * t2_1(0, 1) + t2s_2(0, 1) * t2_1(1, 1)
38 + t2s_2(0, 2) * t2_1(2, 1)),
39 "T2s(i,k)^T2(k,j)(0,1)");
40 test_for_zero(t2s_1(0, 2)
41 - (t2s_2(0, 0) * t2_1(0, 2) + t2s_2(0, 1) * t2_1(1, 2)
42 + t2s_2(0, 2) * t2_1(2, 2)),
43 "T2s(i,k)^T2(k,j)(0,2)");
44 test_for_zero(t2s_1(1, 0)
45 - (t2s_2(1, 0) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(1, 0)
46 + t2s_2(1, 2) * t2_1(2, 0)),
47 "T2s(i,k)^T2(k,j)(1,0)");
48 test_for_zero(t2s_1(1, 1)
49 - (t2s_2(1, 0) * t2_1(0, 1) + t2s_2(1, 1) * t2_1(1, 1)
50 + t2s_2(1, 2) * t2_1(2, 1)),
51 "T2s(i,k)^T2(k,j)(1,1)");
52 test_for_zero(t2s_1(1, 2)
53 - (t2s_2(1, 0) * t2_1(0, 2) + t2s_2(1, 1) * t2_1(1, 2)
54 + t2s_2(1, 2) * t2_1(2, 2)),
55 "T2s(i,k)^T2(k,j)(1,2)");
56 test_for_zero(t2s_1(2, 0)
57 - (t2s_2(2, 0) * t2_1(0, 0) + t2s_2(2, 1) * t2_1(1, 0)
58 + t2s_2(2, 2) * t2_1(2, 0)),
59 "T2s(i,k)^T2(k,j)(2,0)");
60 test_for_zero(t2s_1(2, 1)
61 - (t2s_2(2, 0) * t2_1(0, 1) + t2s_2(2, 1) * t2_1(1, 1)
62 + t2s_2(2, 2) * t2_1(2, 1)),
63 "T2s(i,k)^T2(k,j)(2,1)");
64 test_for_zero(t2s_1(2, 2)
65 - (t2s_2(2, 0) * t2_1(0, 2) + t2s_2(2, 1) * t2_1(1, 2)
66 + t2s_2(2, 2) * t2_1(2, 2)),
67 "T2s(i,k)^T2(k,j)(2,2)");
68 t2s_1(i, j) = t2_1(k, j) ^ t2s_2(i, k);
69 test_for_zero(t2s_1(0, 0)
70 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(0, 1) * t2_1(1, 0)
71 + t2s_2(0, 2) * t2_1(2, 0)),
72 "T2(k,j)^T2s(i,k)(0,0)");
73 test_for_zero(t2s_1(0, 1)
74 - (t2s_2(0, 0) * t2_1(0, 1) + t2s_2(0, 1) * t2_1(1, 1)
75 + t2s_2(0, 2) * t2_1(2, 1)),
76 "T2(k,j)^T2s(i,k)(0,1)");
77 test_for_zero(t2s_1(0, 2)
78 - (t2s_2(0, 0) * t2_1(0, 2) + t2s_2(0, 1) * t2_1(1, 2)
79 + t2s_2(0, 2) * t2_1(2, 2)),
80 "T2(k,j)^T2s(i,k)(0,2)");
81 test_for_zero(t2s_1(1, 0)
82 - (t2s_2(1, 0) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(1, 0)
83 + t2s_2(1, 2) * t2_1(2, 0)),
84 "T2(k,j)^T2s(i,k)(1,0)");
85 test_for_zero(t2s_1(1, 1)
86 - (t2s_2(1, 0) * t2_1(0, 1) + t2s_2(1, 1) * t2_1(1, 1)
87 + t2s_2(1, 2) * t2_1(2, 1)),
88 "T2(k,j)^T2s(i,k)(1,1)");
89 test_for_zero(t2s_1(1, 2)
90 - (t2s_2(1, 0) * t2_1(0, 2) + t2s_2(1, 1) * t2_1(1, 2)
91 + t2s_2(1, 2) * t2_1(2, 2)),
92 "T2(k,j)^T2s(i,k)(1,2)");
93 test_for_zero(t2s_1(2, 0)
94 - (t2s_2(2, 0) * t2_1(0, 0) + t2s_2(2, 1) * t2_1(1, 0)
95 + t2s_2(2, 2) * t2_1(2, 0)),
96 "T2(k,j)^T2s(i,k)(2,0)");
97 test_for_zero(t2s_1(2, 1)
98 - (t2s_2(2, 0) * t2_1(0, 1) + t2s_2(2, 1) * t2_1(1, 1)
99 + t2s_2(2, 2) * t2_1(2, 1)),
100 "T2(k,j)^T2s(i,k)(2,1)");
101 test_for_zero(t2s_1(2, 2)
102 - (t2s_2(2, 0) * t2_1(0, 2) + t2s_2(2, 1) * t2_1(1, 2)
103 + t2s_2(2, 2) * t2_1(2, 2)),
104 "T2(k,j)^T2s(i,k)(2,2)");
105}

◆ test_T2s_42()

void test_T2s_42 ( Tensor2< double, 3, 3 > & t2_1,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_42.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(0, 0) = t2s_2(0, 0);
22 t2_1(0, 1) = t2s_2(0, 1);
23 t2_1(0, 2) = t2s_2(0, 2);
24 t2_1(1, 0) = t2s_2(1, 0);
25 t2_1(1, 1) = t2s_2(1, 1);
26 t2_1(1, 2) = t2s_2(1, 2);
27 t2_1(2, 0) = t2s_2(2, 0);
28 t2_1(2, 1) = t2s_2(2, 1);
29 t2_1(2, 2) = t2s_2(2, 2);
30
31 t2s_1(i, j) = t2s_2(i, k) ^ t2_1(j, k);
32 test_for_zero(t2s_1(0, 0)
33 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(0, 1) * t2_1(0, 1)
34 + t2s_2(0, 2) * t2_1(0, 2)),
35 "T2s(i,k)^T2(j,k)(0,0)");
36 test_for_zero(t2s_1(0, 1)
37 - (t2s_2(0, 0) * t2_1(1, 0) + t2s_2(0, 1) * t2_1(1, 1)
38 + t2s_2(0, 2) * t2_1(1, 2)),
39 "T2s(i,k)^T2(j,k)(0,1)");
40 test_for_zero(t2s_1(0, 2)
41 - (t2s_2(0, 0) * t2_1(2, 0) + t2s_2(0, 1) * t2_1(2, 1)
42 + t2s_2(0, 2) * t2_1(2, 2)),
43 "T2s(i,k)^T2(j,k)(0,2)");
44 test_for_zero(t2s_1(1, 0)
45 - (t2s_2(1, 0) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(0, 1)
46 + t2s_2(1, 2) * t2_1(0, 2)),
47 "T2s(i,k)^T2(j,k)(1,0)");
48 test_for_zero(t2s_1(1, 1)
49 - (t2s_2(1, 0) * t2_1(1, 0) + t2s_2(1, 1) * t2_1(1, 1)
50 + t2s_2(1, 2) * t2_1(1, 2)),
51 "T2s(i,k)^T2(j,k)(1,1)");
52 test_for_zero(t2s_1(1, 2)
53 - (t2s_2(1, 0) * t2_1(2, 0) + t2s_2(1, 1) * t2_1(2, 1)
54 + t2s_2(1, 2) * t2_1(2, 2)),
55 "T2s(i,k)^T2(j,k)(1,2)");
56 test_for_zero(t2s_1(2, 0)
57 - (t2s_2(2, 0) * t2_1(0, 0) + t2s_2(2, 1) * t2_1(0, 1)
58 + t2s_2(2, 2) * t2_1(0, 2)),
59 "T2s(i,k)^T2(j,k)(2,0)");
60 test_for_zero(t2s_1(2, 1)
61 - (t2s_2(2, 0) * t2_1(1, 0) + t2s_2(2, 1) * t2_1(1, 1)
62 + t2s_2(2, 2) * t2_1(1, 2)),
63 "T2s(i,k)^T2(j,k)(2,1)");
64 test_for_zero(t2s_1(2, 2)
65 - (t2s_2(2, 0) * t2_1(2, 0) + t2s_2(2, 1) * t2_1(2, 1)
66 + t2s_2(2, 2) * t2_1(2, 2)),
67 "T2s(i,k)^T2(j,k)(2,2)");
68 t2s_1(i, j) = t2_1(j, k) ^ t2s_2(i, k);
69 test_for_zero(t2s_1(0, 0)
70 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(0, 1) * t2_1(0, 1)
71 + t2s_2(0, 2) * t2_1(0, 2)),
72 "T2(j,k)^T2s(i,k)(0,0)");
73 test_for_zero(t2s_1(0, 1)
74 - (t2s_2(0, 0) * t2_1(1, 0) + t2s_2(0, 1) * t2_1(1, 1)
75 + t2s_2(0, 2) * t2_1(1, 2)),
76 "T2(j,k)^T2s(i,k)(0,1)");
77 test_for_zero(t2s_1(0, 2)
78 - (t2s_2(0, 0) * t2_1(2, 0) + t2s_2(0, 1) * t2_1(2, 1)
79 + t2s_2(0, 2) * t2_1(2, 2)),
80 "T2(j,k)^T2s(i,k)(0,2)");
81 test_for_zero(t2s_1(1, 0)
82 - (t2s_2(1, 0) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(0, 1)
83 + t2s_2(1, 2) * t2_1(0, 2)),
84 "T2(j,k)^T2s(i,k)(1,0)");
85 test_for_zero(t2s_1(1, 1)
86 - (t2s_2(1, 0) * t2_1(1, 0) + t2s_2(1, 1) * t2_1(1, 1)
87 + t2s_2(1, 2) * t2_1(1, 2)),
88 "T2(j,k)^T2s(i,k)(1,1)");
89 test_for_zero(t2s_1(1, 2)
90 - (t2s_2(1, 0) * t2_1(2, 0) + t2s_2(1, 1) * t2_1(2, 1)
91 + t2s_2(1, 2) * t2_1(2, 2)),
92 "T2(j,k)^T2s(i,k)(1,2)");
93 test_for_zero(t2s_1(2, 0)
94 - (t2s_2(2, 0) * t2_1(0, 0) + t2s_2(2, 1) * t2_1(0, 1)
95 + t2s_2(2, 2) * t2_1(0, 2)),
96 "T2(j,k)^T2s(i,k)(2,0)");
97 test_for_zero(t2s_1(2, 1)
98 - (t2s_2(2, 0) * t2_1(1, 0) + t2s_2(2, 1) * t2_1(1, 1)
99 + t2s_2(2, 2) * t2_1(1, 2)),
100 "T2(j,k)^T2s(i,k)(2,1)");
101 test_for_zero(t2s_1(2, 2)
102 - (t2s_2(2, 0) * t2_1(2, 0) + t2s_2(2, 1) * t2_1(2, 1)
103 + t2s_2(2, 2) * t2_1(2, 2)),
104 "T2(j,k)^T2s(i,k)(2,2)");
105}

◆ test_T2s_43()

void test_T2s_43 ( Tensor2< double, 3, 3 > & t2_1,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_43.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(0, 0) = t2s_2(0, 0);
22 t2_1(0, 1) = t2s_2(0, 1);
23 t2_1(0, 2) = t2s_2(0, 2);
24 t2_1(1, 0) = t2s_2(1, 0);
25 t2_1(1, 1) = t2s_2(1, 1);
26 t2_1(1, 2) = t2s_2(1, 2);
27 t2_1(2, 0) = t2s_2(2, 0);
28 t2_1(2, 1) = t2s_2(2, 1);
29 t2_1(2, 2) = t2s_2(2, 2);
30
31 t2s_1(i, j) = t2s_2(k, i) ^ t2_1(k, j);
32 test_for_zero(t2s_1(0, 0)
33 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(1, 0) * t2_1(1, 0)
34 + t2s_2(2, 0) * t2_1(2, 0)),
35 "T2s(k,i)^T2(k,j)(0,0)");
36 test_for_zero(t2s_1(0, 1)
37 - (t2s_2(0, 0) * t2_1(0, 1) + t2s_2(1, 0) * t2_1(1, 1)
38 + t2s_2(2, 0) * t2_1(2, 1)),
39 "T2s(k,i)^T2(k,j)(0,1)");
40 test_for_zero(t2s_1(0, 2)
41 - (t2s_2(0, 0) * t2_1(0, 2) + t2s_2(1, 0) * t2_1(1, 2)
42 + t2s_2(2, 0) * t2_1(2, 2)),
43 "T2s(k,i)^T2(k,j)(0,2)");
44 test_for_zero(t2s_1(1, 0)
45 - (t2s_2(0, 1) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(1, 0)
46 + t2s_2(2, 1) * t2_1(2, 0)),
47 "T2s(k,i)^T2(k,j)(1,0)");
48 test_for_zero(t2s_1(1, 1)
49 - (t2s_2(0, 1) * t2_1(0, 1) + t2s_2(1, 1) * t2_1(1, 1)
50 + t2s_2(2, 1) * t2_1(2, 1)),
51 "T2s(k,i)^T2(k,j)(1,1)");
52 test_for_zero(t2s_1(1, 2)
53 - (t2s_2(0, 1) * t2_1(0, 2) + t2s_2(1, 1) * t2_1(1, 2)
54 + t2s_2(2, 1) * t2_1(2, 2)),
55 "T2s(k,i)^T2(k,j)(1,2)");
56 test_for_zero(t2s_1(2, 0)
57 - (t2s_2(0, 2) * t2_1(0, 0) + t2s_2(1, 2) * t2_1(1, 0)
58 + t2s_2(2, 2) * t2_1(2, 0)),
59 "T2s(k,i)^T2(k,j)(2,0)");
60 test_for_zero(t2s_1(2, 1)
61 - (t2s_2(0, 2) * t2_1(0, 1) + t2s_2(1, 2) * t2_1(1, 1)
62 + t2s_2(2, 2) * t2_1(2, 1)),
63 "T2s(k,i)^T2(k,j)(2,1)");
64 test_for_zero(t2s_1(2, 2)
65 - (t2s_2(0, 2) * t2_1(0, 2) + t2s_2(1, 2) * t2_1(1, 2)
66 + t2s_2(2, 2) * t2_1(2, 2)),
67 "T2s(k,i)^T2(k,j)(2,2)");
68 t2s_1(i, j) = t2_1(k, j) ^ t2s_2(k, i);
69 test_for_zero(t2s_1(0, 0)
70 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(1, 0) * t2_1(1, 0)
71 + t2s_2(2, 0) * t2_1(2, 0)),
72 "T2(k,j)^T2s(k,i)(0,0)");
73 test_for_zero(t2s_1(0, 1)
74 - (t2s_2(0, 0) * t2_1(0, 1) + t2s_2(1, 0) * t2_1(1, 1)
75 + t2s_2(2, 0) * t2_1(2, 1)),
76 "T2(k,j)^T2s(k,i)(0,1)");
77 test_for_zero(t2s_1(0, 2)
78 - (t2s_2(0, 0) * t2_1(0, 2) + t2s_2(1, 0) * t2_1(1, 2)
79 + t2s_2(2, 0) * t2_1(2, 2)),
80 "T2(k,j)^T2s(k,i)(0,2)");
81 test_for_zero(t2s_1(1, 0)
82 - (t2s_2(0, 1) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(1, 0)
83 + t2s_2(2, 1) * t2_1(2, 0)),
84 "T2(k,j)^T2s(k,i)(1,0)");
85 test_for_zero(t2s_1(1, 1)
86 - (t2s_2(0, 1) * t2_1(0, 1) + t2s_2(1, 1) * t2_1(1, 1)
87 + t2s_2(2, 1) * t2_1(2, 1)),
88 "T2(k,j)^T2s(k,i)(1,1)");
89 test_for_zero(t2s_1(1, 2)
90 - (t2s_2(0, 1) * t2_1(0, 2) + t2s_2(1, 1) * t2_1(1, 2)
91 + t2s_2(2, 1) * t2_1(2, 2)),
92 "T2(k,j)^T2s(k,i)(1,2)");
93 test_for_zero(t2s_1(2, 0)
94 - (t2s_2(0, 2) * t2_1(0, 0) + t2s_2(1, 2) * t2_1(1, 0)
95 + t2s_2(2, 2) * t2_1(2, 0)),
96 "T2(k,j)^T2s(k,i)(2,0)");
97 test_for_zero(t2s_1(2, 1)
98 - (t2s_2(0, 2) * t2_1(0, 1) + t2s_2(1, 2) * t2_1(1, 1)
99 + t2s_2(2, 2) * t2_1(2, 1)),
100 "T2(k,j)^T2s(k,i)(2,1)");
101 test_for_zero(t2s_1(2, 2)
102 - (t2s_2(0, 2) * t2_1(0, 2) + t2s_2(1, 2) * t2_1(1, 2)
103 + t2s_2(2, 2) * t2_1(2, 2)),
104 "T2(k,j)^T2s(k,i)(2,2)");
105}

◆ test_T2s_44()

void test_T2s_44 ( Tensor2< double, 3, 3 > & t2_1,
Tensor2_symmetric< double, 3 > & t2s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_44.cpp.

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 /* Tensor2_symmetric tests */
20
21 t2_1(0, 0) = t2s_2(0, 0);
22 t2_1(0, 1) = t2s_2(0, 1);
23 t2_1(0, 2) = t2s_2(0, 2);
24 t2_1(1, 0) = t2s_2(1, 0);
25 t2_1(1, 1) = t2s_2(1, 1);
26 t2_1(1, 2) = t2s_2(1, 2);
27 t2_1(2, 0) = t2s_2(2, 0);
28 t2_1(2, 1) = t2s_2(2, 1);
29 t2_1(2, 2) = t2s_2(2, 2);
30
31 t2s_1(i, j) = t2s_2(k, i) ^ t2_1(j, k);
32 test_for_zero(t2s_1(0, 0)
33 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(1, 0) * t2_1(0, 1)
34 + t2s_2(2, 0) * t2_1(0, 2)),
35 "T2s(k,i)^T2(j,k)(0,0)");
36 test_for_zero(t2s_1(0, 1)
37 - (t2s_2(0, 0) * t2_1(1, 0) + t2s_2(1, 0) * t2_1(1, 1)
38 + t2s_2(2, 0) * t2_1(1, 2)),
39 "T2s(k,i)^T2(j,k)(0,1)");
40 test_for_zero(t2s_1(0, 2)
41 - (t2s_2(0, 0) * t2_1(2, 0) + t2s_2(1, 0) * t2_1(2, 1)
42 + t2s_2(2, 0) * t2_1(2, 2)),
43 "T2s(k,i)^T2(j,k)(0,2)");
44 test_for_zero(t2s_1(1, 0)
45 - (t2s_2(0, 1) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(0, 1)
46 + t2s_2(2, 1) * t2_1(0, 2)),
47 "T2s(k,i)^T2(j,k)(1,0)");
48 test_for_zero(t2s_1(1, 1)
49 - (t2s_2(0, 1) * t2_1(1, 0) + t2s_2(1, 1) * t2_1(1, 1)
50 + t2s_2(2, 1) * t2_1(1, 2)),
51 "T2s(k,i)^T2(j,k)(1,1)");
52 test_for_zero(t2s_1(1, 2)
53 - (t2s_2(0, 1) * t2_1(2, 0) + t2s_2(1, 1) * t2_1(2, 1)
54 + t2s_2(2, 1) * t2_1(2, 2)),
55 "T2s(k,i)^T2(j,k)(1,2)");
56 test_for_zero(t2s_1(2, 0)
57 - (t2s_2(0, 2) * t2_1(0, 0) + t2s_2(1, 2) * t2_1(0, 1)
58 + t2s_2(2, 2) * t2_1(0, 2)),
59 "T2s(k,i)^T2(j,k)(2,0)");
60 test_for_zero(t2s_1(2, 1)
61 - (t2s_2(0, 2) * t2_1(1, 0) + t2s_2(1, 2) * t2_1(1, 1)
62 + t2s_2(2, 2) * t2_1(1, 2)),
63 "T2s(k,i)^T2(j,k)(2,1)");
64 test_for_zero(t2s_1(2, 2)
65 - (t2s_2(0, 2) * t2_1(2, 0) + t2s_2(1, 2) * t2_1(2, 1)
66 + t2s_2(2, 2) * t2_1(2, 2)),
67 "T2s(k,i)^T2(j,k)(2,2)");
68 t2s_1(i, j) = t2_1(j, k) ^ t2s_2(k, i);
69 test_for_zero(t2s_1(0, 0)
70 - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(1, 0) * t2_1(0, 1)
71 + t2s_2(2, 0) * t2_1(0, 2)),
72 "T2(j,k)^T2s(k,i)(0,0)");
73 test_for_zero(t2s_1(0, 1)
74 - (t2s_2(0, 0) * t2_1(1, 0) + t2s_2(1, 0) * t2_1(1, 1)
75 + t2s_2(2, 0) * t2_1(1, 2)),
76 "T2(j,k)^T2s(k,i)(0,1)");
77 test_for_zero(t2s_1(0, 2)
78 - (t2s_2(0, 0) * t2_1(2, 0) + t2s_2(1, 0) * t2_1(2, 1)
79 + t2s_2(2, 0) * t2_1(2, 2)),
80 "T2(j,k)^T2s(k,i)(0,2)");
81 test_for_zero(t2s_1(1, 0)
82 - (t2s_2(0, 1) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(0, 1)
83 + t2s_2(2, 1) * t2_1(0, 2)),
84 "T2(j,k)^T2s(k,i)(1,0)");
85 test_for_zero(t2s_1(1, 1)
86 - (t2s_2(0, 1) * t2_1(1, 0) + t2s_2(1, 1) * t2_1(1, 1)
87 + t2s_2(2, 1) * t2_1(1, 2)),
88 "T2(j,k)^T2s(k,i)(1,1)");
89 test_for_zero(t2s_1(1, 2)
90 - (t2s_2(0, 1) * t2_1(2, 0) + t2s_2(1, 1) * t2_1(2, 1)
91 + t2s_2(2, 1) * t2_1(2, 2)),
92 "T2(j,k)^T2s(k,i)(1,2)");
93 test_for_zero(t2s_1(2, 0)
94 - (t2s_2(0, 2) * t2_1(0, 0) + t2s_2(1, 2) * t2_1(0, 1)
95 + t2s_2(2, 2) * t2_1(0, 2)),
96 "T2(j,k)^T2s(k,i)(2,0)");
97 test_for_zero(t2s_1(2, 1)
98 - (t2s_2(0, 2) * t2_1(1, 0) + t2s_2(1, 2) * t2_1(1, 1)
99 + t2s_2(2, 2) * t2_1(1, 2)),
100 "T2(j,k)^T2s(k,i)(2,1)");
101 test_for_zero(t2s_1(2, 2)
102 - (t2s_2(0, 2) * t2_1(2, 0) + t2s_2(1, 2) * t2_1(2, 1)
103 + t2s_2(2, 2) * t2_1(2, 2)),
104 "T2(j,k)^T2s(k,i)(2,2)");
105}

◆ test_T2s_45()

void test_T2s_45 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_45.cpp.

9{
10 Index<'i', 3> i;
11
12 Number<0> N0;
13 Number<1> N1;
14 Number<2> N2;
15
16 /* Tensor2_symmetric tests */
17
18 /* Test of Number<> as an index. */
19
20 t2s_1(N0, i) = t1_2(i);
21 t2s_1(N0, i) += t1_2(i);
22 test_for_zero(t2s_1(0, 0) - 2 * t1_2(0), "T2s+=(N,i)(0,0)");
23 test_for_zero(t2s_1(0, 1) - 2 * t1_2(1), "T2s+=(N,i)(0,1)");
24 test_for_zero(t2s_1(0, 2) - 2 * t1_2(2), "T2s+=(N,i)(0,2)");
25 t2s_1(N0, i) -= t1_2(i);
26 test_for_zero(t2s_1(0, 0) - t1_2(0), "T2s-=(N,i)(0,0)");
27 test_for_zero(t2s_1(0, 1) - t1_2(1), "T2s-=(N,i)(0,1)");
28 test_for_zero(t2s_1(0, 2) - t1_2(2), "T2s-=(N,i)(0,2)");
29
30 t2s_1(N1, i) = t1_2(i);
31 t2s_1(N1, i) += t1_2(i);
32 test_for_zero(t2s_1(1, 0) - 2 * t1_2(0), "T2s+=(N,i)(1,0)");
33 test_for_zero(t2s_1(1, 1) - 2 * t1_2(1), "T2s+=(N,i)(1,1)");
34 test_for_zero(t2s_1(1, 2) - 2 * t1_2(2), "T2s+=(N,i)(1,2)");
35 t2s_1(N1, i) -= t1_2(i);
36 test_for_zero(t2s_1(1, 0) - t1_2(0), "T2s-=(N,i)(1,0)");
37 test_for_zero(t2s_1(1, 1) - t1_2(1), "T2s-=(N,i)(1,1)");
38 test_for_zero(t2s_1(1, 2) - t1_2(2), "T2s-=(N,i)(1,2)");
39
40 t2s_1(N2, i) = t1_2(i);
41 t2s_1(N2, i) += t1_2(i);
42 test_for_zero(t2s_1(2, 0) - 2 * t1_2(0), "T2s+=(N,i)(2,0)");
43 test_for_zero(t2s_1(2, 1) - 2 * t1_2(1), "T2s+=(N,i)(2,1)");
44 test_for_zero(t2s_1(2, 2) - 2 * t1_2(2), "T2s+=(N,i)(2,2)");
45 t2s_1(N2, i) -= t1_2(i);
46 test_for_zero(t2s_1(2, 0) - t1_2(0), "T2s-=(N,i)(2,0)");
47 test_for_zero(t2s_1(2, 1) - t1_2(1), "T2s-=(N,i)(2,1)");
48 test_for_zero(t2s_1(2, 2) - t1_2(2), "T2s-=(N,i)(2,2)");
49}

◆ test_T2s_46()

void test_T2s_46 ( const Tensor1< double, 3 > & t1_2,
Tensor2_symmetric< double, 3 > & t2s_1 )

Definition at line 7 of file test_T2s_46.cpp.

9{
10 Index<'i', 3> i;
11
12 Number<0> N0;
13 Number<1> N1;
14 Number<2> N2;
15
16 /* Tensor2_symmetric tests */
17
18 /* Test of Number<> as an index. */
19
20 t2s_1(i, N0) = t1_2(i);
21 t2s_1(i, N0) += t1_2(i);
22 test_for_zero(t2s_1(0, 0) - 2 * t1_2(0), "T2s+=(i,N)(0,0)");
23 test_for_zero(t2s_1(0, 1) - 2 * t1_2(1), "T2s+=(i,N)(0,1)");
24 test_for_zero(t2s_1(0, 2) - 2 * t1_2(2), "T2s+=(i,N)(0,2)");
25 t2s_1(i, N0) -= t1_2(i);
26 test_for_zero(t2s_1(0, 0) - t1_2(0), "T2s-=(i,N)(0,0)");
27 test_for_zero(t2s_1(0, 1) - t1_2(1), "T2s-=(i,N)(0,1)");
28 test_for_zero(t2s_1(0, 2) - t1_2(2), "T2s-=(i,N)(0,2)");
29
30 t2s_1(i, N1) = t1_2(i);
31 t2s_1(i, N1) += t1_2(i);
32 test_for_zero(t2s_1(1, 0) - 2 * t1_2(0), "T2s+=(i,N)(1,0)");
33 test_for_zero(t2s_1(1, 1) - 2 * t1_2(1), "T2s+=(i,N)(1,1)");
34 test_for_zero(t2s_1(1, 2) - 2 * t1_2(2), "T2s+=(i,N)(1,2)");
35 t2s_1(i, N1) -= t1_2(i);
36 test_for_zero(t2s_1(1, 0) - t1_2(0), "T2s-=(i,N)(1,0)");
37 test_for_zero(t2s_1(1, 1) - t1_2(1), "T2s-=(i,N)(1,1)");
38 test_for_zero(t2s_1(1, 2) - t1_2(2), "T2s-=(i,N)(1,2)");
39
40 t2s_1(i, N2) = t1_2(i);
41 t2s_1(i, N2) += t1_2(i);
42 test_for_zero(t2s_1(2, 0) - 2 * t1_2(0), "T2s+=(i,N)(2,0)");
43 test_for_zero(t2s_1(2, 1) - 2 * t1_2(1), "T2s+=(i,N)(2,1)");
44 test_for_zero(t2s_1(2, 2) - 2 * t1_2(2), "T2s+=(i,N)(2,2)");
45 t2s_1(i, N2) -= t1_2(i);
46 test_for_zero(t2s_1(2, 0) - t1_2(0), "T2s-=(i,N)(2,0)");
47 test_for_zero(t2s_1(2, 1) - t1_2(1), "T2s-=(i,N)(2,1)");
48 test_for_zero(t2s_1(2, 2) - t1_2(2), "T2s-=(i,N)(2,2)");
49}

◆ test_T2s_47()

void test_T2s_47 ( const Tensor2_symmetric< double, 3 > & t1s_1,
const Tensor2_symmetric< double, 3 > & t2s_2 )

Definition at line 7 of file test_T2s_47.cpp.

8 {
9
10 Index<'i', 3> i;
11 Index<'j', 3> j;
12 Index<'k', 3> k;
13 Index<'l', 3> l;
14
16 t4s(i, j, k, l) = t2s_1(i, k) ^ t2s_2(j, l);
17
18 for (int ii = 0; ii != 3; ++ii)
19 for (int jj = 0; jj != 3; ++jj)
20 for (int kk = 0; kk != 3; ++kk)
21 for (int ll = 0; ll != 3; ++ll) {
22
23 auto small_eval = [&](auto n1, auto n2, auto n3, auto n4) {
24 return t2s_1(n1, n3) * t2s_2(n2, n4);
25 };
26
27 const auto n1 = ii;
28 const auto n2 = jj;
29 const auto n3 = kk;
30 const auto n4 = ll;
31
32 const double t =
33 small_eval(n1, n2, n3, n4) + small_eval(n2, n1, n3, n4) +
34 small_eval(n1, n2, n4, n3) + small_eval(n2, n1, n4, n3);
35
36 test_for_zero(t4s(ii, jj, kk, ll) - t, "t2s_1(i, k) ^ t2s_2(j, k)");
37
38 }
39}
FTensor::Index< 'l', 3 > l
constexpr double t
plate stiffness
Definition plate.cpp:58

◆ test_T2s_iostream()

void test_T2s_iostream ( )

Definition at line 7 of file test_T2s_iostream.cpp.

8{
9 test_ostream(Tensor2_symmetric<double, 3>(3., 7., 11., 13., 17., 23.),
10 "[[3,7,11],[13,17],[23]]", "operator<<(T2s<3>)");
12 "operator<<(T2s<1>)");
13
15 std::stringstream ss("[[3,7,11],[13,17],[23]]");
16 ss >> t2s_1;
17 test_for_zero(t2s_1(0, 0) - 3, "operator>>(T2s)(0,0)");
18 test_for_zero(t2s_1(0, 1) - 7, "operator>>(T2s)(0,1)");
19 test_for_zero(t2s_1(0, 2) - 11, "operator>>(T2s)(0,2)");
20 test_for_zero(t2s_1(1, 1) - 13, "operator>>(T2s)(1,1)");
21 test_for_zero(t2s_1(1, 2) - 17, "operator>>(T2s)(1,2)");
22 test_for_zero(t2s_1(2, 2) - 23, "operator>>(T2s)(2,2)");
23}
void test_ostream(const T &t, const std::string &expected, const std::string &test_name)