Mercurial > repos > public > sbplib
annotate +multiblock/Line.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
parents | 24b2487b01c2 |
children |
rev | line source |
---|---|
542
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 classdef Line < handle |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 properties |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 grid |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 lines |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 YData |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 methods |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 function obj = Line(g, gf) |
546 | 11 assertType(g, 'multiblock.Grid') |
542
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 obj.grid = g; |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 X = obj.grid.splitFunc(obj.grid.points()); |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 Y = obj.grid.splitFunc(gf); |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 holdState = ishold(); |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 hold on |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 |
548
24b2487b01c2
Fix bugs in cell array initialization
Jonatan Werpers <jonatan@werpers.com>
parents:
546
diff
changeset
|
20 lines = cell(1, obj.grid.nBlocks); |
542
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 for i = 1:obj.grid.nBlocks |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 lines{i} = plot(X{i}, Y{i}); |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 if holdState == false |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 hold off |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 obj.lines = [lines{:}]; |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 obj.YData = gf; |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 function set(obj, propertyName, propertyValue) |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 set(obj.lines, propertyName, propertyValue); |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 function obj = set.YData(obj, gf) |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 obj.YData = gf; |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 Y = obj.grid.funcToPlotMatrices(gf); |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 for i = 1:obj.grid.nBlocks |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 obj.lines(i).YData = Y{i}; |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 end |
febd750965c4
Add classes for easy plotting of functions on a multi block grid
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 end |