comparison +scheme/Beam.m @ 328:31d6698c1edf feature/beams

Clean up and fixing of new operators
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 28 Sep 2016 12:39:12 +0200
parents 369c643b60c3
children bf801c3709be
comparison
equal deleted inserted replaced
327:d24869abc7cd 328:31d6698c1edf
8 8
9 h 9 h
10 H % Discrete norm 10 H % Discrete norm
11 Hi 11 Hi
12 12
13 e_l, e_r 13 e_l, e_r
14 d1_l, d1_r 14 d1_l, d1_r
15 d2_l, d2_r 15 d2_l, d2_r
16 d3_l, d3_r 16 d3_l, d3_r
17 gamm 17 gamm
18 delt 18 delt
24 24
25 methods 25 methods
26 function obj = Beam(grid, order, alpha, opsGen, opt) 26 function obj = Beam(grid, order, alpha, opsGen, opt)
27 default_arg('alpha', -1); 27 default_arg('alpha', -1);
28 28
29 % default_arg('opsGen', @sbp.D4);
30 default_arg('opsGen', @sbp.D4Variable); % Supposed to be better
29 31
30 opt_default.interface_l.tuning = 1.1; 32 opt_default.interface_l.tuning = 1.1;
31 opt_default.interface_l.tau = []; 33 opt_default.interface_l.tau = [];
32 opt_default.interface_l.sig = []; 34 opt_default.interface_l.sig = [];
33 opt_default.interface_r.tuning = 1.1; 35 opt_default.interface_r.tuning = 1.1;
34 opt_default.interface_r.tau = []; 36 opt_default.interface_r.tau = [];
35 opt_default.interface_r.sig = []; 37 opt_default.interface_r.sig = [];
36 default_struct('opt', opt_default); 38 default_struct('opt', opt_default);
37 39
38 40
39 % default_arg('opsGen', @sbp.Higher); 41
40 default_arg('opsGen', @sbp.HigherVariable); % Supposed to be better
41 42
42 if ~isa(grid, 'grid.Cartesian') || grid.D() ~= 1 43 if ~isa(grid, 'grid.Cartesian') || grid.D() ~= 1
43 error('Grid must be 1d cartesian'); 44 error('Grid must be 1d cartesian');
44 end 45 end
45 46
48 obj.alpha = alpha; 49 obj.alpha = alpha;
49 50
50 m = grid.m; 51 m = grid.m;
51 h = grid.scaling(); 52 h = grid.scaling();
52 53
53 ops = opsGen(m, h, order); 54 x_lim = {grid.x{1}(1), grid.x{1}(end)};
54 55 ops = opsGen(m, x_lim, order);
55 I = speye(m); 56
56 57 D4 = ops.D4;
57 D4 = sparse(ops.derivatives.D4); 58 obj.H = ops.H;
58 obj.H = sparse(ops.norms.H); 59 obj.Hi = ops.HI;
59 obj.Hi = sparse(ops.norms.HI); 60 obj.e_l = ops.e_l;
60 obj.e_l = sparse(ops.boundary.e_1); 61 obj.e_r = ops.e_r;
61 obj.e_r = sparse(ops.boundary.e_m); 62 obj.d1_l = ops.d1_l;
62 obj.d1_l = sparse(ops.boundary.S_1); 63 obj.d1_r = ops.d1_r;
63 obj.d1_r = sparse(ops.boundary.S_m); 64 obj.d2_l = ops.d2_l;
64 obj.d2_l = sparse(ops.boundary.S2_1); 65 obj.d2_r = ops.d2_r;
65 obj.d2_r = sparse(ops.boundary.S2_m); 66 obj.d3_l = ops.d3_l;
66 obj.d3_l = sparse(ops.boundary.S3_1); 67 obj.d3_r = ops.d3_r;
67 obj.d3_r = sparse(ops.boundary.S3_m);
68 68
69 obj.D = alpha*D4; 69 obj.D = alpha*D4;
70 70
71 alphaII = ops.borrowing.N.S2/2; 71 alphaII = ops.borrowing.N.S2/2;
72 alphaIII = ops.borrowing.N.S3/2; 72 alphaIII = ops.borrowing.N.S3/2;
73 73
74 obj.gamm = h*alphaII; 74 obj.gamm = h*alphaII;
75 obj.delt = h^3*alphaIII; 75 obj.delt = h^3*alphaIII;
76 obj.alphaII = alphaII; 76 obj.alphaII = alphaII;