annotate +multiblock/Line.m @ 1031:2ef20d00b386 feature/advectionRV

For easier comparison, return both the first order and residual viscosity when evaluating the residual. Add the first order and residual viscosity to the state of the RungekuttaRV time steppers
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 17 Jan 2019 10:25:06 +0100
parents 24b2487b01c2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
19951684588e Add type assertion
Jonatan Werpers <jonatan@werpers.com>
parents: 542
diff changeset
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