Mercurial > repos > public > sbplib
comparison +scheme/Wave2dCurve.m @ 303:f18142c1530b
Fixed Wave2dCurve for new operators. Some cleanup in d2_variable_4.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 13 Oct 2016 09:34:42 +0200 |
parents | 19d0c9325a3e |
children | e070ebd94d9d 9d1fc984f40d |
comparison
equal
deleted
inserted
replaced
302:f39f98b59f61 | 303:f18142c1530b |
---|---|
28 lambda | 28 lambda |
29 end | 29 end |
30 | 30 |
31 methods | 31 methods |
32 function obj = Wave2dCurve(m,ti,order,c,opSet) | 32 function obj = Wave2dCurve(m,ti,order,c,opSet) |
33 default_arg('opSet',@sbp.Variable); | 33 default_arg('opSet',@sbp.D2Variable); |
34 default_arg('c', 1); | 34 default_arg('c', 1); |
35 | 35 |
36 if length(m) == 1 | 36 if length(m) == 1 |
37 m = [m m]; | 37 m = [m m]; |
38 end | 38 end |
44 [u, h_u] = util.get_grid(0, 1, m_u); | 44 [u, h_u] = util.get_grid(0, 1, m_u); |
45 [v, h_v] = util.get_grid(0, 1, m_v); | 45 [v, h_v] = util.get_grid(0, 1, m_v); |
46 | 46 |
47 | 47 |
48 % Operators | 48 % Operators |
49 ops_u = opSet(m_u,h_u,order); | 49 ops_u = opSet(m_u, {0, 1}, order); |
50 ops_v = opSet(m_v,h_v,order); | 50 ops_v = opSet(m_v, {0, 1}, order); |
51 | 51 |
52 I_u = speye(m_u); | 52 I_u = speye(m_u); |
53 I_v = speye(m_v); | 53 I_v = speye(m_v); |
54 | 54 |
55 D1_u = sparse(ops_u.derivatives.D1); | 55 D1_u = sparse(ops_u.D1); |
56 D2_u = ops_u.derivatives.D2; | 56 D2_u = ops_u.D2; |
57 H_u = sparse(ops_u.norms.H); | 57 H_u = sparse(ops_u.H); |
58 Hi_u = sparse(ops_u.norms.HI); | 58 Hi_u = sparse(ops_u.HI); |
59 % M_u = sparse(ops_u.norms.M); | 59 % M_u = sparse(ops_u.M); |
60 e_l_u = sparse(ops_u.boundary.e_1); | 60 e_l_u = sparse(ops_u.e_l); |
61 e_r_u = sparse(ops_u.boundary.e_m); | 61 e_r_u = sparse(ops_u.e_r); |
62 d1_l_u = sparse(ops_u.boundary.S_1); | 62 d1_l_u = sparse(ops_u.d1_l); |
63 d1_r_u = sparse(ops_u.boundary.S_m); | 63 d1_r_u = sparse(ops_u.d1_r); |
64 | 64 |
65 D1_v = sparse(ops_v.derivatives.D1); | 65 D1_v = sparse(ops_v.D1); |
66 D2_v = ops_v.derivatives.D2; | 66 D2_v = ops_v.D2; |
67 H_v = sparse(ops_v.norms.H); | 67 H_v = sparse(ops_v.H); |
68 Hi_v = sparse(ops_v.norms.HI); | 68 Hi_v = sparse(ops_v.HI); |
69 % M_v = sparse(ops_v.norms.M); | 69 % M_v = sparse(ops_v.M); |
70 e_l_v = sparse(ops_v.boundary.e_1); | 70 e_l_v = sparse(ops_v.e_l); |
71 e_r_v = sparse(ops_v.boundary.e_m); | 71 e_r_v = sparse(ops_v.e_r); |
72 d1_l_v = sparse(ops_v.boundary.S_1); | 72 d1_l_v = sparse(ops_v.d1_l); |
73 d1_r_v = sparse(ops_v.boundary.S_m); | 73 d1_r_v = sparse(ops_v.d1_r); |
74 | |
75 | 74 |
76 % Metric derivatives | 75 % Metric derivatives |
77 [X,Y] = ti.map(u,v); | 76 [X,Y] = ti.map(u,v); |
78 | 77 |
79 [x_u,x_v] = gridDerivatives(X,D1_u,D1_v); | 78 [x_u,x_v] = gridDerivatives(X,D1_u,D1_v); |