Mercurial > repos > public > sbplib
annotate +multiblock/DiffOp.m @ 577:e45c9b56d50d feature/grids
Add an Empty grid class
The need turned up for the flexural code when we may or may not have a grid for the open water and want to plot that solution.
In case there is no open water we need an empty grid to plot the empty gridfunction against to avoid errors.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 07 Sep 2017 09:16:12 +0200 |
parents | 55a7777dfcd0 |
children | b0386d2c180d |
rev | line source |
---|---|
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 classdef DiffOp < scheme.Scheme |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 properties |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 grid |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 order |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 diffOps |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 D |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 H |
210
39b7dcb2c724
multiblock: Implemented boundary conditions.
Jonatan Werpers <jonatan@werpers.com>
parents:
202
diff
changeset
|
8 |
39b7dcb2c724
multiblock: Implemented boundary conditions.
Jonatan Werpers <jonatan@werpers.com>
parents:
202
diff
changeset
|
9 blockmatrixDiv |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 methods |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 function obj = DiffOp(doHand, grid, order, doParam) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 % doHand -- may either be a function handle or a cell array of |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 % function handles for each grid. The function handle(s) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 % should be on the form do = doHand(grid, order, ...) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 % Additional parameters for each doHand may be provided in |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 % the doParam input. |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 % grid -- a multiblock grid |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 % order -- integer specifying the order of accuracy |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 % doParam -- may either be a cell array or a cell array of cell arrays |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 % for each block. If it is a cell array with length equal |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 % to the number of blocks then each element is sent to the |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 % corresponding function handle as extra parameters: |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 % doHand(..., doParam{i}{:}) Otherwise doParam is sent as |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 % extra parameters to all doHand: doHand(..., doParam{:}) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 default_arg('doParam', []) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 [getHand, getParam] = parseInput(doHand, grid, doParam); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 nBlocks = grid.nBlocks(); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 obj.order = order; |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 % Create the diffOps for each block |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 obj.diffOps = cell(1, nBlocks); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 for i = 1:nBlocks |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 h = getHand(i); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 p = getParam(i); |
343
ac30761d7bdb
Fixed bug in parameter parsing.
Jonatan Werpers <jonatan@werpers.com>
parents:
335
diff
changeset
|
40 if ~iscell(p) |
ac30761d7bdb
Fixed bug in parameter parsing.
Jonatan Werpers <jonatan@werpers.com>
parents:
335
diff
changeset
|
41 p = {p}; |
ac30761d7bdb
Fixed bug in parameter parsing.
Jonatan Werpers <jonatan@werpers.com>
parents:
335
diff
changeset
|
42 end |
201
38f203f00f3a
Exeendend tests of multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
186
diff
changeset
|
43 obj.diffOps{i} = h(grid.grids{i}, order, p{:}); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 % Build the norm matrix |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 H = cell(nBlocks, nBlocks); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 for i = 1:nBlocks |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 H{i,i} = obj.diffOps{i}.H; |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 end |
210
39b7dcb2c724
multiblock: Implemented boundary conditions.
Jonatan Werpers <jonatan@werpers.com>
parents:
202
diff
changeset
|
52 obj.H = blockmatrix.toMatrix(H); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 % Build the differentiation matrix |
233
b8ee5212f651
multiblock: Added a function to return number of points in each block for a mbGrid. Fixed a bug in DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
220
diff
changeset
|
56 obj.blockmatrixDiv = {grid.Ns, grid.Ns}; |
b8ee5212f651
multiblock: Added a function to return number of points in each block for a mbGrid. Fixed a bug in DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
220
diff
changeset
|
57 D = blockmatrix.zero(obj.blockmatrixDiv); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 for i = 1:nBlocks |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 D{i,i} = obj.diffOps{i}.D; |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 for i = 1:nBlocks |
237
0fc1de5cd85b
multigrid.DiffOp: Bug fix.
Jonatan Werpers <jonatan@werpers.com>
parents:
233
diff
changeset
|
63 for j = 1:nBlocks |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 intf = grid.connections{i,j}; |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 if isempty(intf) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 continue |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 |
237
0fc1de5cd85b
multigrid.DiffOp: Bug fix.
Jonatan Werpers <jonatan@werpers.com>
parents:
233
diff
changeset
|
69 |
201
38f203f00f3a
Exeendend tests of multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
186
diff
changeset
|
70 [ii, ij] = obj.diffOps{i}.interface(intf{1}, obj.diffOps{j}, intf{2}); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 D{i,i} = D{i,i} + ii; |
233
b8ee5212f651
multiblock: Added a function to return number of points in each block for a mbGrid. Fixed a bug in DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
220
diff
changeset
|
72 D{i,j} = D{i,j} + ij; |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 |
201
38f203f00f3a
Exeendend tests of multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
186
diff
changeset
|
74 [jj, ji] = obj.diffOps{j}.interface(intf{2}, obj.diffOps{i}, intf{1}); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 D{j,j} = D{j,j} + jj; |
233
b8ee5212f651
multiblock: Added a function to return number of points in each block for a mbGrid. Fixed a bug in DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
220
diff
changeset
|
76 D{j,i} = D{j,i} + ji; |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 end |
210
39b7dcb2c724
multiblock: Implemented boundary conditions.
Jonatan Werpers <jonatan@werpers.com>
parents:
202
diff
changeset
|
79 obj.D = blockmatrix.toMatrix(D); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 function [getHand, getParam] = parseInput(doHand, grid, doParam) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
83 if ~isa(grid, 'multiblock.Grid') |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
84 error('multiblock:DiffOp:DiffOp:InvalidGrid', 'Requires a multiblock grid.'); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
85 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
86 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
87 if iscell(doHand) && length(doHand) == grid.nBlocks() |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
88 getHand = @(i)doHand{i}; |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
89 elseif isa(doHand, 'function_handle') |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
90 getHand = @(i)doHand; |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
91 else |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 error('multiblock:DiffOp:DiffOp:InvalidGridDoHand', 'doHand must be a function handle or a cell array of length grid.nBlocks'); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
94 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
95 if isempty(doParam) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
96 getParam = @(i){}; |
392
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
97 return |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
98 end |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
99 |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
100 if ~iscell(doParam) |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
101 getParam = @(i)doParam; |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
102 return |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
103 end |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
104 |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
105 % doParam is a non-empty cell-array |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
106 |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
107 if length(doParam) == grid.nBlocks() && all(cellfun(@iscell, doParam)) |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
108 % doParam is a cell-array of cell-arrays |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
109 getParam = @(i)doParam{i}; |
392
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
110 return |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
111 end |
392
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
112 |
30ff8879162e
Better input parsing for multiblock DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
346
diff
changeset
|
113 getParam = @(i)doParam; |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
114 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
115 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
116 |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
117 function ops = splitOp(obj, op) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
118 % Splits a matrix operator into a cell-matrix of matrix operators for |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
119 % each grid. |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
120 ops = sparse2cell(op, obj.NNN); |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
121 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
122 |
532
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
123 % Get a boundary operator specified by opName for the given boundary/BoundaryGroup |
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
124 function op = getBoundaryOperator(obj, opName, boundary) |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
125 switch class(boundary) |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
126 case 'cell' |
532
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
127 localOpName = [opName '_' boundary{2}]; |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
128 blockId = boundary{1}; |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
129 localOp = obj.diffOps{blockId}.(localOpName); |
344
61b75d6d4899
Added get method for boundary operators on multiblock DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
343
diff
changeset
|
130 |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
131 div = {obj.blockmatrixDiv{1}, size(localOp,2)}; |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
132 blockOp = blockmatrix.zero(div); |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
133 blockOp{blockId,1} = localOp; |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
134 op = blockmatrix.toMatrix(blockOp); |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
135 return |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
136 case 'multiblock.BoundaryGroup' |
532
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
137 op = []; |
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
138 for i = 1:length(boundary) |
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
139 op = [op, obj.getBoundaryOperator(opName, boundary{i})]; |
b29f04ab5d99
Implement getBoundaryOperator for boundaryGroups in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
529
diff
changeset
|
140 end |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
141 otherwise |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
142 error('Unknown boundary indentifier') |
344
61b75d6d4899
Added get method for boundary operators on multiblock DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
343
diff
changeset
|
143 end |
61b75d6d4899
Added get method for boundary operators on multiblock DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
343
diff
changeset
|
144 end |
61b75d6d4899
Added get method for boundary operators on multiblock DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
343
diff
changeset
|
145 |
335
2d48db7151cf
Bug fix in boundary condition.
Jonatan Werpers <jonatan@werpers.com>
parents:
237
diff
changeset
|
146 % Creates the closure and penalty matrix for a given boundary condition, |
346
33b2ef863519
Allowed muliple closure BCs in multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
147 % boundary -- the name of the boundary on the form {id,name} where |
202
e2fefb6f0746
multiblock.DiffOp: Fleshed out boundary_condition() a bit more
Jonatan Werpers <jonatan@werpers.com>
parents:
201
diff
changeset
|
148 % id is the number of a block and name is the name of a |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
149 % boundary of that block example: {1,'s'} or {3,'w'}. It |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
150 % can also be a boundary group |
335
2d48db7151cf
Bug fix in boundary condition.
Jonatan Werpers <jonatan@werpers.com>
parents:
237
diff
changeset
|
151 function [closure, penalty] = boundary_condition(obj, boundary, type) |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
152 switch class(boundary) |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
153 case 'cell' |
534
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
154 [closure, penalty] = obj.singleBoundaryCondition(boundary, type); |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
155 case 'multiblock.BoundaryGroup' |
534
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
156 [n,m] = size(obj.D); |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
157 closure = sparse(n,m); |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
158 penalty = []; |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
159 for i = 1:length(boundary) |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
160 [closurePart, penaltyPart] = obj.boundary_condition(boundary{i}, type); |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
161 closure = closure + closurePart; |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
162 penalty = [penalty, penaltyPart]; |
55a7777dfcd0
Implement boundary_condition for boundary groups
Jonatan Werpers <jonatan@werpers.com>
parents:
533
diff
changeset
|
163 end |
529
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
164 otherwise |
2ec8080027ab
Add some documentation and decide on public function signatures
Jonatan Werpers <jonatan@werpers.com>
parents:
522
diff
changeset
|
165 error('Unknown boundary indentifier') |
346
33b2ef863519
Allowed muliple closure BCs in multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
344
diff
changeset
|
166 end |
210
39b7dcb2c724
multiblock: Implemented boundary conditions.
Jonatan Werpers <jonatan@werpers.com>
parents:
202
diff
changeset
|
167 |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
168 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
169 |
533
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
170 function [closure, penalty] = singleBoundaryCondition(obj, boundary, type) |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
171 I = boundary{1}; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
172 name = boundary{2}; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
173 |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
174 % Get the closure and penaly matrices |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
175 [blockClosure, blockPenalty] = obj.diffOps{I}.boundary_condition(name, type); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
176 |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
177 % Expand to matrix for full domain. |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
178 div = obj.blockmatrixDiv; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
179 if ~iscell(blockClosure) |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
180 temp = blockmatrix.zero(div); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
181 temp{I,I} = blockClosure; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
182 closure = blockmatrix.toMatrix(temp); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
183 else |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
184 for i = 1:length(blockClosure) |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
185 temp = blockmatrix.zero(div); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
186 temp{I,I} = blockClosure{i}; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
187 closure{i} = blockmatrix.toMatrix(temp); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
188 end |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
189 end |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
190 |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
191 if ~iscell(blockPenalty) |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
192 div{2} = size(blockPenalty, 2); % Penalty is a column vector |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
193 p = blockmatrix.zero(div); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
194 p{I} = blockPenalty; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
195 penalty = blockmatrix.toMatrix(p); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
196 else |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
197 for i = 1:length(blockPenalty) |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
198 div{2} = size(blockPenalty{i}, 2); % Penalty is a column vector |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
199 p = blockmatrix.zero(div); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
200 p{I} = blockPenalty{i}; |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
201 penalty{i} = blockmatrix.toMatrix(p); |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
202 end |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
203 end |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
204 end |
06d1606d6977
Factor out function for handling a single boundary condition
Jonatan Werpers <jonatan@werpers.com>
parents:
532
diff
changeset
|
205 |
202
e2fefb6f0746
multiblock.DiffOp: Fleshed out boundary_condition() a bit more
Jonatan Werpers <jonatan@werpers.com>
parents:
201
diff
changeset
|
206 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) |
522
68178e013868
Add not-implemented-error for interface method in multiblock.DiffOp
Jonatan Werpers <jonatan@werpers.com>
parents:
438
diff
changeset
|
207 error('not implemented') |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
208 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
209 |
201
38f203f00f3a
Exeendend tests of multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
186
diff
changeset
|
210 % Size returns the number of degrees of freedom |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
211 function N = size(obj) |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
212 N = 0; |
201
38f203f00f3a
Exeendend tests of multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
186
diff
changeset
|
213 for i = 1:length(obj.diffOps) |
38f203f00f3a
Exeendend tests of multiblock.DiffOp.
Jonatan Werpers <jonatan@werpers.com>
parents:
186
diff
changeset
|
214 N = N + obj.diffOps{i}.size(); |
186
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
215 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
216 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
217 end |
1fc2eeb4f4e6
Moved multiblock grid to the multiblock package. Continued implementation. Added multiblock diffOp and removed some functions no longer needed.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
218 end |