Mercurial > repos > public > sbplib
comparison +scheme/Elastic2dVariableAnisotropicUpwind.m @ 1271:b5025bd67be1 feature/poroelastic
Allow using D1 D1 in VariableAnisotropicUpwind
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Sun, 31 May 2020 21:58:40 -0700 |
parents | 02dfe3a56742 |
children |
comparison
equal
deleted
inserted
replaced
1270:9a7cac4202d0 | 1271:b5025bd67be1 |
---|---|
126 d1_0 = cell(dim,1); | 126 d1_0 = cell(dim,1); |
127 d1_m = cell(dim,1); | 127 d1_m = cell(dim,1); |
128 | 128 |
129 for i = 1:dim | 129 for i = 1:dim |
130 I{i} = speye(m(i)); | 130 I{i} = speye(m(i)); |
131 Dp{i} = ops{i}.Dp; | 131 |
132 Dm{i} = ops{i}.Dm; | 132 if isprop(ops{i}, 'Dp') && isprop(ops{i}, 'Dm') |
133 Dp{i} = ops{i}.Dp; | |
134 Dm{i} = ops{i}.Dm; | |
135 elseif isprop(ops{i}, 'D1') | |
136 Dp{i} = ops{i}.D1; | |
137 Dm{i} = ops{i}.D1; | |
138 else | |
139 error('opSet does not have Dp and Dm or D1'); | |
140 end | |
141 | |
133 H{i} = ops{i}.H; | 142 H{i} = ops{i}.H; |
134 Hi{i} = ops{i}.HI; | 143 Hi{i} = ops{i}.HI; |
135 e_0{i} = ops{i}.e_l; | 144 e_0{i} = ops{i}.e_l; |
136 e_m{i} = ops{i}.e_r; | 145 e_m{i} = ops{i}.e_r; |
137 d1_0{i} = (ops{i}.e_l' * Dm{i})'; | 146 d1_0{i} = (ops{i}.e_l' * Dm{i})'; |