Mercurial > repos > public > sbplib
changeset 698:0122cbe2e6d3 feature/optim
Add hamiltonian
author | Ylva Rydin <ylva.rydin@telia.com> |
---|---|
date | Fri, 13 Oct 2017 09:16:33 +0200 |
parents | 8434063ed162 |
children | 8f1eae1450b2 |
files | +scheme/Schrodinger2dCurve.m |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/+scheme/Schrodinger2dCurve.m Fri Oct 06 13:51:21 2017 +0200 +++ b/+scheme/Schrodinger2dCurve.m Fri Oct 13 09:16:33 2017 +0200 @@ -38,6 +38,7 @@ m_tot, m_u, m_v p Ji, J + Hamiltonian end methods @@ -67,7 +68,7 @@ obj.D1_u = ops_u.D1; obj.D2_u = ops_u.D2; - + H_u = ops_u.H; Hi_u = ops_u.HI; e_l_u = ops_u.e_l; @@ -115,10 +116,11 @@ obj.h = [h_u h_v]; obj.order = order; obj.D = @(t)obj.d_fun(t); + obj.Hamiltonian = @(t)obj.h_fun(t); obj.variable_update(0); end - function [D] = d_fun(obj,t) + function [D,n] = d_fun(obj,t) % obj.update_vairables(t); In driscretization? % D = obj.Ji*(-1/2*(obj.b1*obj.Du-obj.b1_u+obj.Du*obj.b1) - % 1/2*(obj.b2*obj.Dv - obj.b2_v +obj.Dv*obj.b2) + @@ -128,6 +130,9 @@ D = sqrt(obj.Ji)*(-1/2*(obj.b1*obj.Du + obj.Du*obj.b1) - 1/2*(obj.b2*obj.Dv + obj.Dv*obj.b2) + 1i*obj.c^2*(obj.DUU + obj.DUV + obj.DVU + obj.DVV))*sqrt(obj.Ji); end + function [Hamiltonian,n] = h_fun(obj,t) + Hamiltonian = obj.c^2*(obj.DUU + obj.DUV + obj.DVU + obj.DVV)*sqrt(obj.Ji); + end function [D ]= variable_update(obj,t) % Metric derivatives