Mercurial > repos > public > sbplib
comparison +sbp/D4Compatible.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 D3 % SBP operator for third derivative | 13 D3 % SBP operator for third derivative |
| 14 Q3 % Skew-symmetric matrix in third derivative | 14 Q3 % Skew-symmetric matrix in third derivative |
| 15 S2_1 % Left boundary second derivative | 15 d2_l % Left boundary second derivative |
| 16 S2_m % Right boundary second derivative | 16 d2_r % Right boundary second derivative |
| 17 D4 % SBP operator for fourth derivative | 17 D4 % SBP operator for fourth derivative |
| 18 M4 % Norm matrix, fourth derivative | 18 M4 % Norm matrix, fourth derivative |
| 19 S3_1 % Left boundary third derivative | 19 d3_l % Left boundary third derivative |
| 20 S3_m % Right boundary third derivative | 20 d3_r % Right boundary third derivative |
| 21 m % Number of grid points. | 21 m % Number of grid points. |
| 22 h % Step size | 22 h % Step size |
| 23 x % grid | 23 x % grid |
| 24 borrowing % Struct with borrowing limits for different norm matrices | 24 borrowing % Struct with borrowing limits for different norm matrices |
| 25 end | 25 end |
| 35 L = x_r-x_l; | 35 L = x_r-x_l; |
| 36 obj.h = L/(m-1); | 36 obj.h = L/(m-1); |
| 37 obj.x = linspace(x_l,x_r,m)'; | 37 obj.x = linspace(x_l,x_r,m)'; |
| 38 | 38 |
| 39 if order == 2 | 39 if order == 2 |
| 40 [obj.H, obj.HI, obj.D1, obj.D4, obj.e_1, obj.e_m, obj.M4,... | 40 [obj.H, obj.HI, obj.D1, obj.D4, obj.e_l, obj.e_r, obj.M4,... |
| 41 obj.Q, obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m,... | 41 obj.Q, obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r,... |
| 42 obj.S_1, obj.S_m] =... | 42 obj.d1_l, obj.d1_r] =... |
| 43 sbp.implementations.d4_compatible_2(m,obj.h); | 43 sbp.implementations.d4_compatible_2(m,obj.h); |
| 44 obj.borrowing.N.S2 = 0.7500; | 44 obj.borrowing.N.S2 = 0.7500; |
| 45 obj.borrowing.N.S3 = 0.3000; | 45 obj.borrowing.N.S3 = 0.3000; |
| 46 elseif order == 4 | 46 elseif order == 4 |
| 47 [obj.H, obj.HI, obj.D1, obj.D4, obj.e_1, obj.e_m, obj.M4,... | 47 [obj.H, obj.HI, obj.D1, obj.D4, obj.e_l, obj.e_r, obj.M4,... |
| 48 obj.Q, obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m,... | 48 obj.Q, obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r,... |
| 49 obj.S_1, obj.S_m] =... | 49 obj.d1_l, obj.d1_r] =... |
| 50 sbp.implementations.d4_compatible_4(m,obj.h); | 50 sbp.implementations.d4_compatible_4(m,obj.h); |
| 51 obj.borrowing.N.S2 = 0.4210; | 51 obj.borrowing.N.S2 = 0.4210; |
| 52 obj.borrowing.N.S3 = 0.7080; | 52 obj.borrowing.N.S3 = 0.7080; |
| 53 elseif order == 6 | 53 elseif order == 6 |
| 54 [obj.H, obj.HI, obj.D1, obj.D4, obj.e_1, obj.e_m, obj.M4,... | 54 [obj.H, obj.HI, obj.D1, obj.D4, obj.e_l, obj.e_r, obj.M4,... |
| 55 obj.Q, obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m,... | 55 obj.Q, obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r,... |
| 56 obj.S_1, obj.S_m] =... | 56 obj.d1_l, obj.d1_r] =... |
| 57 sbp.implementations.d4_compatible_6(m,obj.h); | 57 sbp.implementations.d4_compatible_6(m,obj.h); |
| 58 obj.borrowing.N.S2 = 0.06925; | 58 obj.borrowing.N.S2 = 0.06925; |
| 59 obj.borrowing.N.S3 = 0.05128; | 59 obj.borrowing.N.S3 = 0.05128; |
| 60 else | 60 else |
| 61 error('Invalid operator order.'); | 61 error('Invalid operator order.'); |
