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 |