Mercurial > repos > public > sbplib
changeset 1330:855871e0b852 feature/D2_boundary_opt
Add size checks to the operators
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 17 Feb 2022 18:55:11 +0100 |
parents | 7df63b17e078 |
children | 60c875c18de3 |
files | +sbp/+implementations/d2_noneq_variable_10.m +sbp/+implementations/d2_noneq_variable_12.m +sbp/+implementations/d2_noneq_variable_4.m +sbp/+implementations/d2_noneq_variable_6.m +sbp/+implementations/d2_noneq_variable_8.m +sbp/D2Nonequidistant.m |
diffstat | 6 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/+sbp/+implementations/d2_noneq_variable_10.m Mon Feb 14 14:55:29 2022 +0100 +++ b/+sbp/+implementations/d2_noneq_variable_10.m Thu Feb 17 18:55:11 2022 +0100 @@ -10,6 +10,9 @@ % order: Accuracy of interior stencil BP = 10; order = 10; + if(N<2*BP) + error(['Operator requires at least ' num2str(2*BP) ' grid points']); + end %%%% Norm matrix %%%%%%%% P = zeros(BP, 1);
--- a/+sbp/+implementations/d2_noneq_variable_12.m Mon Feb 14 14:55:29 2022 +0100 +++ b/+sbp/+implementations/d2_noneq_variable_12.m Thu Feb 17 18:55:11 2022 +0100 @@ -10,6 +10,9 @@ % order: Accuracy of interior stencil BP = 12; order = 12; + if(N<2*BP) + error(['Operator requires at least ' num2str(2*BP) ' grid points']); + end %%%% Norm matrix %%%%%%%% P = zeros(BP, 1);
--- a/+sbp/+implementations/d2_noneq_variable_4.m Mon Feb 14 14:55:29 2022 +0100 +++ b/+sbp/+implementations/d2_noneq_variable_4.m Thu Feb 17 18:55:11 2022 +0100 @@ -10,6 +10,9 @@ % order: Accuracy of interior stencil BP = 4; order = 4; + if(N<2*BP) + error(['Operator requires at least ' num2str(2*BP) ' grid points']); + end %%%% Norm matrix %%%%%%%% P = zeros(BP, 1);
--- a/+sbp/+implementations/d2_noneq_variable_6.m Mon Feb 14 14:55:29 2022 +0100 +++ b/+sbp/+implementations/d2_noneq_variable_6.m Thu Feb 17 18:55:11 2022 +0100 @@ -10,6 +10,9 @@ % order: Accuracy of interior stencil BP = 6; order = 6; + if(N<2*BP) + error(['Operator requires at least ' num2str(2*BP) ' grid points']); + end %%%% Norm matrix %%%%%%%% P = zeros(BP, 1);
--- a/+sbp/+implementations/d2_noneq_variable_8.m Mon Feb 14 14:55:29 2022 +0100 +++ b/+sbp/+implementations/d2_noneq_variable_8.m Thu Feb 17 18:55:11 2022 +0100 @@ -10,6 +10,9 @@ % order: Accuracy of interior stencil BP = 8; order = 8; + if(N<2*BP) + error(['Operator requires at least ' num2str(2*BP) ' grid points']); + end %%%% Norm matrix %%%%%%%% P = zeros(BP, 1);
--- a/+sbp/D2Nonequidistant.m Mon Feb 14 14:55:29 2022 +0100 +++ b/+sbp/D2Nonequidistant.m Thu Feb 17 18:55:11 2022 +0100 @@ -49,12 +49,8 @@ case 4 [obj.H, obj.HI, obj.D1, obj.D2, obj.DI] = sbp.implementations.d2_noneq_variable_4(m, h, options); case 6 - % [obj.H, obj.HI, obj.D1, D2, M, Q, obj.e_l, obj.e_r, obj.d1_l, obj.d1_r] = sbp.implementations.d2_noneq_6(m,h,2); - % obj.D2 = @(c)D2; [obj.H, obj.HI, obj.D1, obj.D2, obj.DI] = sbp.implementations.d2_noneq_variable_6(m, h, options); case 8 - % [obj.H, obj.HI, obj.D1, D2, M, Q, obj.e_l, obj.e_r, obj.d1_l, obj.d1_r] = sbp.implementations.d2_noneq_8(m,h,1); - % obj.D2 = @(c)D2; [obj.H, obj.HI, obj.D1, obj.D2, obj.DI] = sbp.implementations.d2_noneq_variable_8(m, h, options); case 10 [obj.H, obj.HI, obj.D1, obj.D2, obj.DI] = sbp.implementations.d2_noneq_variable_10(m, h, options);