annotate +blockmatrix/zeroTest.m @ 958:72cd29107a9a feature/poroelastic

Temporary changes in multiblock.DiffOp. Change traction operators in Elastic2dvariable to be true boundary operators. But adjoint FD conv test fails for dirichlet BC so need to debug!
author Martin Almquist <malmquist@stanford.edu>
date Wed, 05 Dec 2018 18:58:10 -0800
parents a5f1b0267dba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
207
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = zeroTest()
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function testZero(testCase)
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 cases = {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 {[],[]},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 {},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 {0,0},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 {[]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 {1,1},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 {0};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 {2,1},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 {[0; 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 {1,2},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 {[0 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 {[1 2],2},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 {[0 0];[0 0; 0 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 },
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 {
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 {[1 2],[2 1]},
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 {[0 0],[0];[0 0; 0 0],[0; 0]};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 },
579
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
35 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
36 {[3],[0]},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
37 {zeros(3,0)},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
38 },
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
39
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
40 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
41 {[0],[3]},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
42 {zeros(0,3)},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
43 },
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
44 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
45 {[0 2],[0 3]},
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
46 {
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
47 zeros(0,0), zeros(0,3);
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
48 zeros(2,0), zeros(2,3);
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
49 },
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 207
diff changeset
50 },
207
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 };
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 for i = 1:length(cases)
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 out = convertToFull(blockmatrix.zero(cases{i}{1}));
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 expected = cases{i}{2};
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 testCase.verifyEqual(out,expected);
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 function C = convertToFull(C)
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 [N,M] = size(C);
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 for i = 1:N
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 for j = 1:M
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 C{i,j} = full(C{i,j});
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 end
d521e17f72b6 blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68 end