Mercurial > repos > public > sbplib
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 |