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 |
