Mercurial > repos > public > sbplib
comparison +multiblock/DiffOp.m @ 920:386ef449df51 feature/d1_staggered
Merge with default.
| author | Martin Almquist <malmquist@stanford.edu> |
|---|---|
| date | Wed, 28 Nov 2018 17:35:19 -0800 |
| parents | 7d4f57725192 57760d7088ad |
| children |
comparison
equal
deleted
inserted
replaced
| 890:c70131daaa6e | 920:386ef449df51 |
|---|---|
| 221 | 221 |
| 222 % Get the closure and penaly matrices | 222 % Get the closure and penaly matrices |
| 223 [blockClosure, blockPenalty] = obj.diffOps{I}.boundary_condition(name, type); | 223 [blockClosure, blockPenalty] = obj.diffOps{I}.boundary_condition(name, type); |
| 224 | 224 |
| 225 % Expand to matrix for full domain. | 225 % Expand to matrix for full domain. |
| 226 div = obj.blockmatrixDiv; | 226 closure = multiblock.local2globalClosure(blockClosure, obj.blockmatrixDiv, I); |
| 227 if ~iscell(blockClosure) | 227 penalty = multiblock.local2globalPenalty(blockPenalty, obj.blockmatrixDiv, I); |
| 228 temp = blockmatrix.zero(div); | |
| 229 temp{I,I} = blockClosure; | |
| 230 closure = blockmatrix.toMatrix(temp); | |
| 231 else | |
| 232 for i = 1:length(blockClosure) | |
| 233 temp = blockmatrix.zero(div); | |
| 234 temp{I,I} = blockClosure{i}; | |
| 235 closure{i} = blockmatrix.toMatrix(temp); | |
| 236 end | |
| 237 end | |
| 238 | |
| 239 if ~iscell(blockPenalty) | |
| 240 div{2} = size(blockPenalty, 2); % Penalty is a column vector | |
| 241 p = blockmatrix.zero(div); | |
| 242 p{I} = blockPenalty; | |
| 243 penalty = blockmatrix.toMatrix(p); | |
| 244 else | |
| 245 % TODO: used by beam equation, should be eliminated. SHould only set one BC per call | |
| 246 for i = 1:length(blockPenalty) | |
| 247 div{2} = size(blockPenalty{i}, 2); % Penalty is a column vector | |
| 248 p = blockmatrix.zero(div); | |
| 249 p{I} = blockPenalty{i}; | |
| 250 penalty{i} = blockmatrix.toMatrix(p); | |
| 251 end | |
| 252 end | |
| 253 end | 228 end |
| 254 | 229 |
| 255 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) | 230 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) |
| 256 error('not implemented') | 231 error('not implemented') |
| 257 end | 232 end |
