comparison +sbp/D1Upwind.m @ 423:a2cb0d4f4a02 feature/grids

Merge in default.
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 07 Feb 2017 15:47:51 +0100
parents f39f98b59f61
children e1d11b6a68d8 feebfca90080
comparison
equal deleted inserted replaced
218:da058ce66876 423:a2cb0d4f4a02
1 classdef D1Upwind < sbp.OpSet
2 properties
3 Dp, Dm % SBP operator approximating first derivative
4 H % Norm matrix
5 HI % H^-1
6 e_l % Left boundary operator
7 e_r % Right boundary operator
8 m % Number of grid points.
9 h % Step size
10 x % grid
11 borrowing % Struct with borrowing limits for different norm matrices
12 end
13
14 methods
15 function obj = D1Upwind(m,lim,order)
16
17 x_l = lim{1};
18 x_r = lim{2};
19 L = x_r-x_l;
20 obj.h = L/(m-1);
21 obj.x = linspace(x_l,x_r,m)';
22
23 switch order
24 case 2
25 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
26 sbp.implementations.d1_upwind_2(m,obj.h);
27 case 3
28 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
29 sbp.implementations.d1_upwind_3(m,obj.h);
30 case 4
31 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
32 sbp.implementations.d1_upwind_4(m,obj.h);
33 case 5
34 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
35 sbp.implementations.d1_upwind_5(m,obj.h);
36 case 6
37 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
38 sbp.implementations.d1_upwind_6(m,obj.h);
39 case 7
40 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
41 sbp.implementations.d1_upwind_7(m,obj.h);
42 case 8
43 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
44 sbp.implementations.d1_upwind_8(m,obj.h);
45 case 9
46 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ...
47 sbp.implementations.d1_upwind_9(m,obj.h);
48 otherwise
49 error('Invalid operator order %d.',order);
50 end
51
52 obj.m = m;
53 obj.borrowing = [];
54
55 end
56 end
57
58
59 end
60
61
62
63
64