Mercurial > repos > public > sbplib
comparison +sbp/D1Upwind.m @ 268:4b9310edcdf8 operator_remake
Renamned boundary operators!
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Fri, 09 Sep 2016 15:06:03 +0200 |
parents | 8a625c5a3633 |
children | f39f98b59f61 |
comparison
equal
deleted
inserted
replaced
267:f7ac3cd6eeaa | 268:4b9310edcdf8 |
---|---|
2 properties | 2 properties |
3 D1 % SBP operator approximating first derivative | 3 D1 % SBP operator approximating first derivative |
4 H % Norm matrix | 4 H % Norm matrix |
5 HI % H^-1 | 5 HI % H^-1 |
6 Q % Skew-symmetric matrix | 6 Q % Skew-symmetric matrix |
7 e_1 % Left boundary operator | 7 e_l % Left boundary operator |
8 e_m % Right boundary operator | 8 e_r % Right boundary operator |
9 m % Number of grid points. | 9 m % Number of grid points. |
10 h % Step size | 10 h % Step size |
11 x % grid | 11 x % grid |
12 borrowing % Struct with borrowing limits for different norm matrices | 12 borrowing % Struct with borrowing limits for different norm matrices |
13 end | 13 end |
21 obj.h = L/(m-1); | 21 obj.h = L/(m-1); |
22 obj.x = linspace(x_l,x_r,m)'; | 22 obj.x = linspace(x_l,x_r,m)'; |
23 | 23 |
24 switch order | 24 switch order |
25 case 2 | 25 case 2 |
26 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 26 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
27 sbp.implementations.d1_upwind_2(m,obj.h); | 27 sbp.implementations.d1_upwind_2(m,obj.h); |
28 case 3 | 28 case 3 |
29 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 29 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
30 sbp.implementations.d1_upwind_3(m,obj.h); | 30 sbp.implementations.d1_upwind_3(m,obj.h); |
31 case 4 | 31 case 4 |
32 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 32 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
33 sbp.implementations.d1_upwind_4(m,obj.h); | 33 sbp.implementations.d1_upwind_4(m,obj.h); |
34 case 5 | 34 case 5 |
35 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 35 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
36 sbp.implementations.d1_upwind_5(m,obj.h); | 36 sbp.implementations.d1_upwind_5(m,obj.h); |
37 case 6 | 37 case 6 |
38 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 38 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
39 sbp.implementations.d1_upwind_6(m,obj.h); | 39 sbp.implementations.d1_upwind_6(m,obj.h); |
40 case 7 | 40 case 7 |
41 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 41 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
42 sbp.implementations.d1_upwind_7(m,obj.h); | 42 sbp.implementations.d1_upwind_7(m,obj.h); |
43 case 8 | 43 case 8 |
44 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 44 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
45 sbp.implementations.d1_upwind_8(m,obj.h); | 45 sbp.implementations.d1_upwind_8(m,obj.h); |
46 case 9 | 46 case 9 |
47 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... | 47 [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... |
48 sbp.implementations.d1_upwind_9(m,obj.h); | 48 sbp.implementations.d1_upwind_9(m,obj.h); |
49 otherwise | 49 otherwise |
50 error('Invalid operator order %d.',order); | 50 error('Invalid operator order %d.',order); |
51 end | 51 end |
52 | 52 |