Mercurial > repos > public > sbplib
comparison +scheme/Beam.m @ 176:d095b5396103 feature/beams
Fixed some bugs in Beam schemes.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 29 Feb 2016 10:16:39 +0100 |
parents | 8f22829b69d0 |
children | 5df8d20281fe |
comparison
equal
deleted
inserted
replaced
175:8f22829b69d0 | 176:d095b5396103 |
---|---|
20 methods | 20 methods |
21 function obj = Beam(grid, order, alpha, opsGen) | 21 function obj = Beam(grid, order, alpha, opsGen) |
22 default_arg('alpha', 1); | 22 default_arg('alpha', 1); |
23 default_arg('opsGen', @sbp.Higher); | 23 default_arg('opsGen', @sbp.Higher); |
24 | 24 |
25 if ~isa(grid, 'Cartesian') || grid.D() ~= 1 | 25 if ~isa(grid, 'grid.Cartesian') || grid.D() ~= 1 |
26 error('Grid must be 1d cartesian'); | 26 error('Grid must be 1d cartesian'); |
27 end | 27 end |
28 | 28 |
29 obj.grid = grid; | 29 obj.grid = grid; |
30 obj.order = order; | 30 obj.order = order; |
31 obj.alpha = alpha; | 31 obj.alpha = alpha; |
32 | 32 |
33 m = grid.m; | 33 m = grid.m; |
34 h = grid.spacing(); | 34 h = grid.scaling(); |
35 | 35 |
36 ops = opsGen(m, h, order); | 36 ops = opsGen(m, h, order); |
37 | 37 |
38 I = speye(m); | 38 I = speye(m); |
39 | 39 |
140 d1 = obj.d1_l; | 140 d1 = obj.d1_l; |
141 d2 = obj.d2_l; | 141 d2 = obj.d2_l; |
142 d3 = obj.d3_l; | 142 d3 = obj.d3_l; |
143 s = -1; | 143 s = -1; |
144 case 'r' | 144 case 'r' |
145 e = obj.e_e; | 145 e = obj.e_r; |
146 d1 = obj.d1_e; | 146 d1 = obj.d1_r; |
147 d2 = obj.d2_e; | 147 d2 = obj.d2_r; |
148 d3 = obj.d3_e; | 148 d3 = obj.d3_r; |
149 s = 1; | 149 s = 1; |
150 otherwise | 150 otherwise |
151 error('No such boundary: boundary = %s',boundary); | 151 error('No such boundary: boundary = %s',boundary); |
152 end | 152 end |
153 end | 153 end |