comparison +sbp/D4Variable.m @ 310:ffa5d557942b feature/beams

Moved operator implementations and fixed some naming.
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 23 Sep 2016 14:55:08 +0200
parents 8fafe97bf27b
children 9230c056a574
comparison
equal deleted inserted replaced
309:8fafe97bf27b 310:ffa5d557942b
33 L = x_r-x_l; 33 L = x_r-x_l;
34 obj.h = L/(m-1); 34 obj.h = L/(m-1);
35 obj.x = linspace(x_l, x_r,m)'; 35 obj.x = linspace(x_l, x_r,m)';
36 36
37 if order == 2 37 if order == 2
38 [obj.H, obj.HI, ~, obj.D2, ~, obj.D4, obj.e_l, obj.e_r,... 38 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
39 obj.M4, ~, obj.d2_l, obj.d2_r, obj.d3_l,... 39 sbp.implementations.d4_variable_2(m, obj.h);
40 obj.d3_r, obj.d1_l, obj.d1_r] =...
41 sbp.implementations.d4_compatible_halfvariable_2(m,obj.h);
42 obj.borrowing.N.S2 = 1.2500; 40 obj.borrowing.N.S2 = 1.2500;
43 obj.borrowing.N.S3 = 0.4000; 41 obj.borrowing.N.S3 = 0.4000;
44 42
45 elseif order == 4 43 elseif order == 4
46 switch opt 44 switch opt
47 case 'min_boundary_points' 45 case 'min_boundary_points'
48 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 46 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
49 sbp.higher_variable4_min_boundary_points(m, obj.h); 47 sbp.implementations.d4_variable_4_min_boundary_points(m, obj.h);
50 % obj.borrowing.N.S2 = 0.5055; 48 % obj.borrowing.N.S2 = 0.5055;
51 % obj.borrowing.N.S3 = 0.9290; 49 % obj.borrowing.N.S3 = 0.9290;
52 otherwise 50 otherwise
53 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 51 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
54 sbp.implementations.d4_compatible_halfvariable_4(m, obj.h); 52 sbp.implementations.d4_variable_4(m, obj.h);
55 obj.borrowing.N.S2 = 0.5055; 53 obj.borrowing.N.S2 = 0.5055;
56 obj.borrowing.N.S3 = 0.9290; 54 obj.borrowing.N.S3 = 0.9290;
57 end 55 end
58 56
59 elseif order == 6 57 elseif order == 6
60 switch opt 58 switch opt
61 case '2' 59 case '2'
62 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 60 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
63 sbp.higher_variable6_2(m, obj.h); 61 sbp.implementations.d4_variable_6_2(m, obj.h);
64 % obj.borrowing.N.S2 = 0.3259; 62 % obj.borrowing.N.S2 = 0.3259;
65 % obj.borrowing.N.S3 = 0.1580; 63 % obj.borrowing.N.S3 = 0.1580;
66 case '3' 64 case '3'
67 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 65 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
68 sbp.higher_variable6_3(m, obj.h); 66 sbp.implementations.d4_variable_6_3(m, obj.h);
69 % obj.borrowing.N.S2 = 0.3259; 67 % obj.borrowing.N.S2 = 0.3259;
70 % obj.borrowing.N.S3 = 0.1580; 68 % obj.borrowing.N.S3 = 0.1580;
71 case 'min_boundary_points' 69 case 'min_boundary_points'
72 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 70 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
73 sbp.higher_variable6_min_boundary_points(m, obj.h); 71 sbp.implementations.d4_variable_6_min_boundary_points(m, obj.h);
74 % obj.borrowing.N.S2 = 0.3259; 72 % obj.borrowing.N.S2 = 0.3259;
75 % obj.borrowing.N.S3 = 0.1580; 73 % obj.borrowing.N.S3 = 0.1580;
76 otherwise 74 otherwise
77 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 75 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
78 sbp.implementations.d4_compatible_halfvariable_6(m, obj.h); 76 sbp.implementations.d4_variable_6(m, obj.h);
79 obj.borrowing.N.S2 = 0.3259; 77 obj.borrowing.N.S2 = 0.3259;
80 obj.borrowing.N.S3 = 0.1580; 78 obj.borrowing.N.S3 = 0.1580;
81 end 79 end
82 80
83 elseif order == 8 81 elseif order == 8
84 switch opt 82 switch opt
85 case 'min_boundary_points' 83 case 'min_boundary_points'
86 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 84 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
87 sbp.higher_variable8_min_boundary_points(m, obj.h); 85 sbp.implementations.d4_variable_8_min_boundary_points(m, obj.h);
88 % obj.borrowing.N.S2 = 0.3259; 86 % obj.borrowing.N.S2 = 0.3259;
89 % obj.borrowing.N.S3 = 0.1580; 87 % obj.borrowing.N.S3 = 0.1580;
90 otherwise 88 otherwise
91 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ... 89 [H, HI, D2, D4, e_l, e_r, M4, d2_l, d2_r, d3_l, d3_r, d1_l, d1_r] = ...
92 sbp.higher_variable8_higher_boundary_order(m, obj.h); 90 sbp.implementations.d4_variable_8_higher_boundary_order(m, obj.h);
93 % obj.borrowing.N.S2 = 0.3259; 91 % obj.borrowing.N.S2 = 0.3259;
94 % obj.borrowing.N.S3 = 0.1580; 92 % obj.borrowing.N.S3 = 0.1580;
95 end 93 end
96 else 94 else
97 error('Invalid operator order.'); 95 error('Invalid operator order.');