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