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