diff +scheme/Utux2D.m @ 595:2a2f34778ded feature/utux2D

Make Utux2D work
author Martin Almquist <malmquist@stanford.edu>
date Tue, 26 Sep 2017 13:26:25 -0700
parents 39554f2de783
children 0f9d20dbb7ce
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';