Mercurial > repos > public > sbplib
comparison +multiblock/DiffOp.m @ 862:517d6019d63c bcSetupExperiment
I remove cell support in multiblock.DiffOp.boundary_condition
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Wed, 25 Jul 2018 15:17:16 -0700 |
| parents | e05465aa2e25 |
| children | 1cc5a0d26453 |
comparison
equal
deleted
inserted
replaced
| 792:8e4b9a5d7c50 | 862:517d6019d63c |
|---|---|
| 196 % Get the closure and penaly matrices | 196 % Get the closure and penaly matrices |
| 197 [blockClosure, blockPenalty] = obj.diffOps{I}.boundary_condition(name, type); | 197 [blockClosure, blockPenalty] = obj.diffOps{I}.boundary_condition(name, type); |
| 198 | 198 |
| 199 % Expand to matrix for full domain. | 199 % Expand to matrix for full domain. |
| 200 div = obj.blockmatrixDiv; | 200 div = obj.blockmatrixDiv; |
| 201 if ~iscell(blockClosure) | 201 temp = blockmatrix.zero(div); |
| 202 temp = blockmatrix.zero(div); | 202 temp{I,I} = blockClosure; |
| 203 temp{I,I} = blockClosure; | 203 closure = blockmatrix.toMatrix(temp); |
| 204 closure = blockmatrix.toMatrix(temp); | 204 |
| 205 else | 205 div{2} = size(blockPenalty, 2); % Penalty is a column vector |
| 206 for i = 1:length(blockClosure) | 206 p = blockmatrix.zero(div); |
| 207 temp = blockmatrix.zero(div); | 207 p{I} = blockPenalty; |
| 208 temp{I,I} = blockClosure{i}; | 208 penalty = blockmatrix.toMatrix(p); |
| 209 closure{i} = blockmatrix.toMatrix(temp); | |
| 210 end | |
| 211 end | |
| 212 | |
| 213 if ~iscell(blockPenalty) | |
| 214 div{2} = size(blockPenalty, 2); % Penalty is a column vector | |
| 215 p = blockmatrix.zero(div); | |
| 216 p{I} = blockPenalty; | |
| 217 penalty = blockmatrix.toMatrix(p); | |
| 218 else | |
| 219 % TODO: used by beam equation, should be eliminated. SHould only set one BC per call | |
| 220 for i = 1:length(blockPenalty) | |
| 221 div{2} = size(blockPenalty{i}, 2); % Penalty is a column vector | |
| 222 p = blockmatrix.zero(div); | |
| 223 p{I} = blockPenalty{i}; | |
| 224 penalty{i} = blockmatrix.toMatrix(p); | |
| 225 end | |
| 226 end | |
| 227 end | 209 end |
| 228 | 210 |
| 229 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) | 211 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) |
| 230 error('not implemented') | 212 error('not implemented') |
| 231 end | 213 end |
