Mercurial > repos > public > sbplib
comparison +sbp/D4CompatibleVariable.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 | fefb2f9884f7 |
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 |
34 L = x_r-x_l; | 34 L = x_r-x_l; |
35 obj.h = L/(m-1); | 35 obj.h = L/(m-1); |
36 obj.x = linspace(x_l,x_r,m)'; | 36 obj.x = linspace(x_l,x_r,m)'; |
37 | 37 |
38 if order == 2 | 38 if order == 2 |
39 [obj.H, obj.HI, ~, obj.D2, ~, obj.D4, obj.e_1, obj.e_m,... | 39 [obj.H, obj.HI, ~, obj.D2, ~, obj.D4, obj.e_l, obj.e_r,... |
40 obj.M4, ~, obj.S2_1, obj.S2_m, obj.S3_1,... | 40 obj.M4, ~, obj.d2_l, obj.d2_r, obj.d3_l,... |
41 obj.S3_m, obj.S_1, obj.S_m] =... | 41 obj.d3_r, obj.d1_l, obj.d1_r] =... |
42 sbp.implementations.d4_compatible_halfvariable_2(m,obj.h); | 42 sbp.implementations.d4_compatible_halfvariable_2(m,obj.h); |
43 obj.borrowing.N.S2 = 1.2500; | 43 obj.borrowing.N.S2 = 1.2500; |
44 obj.borrowing.N.S3 = 0.4000; | 44 obj.borrowing.N.S3 = 0.4000; |
45 elseif order == 4 | 45 elseif order == 4 |
46 [obj.H, obj.HI, obj.D2, obj.D4, obj.e_1, obj.e_m, obj.M4,... | 46 [obj.H, obj.HI, obj.D2, obj.D4, obj.e_l, obj.e_r, obj.M4,... |
47 obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m, obj.S_1,... | 47 obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r, obj.d1_l,... |
48 obj.S_m] =... | 48 obj.d1_r] =... |
49 sbp.implementations.d4_compatible_halfvariable_4(m,obj.h); | 49 sbp.implementations.d4_compatible_halfvariable_4(m,obj.h); |
50 obj.borrowing.N.S2 = 0.5055; | 50 obj.borrowing.N.S2 = 0.5055; |
51 obj.borrowing.N.S3 = 0.9290; | 51 obj.borrowing.N.S3 = 0.9290; |
52 elseif order == 6 | 52 elseif order == 6 |
53 [obj.H, obj.HI, obj.D2, obj.D4, obj.e_1, obj.e_m, obj.M4,... | 53 [obj.H, obj.HI, obj.D2, obj.D4, obj.e_l, obj.e_r, obj.M4,... |
54 obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m, obj.S_1,... | 54 obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r, obj.d1_l,... |
55 obj.S_m] =... | 55 obj.d1_r] =... |
56 sbp.implementations.d4_compatible_halfvariable_6(m,obj.h); | 56 sbp.implementations.d4_compatible_halfvariable_6(m,obj.h); |
57 obj.borrowing.N.S2 = 0.3259; | 57 obj.borrowing.N.S2 = 0.3259; |
58 obj.borrowing.N.S3 = 0.1580; | 58 obj.borrowing.N.S3 = 0.1580; |
59 else | 59 else |
60 error('Invalid operator order.'); | 60 error('Invalid operator order.'); |