annotate reshapeRowMajTest.m @ 1037:2d7ba44340d0 feature/burgers1d

Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Fri, 18 Jan 2019 09:02:02 +0100
parents 5dad3b754c18
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
1 function tests = reshapeRowMajTest()
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function test1D(testCase)
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
6 in = {
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
7 {5,[1; 2; 3; 4; 5]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
8 {5,[1 2 3 4 5]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
9 };
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
10 out = {
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
11 [1; 2; 3; 4; 5],
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
12 [1; 2; 3; 4; 5],
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
13 };
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
14 for i = 1:length(in)
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
15 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i});
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
16 end
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
17 end
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
18
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
19
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
20 function testIdentity(testCase)
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
21 in = {
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
22 {[2,2], magic(2)},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
23 {[3,3], magic(3)},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
24 {[2,3], [1 2 3; 4 5 6]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
25 };
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
26
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
27 for i = 1:length(in)
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
28 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),in{i}{2});
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
29 end
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 end
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 function test2D(testCase)
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
33 in = {
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
34 {[2,2],[11; 12; 21; 22]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
35 {[3,2],[1 2 3; 4 5 6]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
36 {[6 1],[1 2 3; 4 5 6]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
37 {[1 6],[1 2 3; 4 5 6]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
38 };
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
40 out{1}(1,1) = 11;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
41 out{1}(1,2) = 12;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
42 out{1}(2,1) = 21;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
43 out{1}(2,2) = 22;
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
45 out{2} = [1 2; 3 4; 5 6];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
46 out{3} = [1; 2; 3; 4; 5; 6];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
47 out{4} = [1 2 3 4 5 6];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
48
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
49 for i = 1:length(in)
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
50 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i});
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
51 end
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 end
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 function test3D(testCase)
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
55 in = {
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
56 {[2, 2, 2], [111; 112; 121; 122; 211; 212; 221; 222]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
57 {[8 1], cat(3,[1 2; 3 4],[5 6; 7 8])},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
58 {[1 8], cat(3,[1 2; 3 4],[5 6; 7 8])},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
59 {[2 4], cat(3,[1 2; 3 4],[5 6; 7 8])},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
60 {[4 2], cat(3,[1 2; 3 4],[5 6; 7 8])},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
61 };
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
63 out{1}(1,1,1) = 111;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
64 out{1}(1,1,2) = 112;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
65 out{1}(1,2,1) = 121;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
66 out{1}(1,2,2) = 122;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
67 out{1}(2,1,1) = 211;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
68 out{1}(2,1,2) = 212;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
69 out{1}(2,2,1) = 221;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
70 out{1}(2,2,2) = 222;
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
71
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
72 out{2} = [1; 5; 2; 6; 3; 7; 4; 8];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
73 out{3} = [1 5 2 6 3 7 4 8];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
74 out{4} = [1 5 2 6; 3 7 4 8];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
75 out{5} = [1 5; 2 6; 3 7; 4 8];
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
76
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
77 for i = 1:length(in)
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
78 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i});
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
79 end
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
80 end
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
81
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
82 function testNonSquare(testCase)
165
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
83 in = {
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
84 {[2, 3, 4],[111; 112; 113; 114; 121; 122; 123; 124; 131; 132; 133; 134; 211; 212; 213; 214; 221; 222; 223; 224; 231; 232; 233; 234]},
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
85 };
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
86 out{1}(1,1,1) = 111;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
87 out{1}(1,1,2) = 112;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
88 out{1}(1,1,3) = 113;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
89 out{1}(1,1,4) = 114;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
90 out{1}(1,2,1) = 121;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
91 out{1}(1,2,2) = 122;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
92 out{1}(1,2,3) = 123;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
93 out{1}(1,2,4) = 124;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
94 out{1}(1,3,1) = 131;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
95 out{1}(1,3,2) = 132;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
96 out{1}(1,3,3) = 133;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
97 out{1}(1,3,4) = 134;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
98 out{1}(2,1,1) = 211;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
99 out{1}(2,1,2) = 212;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
100 out{1}(2,1,3) = 213;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
101 out{1}(2,1,4) = 214;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
102 out{1}(2,2,1) = 221;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
103 out{1}(2,2,2) = 222;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
104 out{1}(2,2,3) = 223;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
105 out{1}(2,2,4) = 224;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
106 out{1}(2,3,1) = 231;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
107 out{1}(2,3,2) = 232;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
108 out{1}(2,3,3) = 233;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
109 out{1}(2,3,4) = 234;
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
110 for i = 1:length(in)
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
111 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i});
5dad3b754c18 Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents: 163
diff changeset
112 end
161
73bc43c7379e Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
113 end