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