annotate +grid/evalOnScalarTest.m @ 1296:2853b655c172 feature/boundary_optimized_grids

Fix typos in comments
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Tue, 07 Jul 2020 16:00:24 +0200
parents f688e2bdb74a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
273
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = evalOnScalarTest()
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function testInputConstant(testCase)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 in = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 0,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 47,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 1,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 [1; 2],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 out = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 [0; 0; 0],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 [47; 47; 47],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 [1; 1; 1],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 [1; 2; 1; 2; 1; 2],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 g = getTestGrid('1d');
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 for i = 1:length(in)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 gf = grid.evalOnScalar(g,in{i});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 testCase.verifyEqual(gf, out{i});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 function testInputScalarFunction1d(testCase)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 in = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 @(x)1+x*0,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 @(x)x,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 @(x)x.*x,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 out = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 [1; 1; 1],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 [0; 1; 2],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 [0; 1; 4],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 g = getTestGrid('1d');
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 for i = 1:length(in)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 gf = grid.evalOnScalar(g,in{i});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 testCase.verifyEqual(gf, out{i});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 function testInputScalarFunction2d(testCase)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50 in = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 @(x,y)1+x*0,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 @(x,y)x-y,
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 @(x,y)x./(1+y),
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 out = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 [1; 1; 1; 1; 1; 1; 1; 1; 1],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 [0; -1; -2; 1; 0; -1; 2; 1; 0],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 [0; 0; 0; 1; 1/2; 1/3; 2; 1; 2/3],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 g = getTestGrid('2d');
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 for i = 1:length(in)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 gf = grid.evalOnScalar(g, in{i});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 testCase.verifyEqual(gf, out{i});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
70
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
71 function testInputVectorFunction(testCase)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
72 g = getTestGrid('1d');
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
73 in = @(x)[x; -2*x];
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
74 out = [0; 0; 1; -2; 2; -4];
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
75
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
76 gf = grid.evalOnScalar(g,in);
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
77 testCase.verifyEqual(gf, out);
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
78
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
79 g = getTestGrid('2d');
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
80 in = @(x,y)[x.^2; -2*y];
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
81 out = [
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
82 0; 0;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
83 0; -2;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
84 0; -4;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
85 1; 0;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
86 1; -2;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
87 1; -4;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
88 4; 0;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
89 4; -2;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
90 4; -4;
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
91 ];
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
92
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
93 gf = grid.evalOnScalar(g,in);
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
94 testCase.verifyEqual(gf, out);
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
95 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
96
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
97
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
98 function testInputErrorVectorValued(testCase)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
99 in = {
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
100 [1,2,3],
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
101 @(x,y)[x,-y];
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
102 };
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
103
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
104 g = getTestGrid('2d');
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
105
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
106 for i = 1:length(in)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
107 testCase.verifyError(@()grid.evalOnScalar(g, in{i}),'grid:evalOnScalar:VectorValuedWrongDim',sprintf('in(%d) = %s',i,toString(in{i})));
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
108 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
109 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
110
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
111 function g = getTestGrid(d)
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
112 switch d
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
113 case '1d'
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
114 g = grid.equidistant(3,{0,2});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
115 case '2d'
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
116 g = grid.equidistant([3,3],{0,2},{0,2});
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
117 end
f688e2bdb74a grid: Added evalOn for scalar functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
118 end