annotate +blockmatrix/isBlockmatrix.m @ 1294:fe712a1fca3f feature/poroelastic

Add frictional fault interface in Elastic2dAnisotropicCurve
author Martin Almquist <malmquist@stanford.edu>
date Thu, 02 Jul 2020 15:00:21 -0700
parents a5f1b0267dba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
203
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function b = isBlockmatrix(bm)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 if ~iscell(bm)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
579
a5f1b0267dba Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents: 203
diff changeset
7 % Make sure all blocks are numerical matrices
203
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 for i = 1:length(bm)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 if ~isnumeric(bm{i})
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 [N,M] = size(bm);
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 % Make sure column dimensions agree
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 for i = 1:N
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 d = [];
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 for j = 1:M
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 d_ij = size(bm{i,j},1);
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 if d_ij == 0
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 continue
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 if isempty(d)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 d = d_ij;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 continue
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 if d ~= d_ij
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 % Make sure row dimensions agree
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 for j = 1:M
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 d = [];
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 for i = 1:N
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 d_ij = size(bm{i,j},2);
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 if d_ij == 0
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 continue
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 if isempty(d)
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 d = d_ij;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 continue
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 if d ~= d_ij
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 b = false;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 return
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 end
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 b = true;
764438b52541 blockmatrix: Added functions to test for block matrcies and divisions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 end