Mercurial > repos > public > sbplib
comparison +scheme/LaplaceCurvilinearVirtaMin.m @ 1138:afd06a84b69c feature/laplace_curvilinear_test
Bugfixes in VirtaMin.interfaceStandard()
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Mon, 10 Jun 2019 14:39:14 +0200 |
parents | 2ff1f366e64a |
children | 91058813b6e7 |
comparison
equal
deleted
inserted
replaced
1137:2ff1f366e64a | 1138:afd06a84b69c |
---|---|
386 mx = v.m(1); | 386 mx = v.m(1); |
387 my = v.m(2); | 387 my = v.m(2); |
388 bp = v.bp; | 388 bp = v.bp; |
389 | 389 |
390 lambda_mat = reshape(lambda_v, my, mx); | 390 lambda_mat = reshape(lambda_v, my, mx); |
391 switch boundary | 391 switch neighbour_boundary |
392 case 'w' | 392 case 'w' |
393 lambda_min = min(lambda_mat(:,1:bp), [], 2); | 393 lambda_min = min(lambda_mat(:,1:bp), [], 2); |
394 lambda_mat = repmat(lambda_min, 1, mx); | 394 lambda_mat = repmat(lambda_min, 1, mx); |
395 case 'e' | 395 case 'e' |
396 lambda_min = min(lambda_mat(:,end-bp+1:end), [], 2); | 396 lambda_min = min(lambda_mat(:,end-bp+1:end), [], 2); |
404 end | 404 end |
405 lambda_min_v = lambda_mat(:); | 405 lambda_min_v = lambda_mat(:); |
406 | 406 |
407 switch boundary | 407 switch boundary |
408 case {'w', 'e'} | 408 case {'w', 'e'} |
409 b1_u = gamm_u*u.lambda_min_u(I_u)./u.a11(I_u).^2; | 409 b1_u = gamm_u*lambda_min_u(I_u)./u.a11(I_u).^2; |
410 b2_u = h11_u *u.lambda(I_u)./u.a22(I_u).^2; | 410 b2_u = h11_u *lambda_u(I_u)./u.a22(I_u).^2; |
411 case {'s', 'n'} | 411 case {'s', 'n'} |
412 b1_u = h11_u *u.lambda(I_u)./u.a11(I_u).^2; | 412 b1_u = h11_u *lambda_u(I_u)./u.a11(I_u).^2; |
413 b2_u = gamm_u*u.lambda_min(I_u)./u.a22(I_u).^2; | 413 b2_u = gamm_u*lambda_min_u(I_u)./u.a22(I_u).^2; |
414 end | 414 end |
415 | 415 |
416 switch neighbour_boundary | 416 switch neighbour_boundary |
417 case {'w', 'e'} | 417 case {'w', 'e'} |
418 b1_v = gamm_v*v.lambda_min_v(I_v)./v.a11(I_v).^2; | 418 b1_v = gamm_v*lambda_min_v(I_v)./v.a11(I_v).^2; |
419 b2_v = h11_v *v.lambda(I_v)./v.a22(I_v).^2; | 419 b2_v = h11_v *lambda_v(I_v)./v.a22(I_v).^2; |
420 case {'s', 'n'} | 420 case {'s', 'n'} |
421 b1_v = h11_v *v.lambda(I_v)./v.a11(I_v).^2; | 421 b1_v = h11_v *lambda_v(I_v)./v.a11(I_v).^2; |
422 b2_v = gamm_v*v.lambda_min(I_v)./v.a22(I_v).^2; | 422 b2_v = gamm_v*lambda_min_v(I_v)./v.a22(I_v).^2; |
423 end | 423 end |
424 | 424 |
425 tau1 = -1./(4*b1_u) -1./(4*b1_v) -1./(4*b2_u) -1./(4*b2_v); | 425 tau1 = -1./(4*b1_u) -1./(4*b1_v) -1./(4*b2_u) -1./(4*b2_v); |
426 tau1 = tuning * spdiag(tau1); | 426 tau1 = tuning * spdiag(tau1); |
427 tau2 = 1/2; | 427 tau2 = 1/2; |