annotate +scheme/Schrodinger1dCurve.m @ 432:eca4ca84cf0a feature/quantumTriangles

Merge in feature/grids
author Ylva Rydin <ylva.rydin@telia.com>
date Wed, 08 Feb 2017 11:10:13 +0100
parents 25053554524b
children 6b8297f66c91
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
429
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
1 classdef Schrodinger1dCurve < scheme.Scheme
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
2 properties
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
3 m % Number of points in each direction, possibly a vector
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
4 h % Grid spacing
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
5 xi % Grid
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
6 order % Order accuracy for the approximation
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
7 grid
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
8
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
9 D % non-stabalized scheme operator
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
10 H % Discrete norm
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
11 M % Derivative norm
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
12 alpha
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
13
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
14 V_mat
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
15 D1
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
16 D2
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
17 Hi
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
18 e_l
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
19 e_r
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
20 d1_l
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
21 d1_r
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
22 gamm
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
23 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
24
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
25 methods
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
26 % Solving SE in the form u_t = i*u_xx +i*V on deforming 1D domain;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
27 function obj = Schrodinger1dCurve(m,order,V,constJi)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
28 default_arg('V',0);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
29 default_arg('constJi',false)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
30 xilim={0 1};
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
31 if constJi
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
32 ops = sbp.D2Standard(m,xilim,order);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
33 else
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
34 ops = sbp.D4Variable(m,xilim,order);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
35 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
36
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
37 obj.xi=ops.x;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
38 obj.h=ops.h;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
39 obj.D2 = ops.D2;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
40 obj.D1 = ops.D1;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
41 obj.H = ops.H;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
42 obj.Hi = ops.HI;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
43 obj.M = ops.M;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
44 obj.e_l = ops.e_l;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
45 obj.e_r = ops.e_r;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
46 obj.d1_l = ops.d1_l;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
47 obj.d1_r = ops.d1_r;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
48
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
49
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
50 if isa(V,'function_handle')
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
51 V_vec = V(obj.x);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
52 else
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
53 V_vec = obj.xi*0 + V;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
54 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
55
430
25053554524b Removed some comments
Ylva Rydin <ylva.rydin@telia.com>
parents: 429
diff changeset
56 obj.V_mat = spdiags(V_vec,0,m,m);
25053554524b Removed some comments
Ylva Rydin <ylva.rydin@telia.com>
parents: 429
diff changeset
57 obj.D = @(a,a_xi,Ji) obj.d_fun(a, a_xi, Ji, constJi);
429
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
58 obj.m = m;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
59 obj.order = order;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
60 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
61
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
62
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
63 % Closure functions return the opertors appliedo to the own doamin to close the boundary
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
64 % Penalty functions return the opertors to force the solution. In the case of an interface it returns the operator applied to the other doamin.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
65 % boundary is a string specifying the boundary e.g. 'l','r' or 'e','w','n','s'.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
66 % type is a string specifying the type of boundary condition if there are several.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
67 % data is a function returning the data that should be applied at the boundary.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
68 % neighbour_scheme is an instance of Scheme that should be interfaced to.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
69 % neighbour_boundary is a string specifying which boundary to interface to.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
70
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
71 function [D] = d_fun(obj,a, a_xi , Ji , constJi)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
72 if constJi
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
73 D= -0.5*(obj.D1*a - a_xi + a*obj.D1) + 1i*Ji*obj.D2 + 1i*obj.V_mat;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
74 else
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
75 D= -0.5*(obj.D1*a - a_xi + a*obj.D1) + 1i*obj.D2(diag(Ji)) + 1i*obj.V_mat;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
76 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
77 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
78
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
79 function [closure, penalty] = boundary_condition(obj,boundary,type,data)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
80 default_arg('type','dirichlet');
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
81 default_arg('data',0);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
82
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
83 [e,d,s,p] = obj.get_boundary_ops(boundary);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
84
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
85 switch type
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
86 % Dirichlet boundary condition
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
87 case {'D','d','dirichlet'}
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
88 tau1 = s * 1i*d;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
89 tau2 = @(a) (-1*s*a(p,p) - abs(a(p,p)))/4*e;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
90 closure = @(a) obj.Hi*tau1*e' + obj.Hi*tau2(a)*e';
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
91
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
92 switch class(data)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
93 case 'double'
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
94 penalty = @(a) -(obj.Hi*tau1*data+obj.Hi*tau2(a)*data);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
95 % case 'function_handle'
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
96 % penalty = @(t)-obj.Hi*tau*data(t);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
97 otherwise
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
98 error('Wierd data argument!')
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
99 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
100
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
101 % Unknown, boundary condition
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
102 otherwise
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
103 error('No such boundary condition: type = %s',type);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
104 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
105 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
106
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
107 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
108 % u denotes the solution in the own domain
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
109 % v denotes the solution in the neighbour domain
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
110 % [e_u,d_u,s_u] = obj.get_boundary_ops(boundary);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
111 % [e_v,d_v,s_v] = neighbour_scheme.get_boundary_ops(neighbour_boundary);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
112
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
113 % a = -s_u* 1/2 * 1i ;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
114 % b = a';
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
115
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
116 % tau = b*d_u;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
117 % sig = -a*e_u;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
118
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
119 % closure = obj.Hi * (tau*e_u' + sig*d_u');
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
120 % penalty = obj.Hi * (-tau*e_v' - sig*d_v');
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
121 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
122
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
123 % Ruturns the boundary ops and sign for the boundary specified by the string boundary.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
124 % The right boundary is considered the positive boundary
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
125 function [e,d,s,p] = get_boundary_ops(obj,boundary)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
126 switch boundary
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
127 case 'l'
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
128 e = obj.e_l;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
129 d = obj.d1_l;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
130 s = -1;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
131 p=1;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
132 case 'r'
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
133 e = obj.e_r;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
134 d = obj.d1_r;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
135 s = 1;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
136 p=obj.m;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
137 otherwise
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
138 error('No such boundary: boundary = %s',boundary);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
139 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
140 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
141
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
142 function N = size(obj)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
143 N = obj.m;
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
144 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
145
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
146 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
147
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
148 methods(Static)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
149 % Calculates the matrcis need for the inteface coupling between boundary bound_u of scheme schm_u
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
150 % and bound_v of scheme schm_v.
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
151 % [uu, uv, vv, vu] = inteface_couplong(A,'r',B,'l')
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
152 function [uu, uv, vv, vu] = interface_coupling(schm_u,bound_u,schm_v,bound_v)
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
153 [uu,uv] = schm_u.interface(bound_u,schm_v,bound_v);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
154 [vv,vu] = schm_v.interface(bound_v,schm_u,bound_u);
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
155 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
156 end
dde5760863de Added a scheme for the time deforming shrodinger equation in 1d
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff changeset
157 end