Mercurial > repos > public > sbplib
changeset 595:2a2f34778ded feature/utux2D
Make Utux2D work
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 26 Sep 2017 13:26:25 -0700 |
parents | a2ddaccf5fd1 |
children | 8a1c36bbb977 |
files | +scheme/Utux2D.m |
diffstat | 1 files changed, 14 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/+scheme/Utux2D.m Mon Sep 18 20:06:25 2017 +0200 +++ b/+scheme/Utux2D.m Tue Sep 26 13:26:25 2017 -0700 @@ -9,7 +9,8 @@ a % Wave speed a = [a1, a2]; H % Discrete norm - Hi, Hx, Hy, Hxi, Hyi + H_x, H_y % Norms in the x and y directions + Hi, Hx, Hy, Hxi, Hyi % Kroneckered norms % Derivatives Dx, Dy @@ -34,8 +35,8 @@ m_y = m(2); m_tot = g.N(); - xlim = g.x{1}; - ylim = g.x{2}; + xlim = {g.x{1}(1), g.x{1}(end)}; + ylim = {g.x{2}(1), g.x{2}(end)}; obj.grid = g; % Operator sets @@ -49,6 +50,9 @@ Hy = ops_y.H; Hxi = ops_x.HI; Hyi = ops_y.HI; + + obj.H_x = Hx; + obj.H_y = Hy; obj.H = kron(Hx,Hy); obj.Hi = kron(Hxi,Hyi); obj.Hx = kron(Hx,Iy); @@ -71,7 +75,7 @@ obj.m = m; obj.h = [ops_x.h ops_y.h]; obj.order = order; - + obj.a = a; obj.D = -(a(1)*obj.Dx + a(2)*obj.Dy); end @@ -88,11 +92,11 @@ sigma = -1; % Scalar penalty parameter switch boundary case {'w','W','west','West'} - tau = sigma*obj.a(1)*obj.e_w*obj.Hy; + tau = sigma*obj.a(1)*obj.e_w*obj.H_y; closure = obj.Hi*tau*obj.e_w'; case {'s','S','south','South'} - tau = sigma*pbj.a(2)*obj.e_s*obj.Hx; + tau = sigma*obj.a(2)*obj.e_s*obj.H_x; closure = obj.Hi*tau*obj.e_s'; end penalty = -obj.Hi*tau; @@ -119,16 +123,16 @@ switch boundary case {'w','W','west','West'} - tau = sigma_ds*obj.a(1)*obj.e_w*obj.Hy; + tau = sigma_ds*obj.a(1)*obj.e_w*obj.H_y; closure = obj.Hi*tau*obj.e_w'; case {'e','E','east','East'} - tau = sigma_us*obj.a(1)*obj.e_e*obj.Hy; + tau = sigma_us*obj.a(1)*obj.e_e*obj.H_y; closure = obj.Hi*tau*obj.e_e'; case {'s','S','south','South'} - tau = sigma_ds*obj.a(2)*obj.e_s*obj.Hx; + tau = sigma_ds*obj.a(2)*obj.e_s*obj.H_x; closure = obj.Hi*tau*obj.e_s'; case {'n','N','north','North'} - tau = sigma_us*obj.a(2)*obj.e_n*obj.Hx; + tau = sigma_us*obj.a(2)*obj.e_n*obj.H_x; closure = obj.Hi*tau*obj.e_n'; end penalty = -obj.Hi*tau*e_neighbour';