Mercurial > repos > public > sbplib
comparison +sbp/D2BlockNorm.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 | e1d11b6a68d8 |
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 D2 % SBP operator for second derivative | 9 D2 % SBP operator for second derivative |
10 M % Norm matrix, second derivative | 10 M % Norm matrix, second derivative |
11 S_1 % Left boundary first derivative | 11 d1_l % Left boundary first derivative |
12 S_m % Right boundary first derivative | 12 d1_r % Right boundary first derivative |
13 m % Number of grid points. | 13 m % Number of grid points. |
14 h % Step size | 14 h % Step size |
15 x % grid | 15 x % grid |
16 borrowing % Struct with borrowing limits for different norm matrices | 16 borrowing % Struct with borrowing limits for different norm matrices |
17 end | 17 end |
26 L = x_r-x_l; | 26 L = x_r-x_l; |
27 obj.h = L/(m-1); | 27 obj.h = L/(m-1); |
28 obj.x = linspace(x_l,x_r,m)'; | 28 obj.x = linspace(x_l,x_r,m)'; |
29 | 29 |
30 if order == 4 | 30 if order == 4 |
31 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... | 31 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... |
32 obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... | 32 obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... |
33 sbp.implementations.d2_blocknorm_4(m,obj.h); | 33 sbp.implementations.d2_blocknorm_4(m,obj.h); |
34 elseif order == 6 | 34 elseif order == 6 |
35 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... | 35 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... |
36 obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... | 36 obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... |
37 sbp.implementations.d2_blocknorm_6(m,obj.h); | 37 sbp.implementations.d2_blocknorm_6(m,obj.h); |
38 elseif order == 8 | 38 elseif order == 8 |
39 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... | 39 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... |
40 obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... | 40 obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... |
41 sbp.implementations.d2_blocknorm_8(m,obj.h); | 41 sbp.implementations.d2_blocknorm_8(m,obj.h); |
42 elseif order == 10 | 42 elseif order == 10 |
43 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... | 43 [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... |
44 obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... | 44 obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... |
45 sbp.implementations.d2_blocknorm_10(m,obj.h); | 45 sbp.implementations.d2_blocknorm_10(m,obj.h); |
46 else | 46 else |
47 error('Invalid operator order %d.',order); | 47 error('Invalid operator order %d.',order); |
48 end | 48 end |
49 | 49 |