Mercurial > repos > public > sbplib
comparison +multiblock/DiffOp.m @ 220:5df8d20281fe feature/beams
Made scheme boundary_condition return a cell array of penalties if there are several of them.
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Tue, 28 Jun 2016 13:11:14 +0200 |
| parents | 8b10476b9bb7 |
| children | b8ee5212f651 |
comparison
equal
deleted
inserted
replaced
| 219:f66513508c75 | 220:5df8d20281fe |
|---|---|
| 117 | 117 |
| 118 % Expand to matrix for full domain. | 118 % Expand to matrix for full domain. |
| 119 div = obj.blockmatrixDiv; | 119 div = obj.blockmatrixDiv; |
| 120 closure = blockmatrix.zero(div); | 120 closure = blockmatrix.zero(div); |
| 121 closure{I,I} = blockClosure; | 121 closure{I,I} = blockClosure; |
| 122 closure = blockmatrix.toMatrix(closure); | |
| 122 | 123 |
| 123 div{2} = 1; % Penalty is a column vector | 124 div{2} = 1; % Penalty is a column vector |
| 124 penalty = blockmatrix.zero(div); | 125 if ~iscell(blockPenalty) |
| 125 penalty{I} = blockPenalty; | 126 p = blockmatrix.zero(div); |
| 126 | 127 p{I} = blockPenalty; |
| 127 % Convert to matrix | 128 penalty = blockmatrix.toMatrix(p); |
| 128 closure = blockmatrix.toMatrix(closure); | 129 else |
| 129 penalty = blockmatrix.toMatrix(penalty); | 130 for i = 1:length(blockPenalty) |
| 131 p = blockmatrix.zero(div); | |
| 132 p{I} = blockPenalty{i}; | |
| 133 penalty{i} = blockmatrix.toMatrix(p); | |
| 134 end | |
| 135 end | |
| 130 end | 136 end |
| 131 | 137 |
| 132 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) | 138 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) |
| 133 | 139 |
| 134 end | 140 end |
