Mercurial > repos > public > sbplib
comparison +scheme/Schrodinger2dCurve.m @ 701:e89715fe6a6e feature/optim
add imaginary part to closure in hamiltonian
author | Ylva Rydin <ylva.rydin@telia.com> |
---|---|
date | Thu, 19 Oct 2017 09:48:18 +0200 |
parents | de7f665e1d00 |
children | acb58769610e |
comparison
equal
deleted
inserted
replaced
700:de7f665e1d00 | 701:e89715fe6a6e |
---|---|
128 % not skew sym disc | 128 % not skew sym disc |
129 | 129 |
130 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); | 130 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); |
131 end | 131 end |
132 | 132 |
133 function [Hamiltonian,n] = h_fun(obj,t) | 133 function [Hamiltonian] = h_fun(obj,t) |
134 Hamiltonian = -obj.c^2*(obj.DUU + obj.DUV + obj.DVU + obj.DVV)*sqrt(obj.Ji); | 134 Hamiltonian = -sqrt(obj.Ji)*(obj.c^2*(obj.DUU + obj.DUV + obj.DVU + obj.DVV))*sqrt(obj.Ji); |
135 end | 135 end |
136 | 136 |
137 function [D ]= variable_update(obj,t) | 137 function [D ]= variable_update(obj,t) |
138 % Metric derivatives | 138 % Metric derivatives |
139 if(obj.t_up == t) | 139 if(obj.t_up == t) |
225 penalty_parameter_2 = @(t) halfnorm_inv_n*e*tau2(t); | 225 penalty_parameter_2 = @(t) halfnorm_inv_n*e*tau2(t); |
226 | 226 |
227 closure = @(t) sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e' + penalty_parameter_2(t)*e')*sqrt(obj.Ji); | 227 closure = @(t) sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e' + penalty_parameter_2(t)*e')*sqrt(obj.Ji); |
228 penalty = @(t) -sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e' + penalty_parameter_2(t)*e')*sqrt(obj.Ji); | 228 penalty = @(t) -sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e' + penalty_parameter_2(t)*e')*sqrt(obj.Ji); |
229 | 229 |
230 closureHamiltonian = @(t) sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e')*sqrt(obj.Ji); | 230 closureHamiltonian = @(t) 1i*sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e')*sqrt(obj.Ji); |
231 penaltyHamiltonian = @(t) -sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e')*sqrt(obj.Ji); | 231 penaltyHamiltonian = @(t) -1i*sqrt(obj.Ji)*(obj.c^2 * penalty_parameter_1(t)*e')*sqrt(obj.Ji); |
232 | 232 |
233 end | 233 end |
234 | 234 |
235 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) | 235 function [closure, penalty] = interface(obj,boundary,neighbour_scheme,neighbour_boundary) |
236 % u denotes the solution in the own domain | 236 % u denotes the solution in the own domain |