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.'); |