Mercurial > repos > public > sbplib
annotate +multiblock/DefCurvilinear.m @ 1344:b4e5e45bd239 feature/D2_boundary_opt
Remove round off zeros from D2Nonequidistant operators
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Sat, 15 Oct 2022 15:48:20 +0200 |
parents | 0666629aa183 |
children |
rev | line source |
---|---|
587
25fdc7a625b6
Add abstract class for multiblock definitions
Jonatan Werpers <jonatan@werpers.com>
parents:
543
diff
changeset
|
1 classdef DefCurvilinear < multiblock.Definition |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 properties |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 nBlocks |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 blockMaps % Maps from logical blocks to physical blocks build from transfinite interpolation |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 blockNames |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 connections % Cell array specifying connections between blocks |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 boundaryGroups % Structure of boundaryGroups |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 methods |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 % Defines a multiblock setup for transfinite interpolation blocks |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 % TODO: How to bring in plotting of points? |
587
25fdc7a625b6
Add abstract class for multiblock definitions
Jonatan Werpers <jonatan@werpers.com>
parents:
543
diff
changeset
|
13 function obj = DefCurvilinear(blockMaps, connections, boundaryGroups, blockNames) |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 default_arg('boundaryGroups', struct()); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 default_arg('blockNames',{}); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 nBlocks = length(blockMaps); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 obj.nBlocks = nBlocks; |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 obj.blockMaps = blockMaps; |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 assert(all(size(connections) == [nBlocks, nBlocks])); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 obj.connections = connections; |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 if isempty(blockNames) |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 obj.blockNames = cell(1, nBlocks); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 for i = 1:length(blockMaps) |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 obj.blockNames{i} = sprintf('%d', i); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 else |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 assert(length(blockNames) == nBlocks); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 obj.blockNames = blockNames; |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 obj.boundaryGroups = boundaryGroups; |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 |
1329
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
40 % Returns a multiblock.Grid given some parameters |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
41 % ms: cell array of [mx, my] vectors |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
42 % Currently defaults to an equidistant curvilinear grid if varargin is empty. |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
43 % If varargin is non-empty, the first argument should supply the grid type, followed by |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
44 % additional arguments required to construct the grid. |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
45 % Grid types: |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
46 % 'equidist' - equidistant curvilinear grid |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
47 % Additional argumets: none |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
48 % 'boundaryopt' - boundary optimized grid based on boundary |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
49 % optimized SBP operators |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
50 % Additional arguments: order, stencil option |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
51 function g = getGrid(obj, ms, varargin) |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
52 % If a scalar is passed, defer to getGridSizes implemented by subclass |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
53 % TODO: This forces the interface of subclasses. |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
54 % Should ms be included in varargin? Figure out bow to do it properly |
1336
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
55 if ~iscell(ms) && length(ms) == 1 |
1329
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
56 ms = obj.getGridSizes(ms); |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
57 end |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
58 if isempty(varargin) || strcmp(varargin{1},'equidist') |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
59 gridgenerator = @(blockMap,m) grid.equidistantCurvilinear(blockMap, m); |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
60 elseif strcmp(varargin{1},'boundaryopt') |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
61 order = varargin{2}; |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
62 stenciloption = varargin{3}; |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
63 gridgenerator = @(blockMap,m) grid.boundaryOptimizedCurvilinear(blockMap,m,{0,1},{0,1},... |
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
64 order,stenciloption); |
1336
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
65 elseif strcmp(varargin{1},'general') |
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
66 gridgenerator = @(blockMap,m) grid.generalCurvilinear(blockMap,m,{0,1},{0,1},varargin{2:end}); |
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
67 else |
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
68 error('No grid type supplied!'); |
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
69 end |
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
70 grids = cell(1, obj.nBlocks); |
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
71 for i = 1:obj.nBlocks |
1329
7df63b17e078
Add support for boundary optimized grids in DefCurvilinear, and add boundaryOptimizedCurvilinear for constructing a curvilinear grid with boundary optimized grid point placement.
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
780
diff
changeset
|
72 grids{i} = gridgenerator(obj.blockMaps{i}.S, ms{i}); |
1336
0666629aa183
Add methods for creating grids with different grid point distributions for each coordinate direction, and also supports constructing periodic grids
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1331
diff
changeset
|
73 end |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 g = multiblock.Grid(grids, obj.connections, obj.boundaryGroups); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 |
1274
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
78 function g = getLebedevGrid(obj, varargin) |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
79 ms = obj.getGridSizes(varargin{:}); |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
80 |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
81 grids = cell(1, obj.nBlocks); |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
82 for i = 1:obj.nBlocks |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
83 % grids{i} = grid.equidistantCurvilinear(obj.blockMaps{i}.S, ms{i}); |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
84 grids{i} = grid.lebedev2dCurvilinear(obj.blockMaps{i}.S, ms{i}); |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
85 end |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
86 |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
87 g = multiblock.Grid(grids, obj.connections, obj.boundaryGroups); |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
88 end |
8aa0909125a4
Add support for plotting and evaluating on curvilinear multiblock staggered grids
Martin Almquist <malmquist@stanford.edu>
parents:
780
diff
changeset
|
89 |
773
edb1d60b0b77
Return line handles from show methods in Def and Ti
Jonatan Werpers <jonatan@werpers.com>
parents:
772
diff
changeset
|
90 function h = show(obj, label, gridLines, varargin) |
543
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
91 default_arg('label', 'name') |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
92 default_arg('gridLines', false); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
93 |
773
edb1d60b0b77
Return line handles from show methods in Def and Ti
Jonatan Werpers <jonatan@werpers.com>
parents:
772
diff
changeset
|
94 h = []; |
543
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
95 if isempty('label') && ~gridLines |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
96 for i = 1:obj.nBlocks |
773
edb1d60b0b77
Return line handles from show methods in Def and Ti
Jonatan Werpers <jonatan@werpers.com>
parents:
772
diff
changeset
|
97 h = [h, obj.blockMaps{i}.show(2,2)]; |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
98 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
99 axis equal |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
100 return |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
101 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
102 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
103 if gridLines |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
104 ms = obj.getGridSizes(varargin{:}); |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
105 for i = 1:obj.nBlocks |
773
edb1d60b0b77
Return line handles from show methods in Def and Ti
Jonatan Werpers <jonatan@werpers.com>
parents:
772
diff
changeset
|
106 h = [h, obj.blockMaps{i}.show(ms{i}(1),ms{i}(2))]; |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
107 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
108 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
109 |
543
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
110 |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
111 switch label |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
112 case 'name' |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
113 labels = obj.blockNames; |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
114 case 'id' |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
115 labels = {}; |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
116 for i = 1:obj.nBlocks |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
117 labels{i} = num2str(i); |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
118 end |
772
687756646aa9
Fix bug in +multiblock/Def
Jonatan Werpers <jonatan@werpers.com>
parents:
543
diff
changeset
|
119 case 'none' |
543
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
120 axis equal |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
121 return |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
122 end |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
123 |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
124 for i = 1:obj.nBlocks |
9924f1f8c906
Allow labels to be block ids
Jonatan Werpers <jonatan@werpers.com>
parents:
541
diff
changeset
|
125 parametrization.Ti.label(obj.blockMaps{i}, labels{i}); |
536
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
126 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
127 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
128 axis equal |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
129 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
130 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
131 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
132 methods (Abstract) |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
133 % Returns the grid size of each block in a cell array |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
134 % The input parameters are determined by the subclass |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
135 ms = getGridSizes(obj, varargin) |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
136 % end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
137 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
138 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
139 end |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
140 |
6c6a3040a678
Add an abstrac class as help when defining transfinite multiblock grids
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
141 |