changeset 427:a613960a157b feature/quantumTriangles

merged with feature/beams
author Ylva Rydin <ylva.rydin@telia.com>
date Thu, 26 Jan 2017 15:59:25 +0100
parents 29944ea7674b (diff) 359861563866 (current diff)
children a39fe3bcbd95
files +grid/Curve.m +grid/Ti.m +grid/equal_step_size.m +grid/old/concat_curve.m +grid/old/curve_discretise.m +grid/old/curve_interp.m +grid/old/max_h.m +grid/old/min_h.m +grid/old/plot_shape.m +grid/old/shape.m +grid/old/shape_discretise.m +grid/old/shape_linesegments.m +grid/old/triang_interp.m +grid/old/triang_interp_pts.m +grid/old/triang_map.m +grid/old/triang_plot_interp.m +grid/old/triang_show.m +grid/place_label.m +multiblock/gridVector1d.m +multiblock/gridVector2d.m +multiblock/solutionVector2cell.m +sbp/+implementations/d4_compatible_halfvariable_2.m +sbp/+implementations/d4_compatible_halfvariable_4.m +sbp/+implementations/d4_compatible_halfvariable_6.m +sbp/D4CompatibleVariable.m cell2sparse.m cell2vector.m vector2cell.m
diffstat 1 files changed, 14 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/+scheme/Schrodinger.m	Thu Jan 26 15:17:38 2017 +0100
+++ b/+scheme/Schrodinger.m	Thu Jan 26 15:59:25 2017 +0100
@@ -23,25 +23,24 @@
         % Solving SE in the form u_t = i*u_xx -i*V;
         function obj = Schrodinger(m,xlim,order,V)
             default_arg('V',0);
-
-            [x, h] = util.get_grid(xlim{:},m);
-
-            ops = sbp.Ordinary(m,h,order);
-
-            obj.D2 = sparse(ops.derivatives.D2);
-            obj.H =  sparse(ops.norms.H);
-            obj.Hi = sparse(ops.norms.HI);
-            obj.M =  sparse(ops.norms.M);
-            obj.e_l = sparse(ops.boundary.e_1);
-            obj.e_r = sparse(ops.boundary.e_m);
-            obj.d1_l = sparse(ops.boundary.S_1);
-            obj.d1_r = sparse(ops.boundary.S_m);
+            ops = sbp.D2Standard(m,xlim,order);
+            
+            obj.x=ops.x;
+            obj.h=ops.h;
+            obj.D2 = ops.D2;
+            obj.H =  ops.H;
+            obj.Hi = ops.HI;
+            obj.M =  ops.M;
+            obj.e_l = ops.e_l;
+            obj.e_r = ops.e_r;
+            obj.d1_l = ops.d1_l;
+            obj.d1_r = ops.d1_r;
 
 
             if isa(V,'function_handle')
-                V_vec = V(x);
+                V_vec = V(obj.x);
             else
-                V_vec = x*0 + V;
+                V_vec = obj.x*0 + V;
             end
 
             V_mat = spdiags(V_vec,0,m,m);
@@ -49,10 +48,7 @@
             obj.D = 1i * obj.D2 - 1i * V_mat;
 
             obj.m = m;
-            obj.h = h;
             obj.order = order;
-
-            obj.x = x;
         end