Mercurial > repos > public > sbplib
diff +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 |
line wrap: on
line diff
--- a/+multiblock/DiffOp.m Mon Jun 27 13:26:02 2016 +0200 +++ b/+multiblock/DiffOp.m Tue Jun 28 13:11:14 2016 +0200 @@ -119,14 +119,20 @@ div = obj.blockmatrixDiv; closure = blockmatrix.zero(div); closure{I,I} = blockClosure; + closure = blockmatrix.toMatrix(closure); div{2} = 1; % Penalty is a column vector - penalty = blockmatrix.zero(div); - penalty{I} = blockPenalty; - - % Convert to matrix - closure = blockmatrix.toMatrix(closure); - penalty = blockmatrix.toMatrix(penalty); + if ~iscell(blockPenalty) + p = blockmatrix.zero(div); + p{I} = blockPenalty; + penalty = blockmatrix.toMatrix(p); + else + for i = 1:length(blockPenalty) + p = blockmatrix.zero(div); + p{I} = blockPenalty{i}; + penalty{i} = blockmatrix.toMatrix(p); + end + end end function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary)