diff +scheme/Schrodinger1dCurve.m @ 498:324c927d8b1d feature/quantumTriangles

chnaged sbp interfacein 1d among many things
author Ylva Rydin <ylva.rydin@telia.com>
date Fri, 03 Mar 2017 16:19:41 +0100
parents 437fad4a47e1
children b7280c6c6b9a
line wrap: on
line diff
--- a/+scheme/Schrodinger1dCurve.m	Sat Feb 25 12:44:01 2017 +0100
+++ b/+scheme/Schrodinger1dCurve.m	Fri Mar 03 16:19:41 2017 +0100
@@ -116,9 +116,9 @@
             switch type
                 % Dirichlet boundary condition
                 case {'D','d','dirichlet'}
-                    tau1 = s * 1i*d;
+                    tau1 = @(t) s * 1i*obj.Ji(p,p)^2*d;
                     tau2 = @(t) obj.Ji*(-1*s*obj.a(p,p) - abs(obj.a(p,p)))/4*e;
-                    closure = @(t) obj.Ji*obj.Hi*tau1*e' + obj.Hi*tau2(obj.a)*e';
+                    closure = @(t) obj.Hi*tau1(t)*e' + obj.Hi*tau2(obj.a)*e';
                     
                     switch class(data)
                         case 'double'
@@ -141,15 +141,15 @@
             [e_u,d_u,s_u,p_u] = obj.get_boundary_ops(boundary);
             [e_v,d_v,s_v,p_v] = neighbour_scheme.get_boundary_ops(neighbour_boundary);
             
-            a1 =  -s_u* 1/2 * 1i ;
-            b1 =  a1';
-            gamma = @(a) -s_u*a(p_u,p_u)/2*e_u;
+            a1 =   s_u* 1/2 * 1i ;
+            b1 =   -s_u* 1/2 * 1i;
+            gamma = @(a) -obj.Ji*s_u*a(p_u,p_u)/2*e_u;
             
-            tau = b1*d_u;
-            sig = -a1*e_u;
+            tau = @(t) a1*obj.Ji(p_u,p_u)^2*d_u;
+            sig = b1*e_u;
             
-            closure = @(t) obj.Hi * (tau*e_u' + sig*d_u' + gamma(obj.a)*e_u');
-            penalty = @(t) obj.Hi * (-tau*e_v' - sig*d_v' - gamma(obj.a)*e_v');
+            closure = @(t) obj.Hi * (tau(t)*e_u' + sig*obj.Ji(p_u,p_u)^2*d_u' + gamma(obj.a)*e_u');
+            penalty = @(t) obj.Hi * (-tau(t)*e_v' - sig*obj.Ji(p_u,p_u)^2*d_v' - gamma(obj.a)*e_v');
         end
         
         % Ruturns the boundary ops and sign for the boundary specified by the string boundary.