Mercurial > repos > public > sbplib
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