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 |