comparison +scheme/Schrodinger.m @ 67:446d67a49cd8

Fixed some errors in scheme.Schrodinger.m
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 20 Nov 2015 10:28:27 +0100
parents 33f0654a2413
children 29944ea7674b 459eeb99130f
comparison
equal deleted inserted replaced
66:dbc50fa58ca6 67:446d67a49cd8
44 V_vec = x*0 + V; 44 V_vec = x*0 + V;
45 end 45 end
46 46
47 V_mat = spdiags(V_vec,0,m,m); 47 V_mat = spdiags(V_vec,0,m,m);
48 48
49 obj.D = 1i * obj.D2 - 1i * V; 49 obj.D = 1i * obj.D2 - 1i * V_mat;
50 50
51 obj.m = m; 51 obj.m = m;
52 obj.h = h; 52 obj.h = h;
53 obj.order = order; 53 obj.order = order;
54 54
94 % u denotes the solution in the own domain 94 % u denotes the solution in the own domain
95 % v denotes the solution in the neighbour domain 95 % v denotes the solution in the neighbour domain
96 [e_u,d_u,s_u] = obj.get_boundary_ops(boundary); 96 [e_u,d_u,s_u] = obj.get_boundary_ops(boundary);
97 [e_v,d_v,s_v] = neighbour_scheme.get_boundary_ops(neighbour_boundary); 97 [e_v,d_v,s_v] = neighbour_scheme.get_boundary_ops(neighbour_boundary);
98 98
99 a = s* 1/2 * 1i ; 99 a = -s_u* 1/2 * 1i ;
100 b = a'; 100 b = a';
101 101
102 tau = b*d_u; 102 tau = b*d_u;
103 sig = a*e_u; 103 sig = -a*e_u;
104 104
105 closure = obj.Hi * (tau*e_u' + sig*d_u'); 105 closure = obj.Hi * (tau*e_u' + sig*d_u');
106 penalty = obj.Hi * (-tau*e_v' - sig*d_v'); 106 penalty = obj.Hi * (-tau*e_v' - sig*d_v');
107 end 107 end
108 108