Mercurial > repos > public > sbplib
changeset 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 | f7ac3cd6eeaa |
children | 479194747f9c |
files | +sbp/D1Nonequidistant.m +sbp/D1Upwind.m +sbp/D2BlockNorm.m +sbp/D2Standard.m +sbp/D2Variable.m +sbp/D4Compatible.m +sbp/D4CompatibleVariable.m +sbp/D4Standard.m |
diffstat | 8 files changed, 97 insertions(+), 97 deletions(-) [+] |
line wrap: on
line diff
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D1Nonequidistant.m --- a/+sbp/D1Nonequidistant.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D1Nonequidistant.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,8 +4,8 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator m % Number of grid points. h % Step size x % grid @@ -72,13 +72,13 @@ obj.x = obj.x + x_l; - obj.e_1 = sparse(m,1); - obj.e_m = sparse(m,1); - obj.e_1(1) = 1; - obj.e_m(m) = 1; + obj.e_l = sparse(m,1); + obj.e_r = sparse(m,1); + obj.e_l(1) = 1; + obj.e_r(m) = 1; obj.HI = inv(obj.H); - obj.Q = obj.H*obj.D1 - obj.e_m*obj.e_m' + obj.e_0*obj.e_0'; + obj.Q = obj.H*obj.D1 - obj.e_r*obj.e_r' + obj.e_l*obj.e_l'; obj.borrowing = [];
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D1Upwind.m --- a/+sbp/D1Upwind.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D1Upwind.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,8 +4,8 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator m % Number of grid points. h % Step size x % grid @@ -23,28 +23,28 @@ switch order case 2 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_2(m,obj.h); case 3 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_3(m,obj.h); case 4 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_4(m,obj.h); case 5 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_5(m,obj.h); case 6 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_6(m,obj.h); case 7 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_7(m,obj.h); case 8 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_8(m,obj.h); case 9 - [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_1, obj.e_m] = ... + [obj.H, obj.HI, obj.Dp, obj.Dm, obj.e_l, obj.e_r] = ... sbp.implementations.d1_upwind_9(m,obj.h); otherwise error('Invalid operator order %d.',order);
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D2BlockNorm.m --- a/+sbp/D2BlockNorm.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D2BlockNorm.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,12 +4,12 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator D2 % SBP operator for second derivative M % Norm matrix, second derivative - S_1 % Left boundary first derivative - S_m % Right boundary first derivative + d1_l % Left boundary first derivative + d1_r % Right boundary first derivative m % Number of grid points. h % Step size x % grid @@ -28,20 +28,20 @@ obj.x = linspace(x_l,x_r,m)'; if order == 4 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... sbp.implementations.d2_blocknorm_4(m,obj.h); elseif order == 6 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... sbp.implementations.d2_blocknorm_6(m,obj.h); elseif order == 8 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... sbp.implementations.d2_blocknorm_8(m,obj.h); elseif order == 10 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] = ... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] = ... sbp.implementations.d2_blocknorm_10(m,obj.h); else error('Invalid operator order %d.',order);
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D2Standard.m --- a/+sbp/D2Standard.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D2Standard.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,12 +4,12 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator D2 % SBP operator for second derivative M % Norm matrix, second derivative - S_1 % Left boundary first derivative - S_m % Right boundary first derivative + d1_l % Left boundary first derivative + d1_r % Right boundary first derivative m % Number of grid points. h % Step size x % grid @@ -27,33 +27,33 @@ obj.x = linspace(x_l,x_r,m)'; if order == 2 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] =... sbp.implementations.ordinary2(m,obj.h); obj.borrowing.M.S = 0.4000; elseif order == 4 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] =... sbp.implementations.ordinary4(m,obj.h); obj.borrowing.M.S = 0.2508; elseif order == 6 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] =... sbp.implementations.ordinary6(m,obj.h); obj.borrowing.M.S = 0.1878; elseif order == 8 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] =... sbp.implementations.ordinary8(m,obj.h); obj.borrowing.M.S = 0.0015; elseif order == 10 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] =... sbp.implementations.ordinary10(m,obj.h); obj.borrowing.M.S = 0.0351; elseif order == 12 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.M, obj.Q, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.M, obj.Q, obj.d1_l, obj.d1_r] =... sbp.implementations.ordinary12(m,obj.h); obj.borrowing.M.S = []; % Need to compute! warning('D2=D1*D1 (wide stencil).');
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D2Variable.m --- a/+sbp/D2Variable.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D2Variable.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,12 +4,12 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator D2 % SBP operator for second derivative M % Norm matrix, second derivative - S_1 % Left boundary first derivative - S_m % Right boundary first derivative + d1_l % Left boundary first derivative + d1_r % Right boundary first derivative m % Number of grid points. h % Step size x % grid @@ -27,8 +27,8 @@ switch order case 4 - [obj.H, obj.HI, obj.D1, obj.D2, obj.e_1,... - obj.e_m, obj.S_1, obj.S_m] = ... + [obj.H, obj.HI, obj.D1, obj.D2, obj.e_l,... + obj.e_r, obj.d1_l, obj.d1_r] = ... sbp.implementations.d2_variable_4(m,obj.h); obj.borrowing.M.S = 0.2505765857; otherwise
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D4Compatible.m --- a/+sbp/D4Compatible.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D4Compatible.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,20 +4,20 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator D2 % SBP operator for second derivative M % Norm matrix, second derivative - S_1 % Left boundary first derivative - S_m % Right boundary first derivative + d1_l % Left boundary first derivative + d1_r % Right boundary first derivative D3 % SBP operator for third derivative Q3 % Skew-symmetric matrix in third derivative - S2_1 % Left boundary second derivative - S2_m % Right boundary second derivative + d2_l % Left boundary second derivative + d2_r % Right boundary second derivative D4 % SBP operator for fourth derivative M4 % Norm matrix, fourth derivative - S3_1 % Left boundary third derivative - S3_m % Right boundary third derivative + d3_l % Left boundary third derivative + d3_r % Right boundary third derivative m % Number of grid points. h % Step size x % grid @@ -37,23 +37,23 @@ obj.x = linspace(x_l,x_r,m)'; if order == 2 - [obj.H, obj.HI, obj.D1, obj.D4, obj.e_1, obj.e_m, obj.M4,... - obj.Q, obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m,... - obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D4, obj.e_l, obj.e_r, obj.M4,... + obj.Q, obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r,... + obj.d1_l, obj.d1_r] =... sbp.implementations.d4_compatible_2(m,obj.h); obj.borrowing.N.S2 = 0.7500; obj.borrowing.N.S3 = 0.3000; elseif order == 4 - [obj.H, obj.HI, obj.D1, obj.D4, obj.e_1, obj.e_m, obj.M4,... - obj.Q, obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m,... - obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D4, obj.e_l, obj.e_r, obj.M4,... + obj.Q, obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r,... + obj.d1_l, obj.d1_r] =... sbp.implementations.d4_compatible_4(m,obj.h); obj.borrowing.N.S2 = 0.4210; obj.borrowing.N.S3 = 0.7080; elseif order == 6 - [obj.H, obj.HI, obj.D1, obj.D4, obj.e_1, obj.e_m, obj.M4,... - obj.Q, obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m,... - obj.S_1, obj.S_m] =... + [obj.H, obj.HI, obj.D1, obj.D4, obj.e_l, obj.e_r, obj.M4,... + obj.Q, obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r,... + obj.d1_l, obj.d1_r] =... sbp.implementations.d4_compatible_6(m,obj.h); obj.borrowing.N.S2 = 0.06925; obj.borrowing.N.S3 = 0.05128;
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D4CompatibleVariable.m --- a/+sbp/D4CompatibleVariable.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D4CompatibleVariable.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,20 +4,20 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator D2 % SBP operator for second derivative M % Norm matrix, second derivative - S_1 % Left boundary first derivative - S_m % Right boundary first derivative + d1_l % Left boundary first derivative + d1_r % Right boundary first derivative D3 % SBP operator for third derivative Q3 % Skew-symmetric matrix in third derivative - S2_1 % Left boundary second derivative - S2_m % Right boundary second derivative + d2_l % Left boundary second derivative + d2_r % Right boundary second derivative D4 % SBP operator for fourth derivative M4 % Norm matrix, fourth derivative - S3_1 % Left boundary third derivative - S3_m % Right boundary third derivative + d3_l % Left boundary third derivative + d3_r % Right boundary third derivative m % Number of grid points. h % Step size x % grid @@ -36,23 +36,23 @@ obj.x = linspace(x_l,x_r,m)'; if order == 2 - [obj.H, obj.HI, ~, obj.D2, ~, obj.D4, obj.e_1, obj.e_m,... - obj.M4, ~, obj.S2_1, obj.S2_m, obj.S3_1,... - obj.S3_m, obj.S_1, obj.S_m] =... + [obj.H, obj.HI, ~, obj.D2, ~, obj.D4, obj.e_l, obj.e_r,... + obj.M4, ~, obj.d2_l, obj.d2_r, obj.d3_l,... + obj.d3_r, obj.d1_l, obj.d1_r] =... sbp.implementations.d4_compatible_halfvariable_2(m,obj.h); obj.borrowing.N.S2 = 1.2500; obj.borrowing.N.S3 = 0.4000; elseif order == 4 - [obj.H, obj.HI, obj.D2, obj.D4, obj.e_1, obj.e_m, obj.M4,... - obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m, obj.S_1,... - obj.S_m] =... + [obj.H, obj.HI, obj.D2, obj.D4, obj.e_l, obj.e_r, obj.M4,... + obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r, obj.d1_l,... + obj.d1_r] =... sbp.implementations.d4_compatible_halfvariable_4(m,obj.h); obj.borrowing.N.S2 = 0.5055; obj.borrowing.N.S3 = 0.9290; elseif order == 6 - [obj.H, obj.HI, obj.D2, obj.D4, obj.e_1, obj.e_m, obj.M4,... - obj.S2_1, obj.S2_m, obj.S3_1, obj.S3_m, obj.S_1,... - obj.S_m] =... + [obj.H, obj.HI, obj.D2, obj.D4, obj.e_l, obj.e_r, obj.M4,... + obj.d2_l, obj.d2_r, obj.d3_l, obj.d3_r, obj.d1_l,... + obj.d1_r] =... sbp.implementations.d4_compatible_halfvariable_6(m,obj.h); obj.borrowing.N.S2 = 0.3259; obj.borrowing.N.S3 = 0.1580;
diff -r f7ac3cd6eeaa -r 4b9310edcdf8 +sbp/D4Standard.m --- a/+sbp/D4Standard.m Fri Sep 09 14:53:41 2016 +0200 +++ b/+sbp/D4Standard.m Fri Sep 09 15:06:03 2016 +0200 @@ -4,20 +4,20 @@ H % Norm matrix HI % H^-1 Q % Skew-symmetric matrix - e_1 % Left boundary operator - e_m % Right boundary operator + e_l % Left boundary operator + e_r % Right boundary operator D2 % SBP operator for second derivative M % Norm matrix, second derivative - S_1 % Left boundary first derivative - S_m % Right boundary first derivative + d1_l % Left boundary first derivative + d1_r % Right boundary first derivative D3 % SBP operator for third derivative Q3 % Skew-symmetric matrix in third derivative - S2_1 % Left boundary second derivative - S2_m % Right boundary second derivative + d2_l % Left boundary second derivative + d2_r % Right boundary second derivative D4 % SBP operator for fourth derivative M4 % Norm matrix, fourth derivative - S3_1 % Left boundary third derivative - S3_m % Right boundary third derivative + d3_l % Left boundary third derivative + d3_r % Right boundary third derivative m % Number of grid points. h % Step size x % grid @@ -37,15 +37,15 @@ if order == 4 [obj.H, obj.HI, obj.D1, obj.D2, obj.D3, obj.D4,... - obj.e_1, obj.e_m, obj.M, obj.M4, obj.Q, obj.Q3, obj.S2_1,... - obj.S2_m, obj.S3_1, obj.S3_m, obj.S_1, obj.S_m] = ... + obj.e_l, obj.e_r, obj.M, obj.M4, obj.Q, obj.Q3, obj.d2_l,... + obj.d2_r, obj.d3_l, obj.d3_r, obj.d1_l, obj.d1_r] = ... sbp.implementations.d4_4(m,obj.h); obj.borrowing.N.S2 = 0.5485; obj.borrowing.N.S3 = 1.0882; elseif order == 6 [obj.H, obj.HI, obj.D1, obj.D2, obj.D3, obj.D4,... - obj.e_1, obj.e_m, obj.M, obj.M4, obj.Q, obj.Q3, obj.S2_1,... - obj.S2_m, obj.S3_1, obj.S3_m, obj.S_1, obj.S_m] = ... + obj.e_l, obj.e_r, obj.M, obj.M4, obj.Q, obj.Q3, obj.d2_l,... + obj.d2_r, obj.d3_l, obj.d3_r, obj.d1_l, obj.d1_r] = ... sbp.implementations.d4_6(m,obj.h); obj.borrowing.N.S2 = 0.3227; obj.borrowing.N.S3 = 0.1568;