comparison +multiblock/DiffOp.m @ 584:b0386d2c180d feature/grids

In case of empty grids, make grid functions with the correct dimensions
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 08 Sep 2017 11:08:50 +0200
parents 55a7777dfcd0
children c360bbecf260
comparison
equal deleted inserted replaced
583:75f9b7a80f28 584:b0386d2c180d
132 blockOp = blockmatrix.zero(div); 132 blockOp = blockmatrix.zero(div);
133 blockOp{blockId,1} = localOp; 133 blockOp{blockId,1} = localOp;
134 op = blockmatrix.toMatrix(blockOp); 134 op = blockmatrix.toMatrix(blockOp);
135 return 135 return
136 case 'multiblock.BoundaryGroup' 136 case 'multiblock.BoundaryGroup'
137 op = []; 137 op = sparse(size(obj.D,1),0);
138 for i = 1:length(boundary) 138 for i = 1:length(boundary)
139 op = [op, obj.getBoundaryOperator(opName, boundary{i})]; 139 op = [op, obj.getBoundaryOperator(opName, boundary{i})];
140 end 140 end
141 otherwise 141 otherwise
142 error('Unknown boundary indentifier') 142 error('Unknown boundary indentifier')
153 case 'cell' 153 case 'cell'
154 [closure, penalty] = obj.singleBoundaryCondition(boundary, type); 154 [closure, penalty] = obj.singleBoundaryCondition(boundary, type);
155 case 'multiblock.BoundaryGroup' 155 case 'multiblock.BoundaryGroup'
156 [n,m] = size(obj.D); 156 [n,m] = size(obj.D);
157 closure = sparse(n,m); 157 closure = sparse(n,m);
158 penalty = []; 158 penalty = sparse(n,0);
159 for i = 1:length(boundary) 159 for i = 1:length(boundary)
160 [closurePart, penaltyPart] = obj.boundary_condition(boundary{i}, type); 160 [closurePart, penaltyPart] = obj.boundary_condition(boundary{i}, type);
161 closure = closure + closurePart; 161 closure = closure + closurePart;
162 penalty = [penalty, penaltyPart]; 162 penalty = [penalty, penaltyPart];
163 end 163 end