changeset 91:2102af217134

Added inflow bc for rho
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 30 Nov 2015 15:23:09 +0100
parents 53fe4b64f65e
children ed7c7d651428
files +scheme/Euler1d.m
diffstat 1 files changed, 26 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/+scheme/Euler1d.m	Mon Nov 30 12:20:22 2015 +0100
+++ b/+scheme/Euler1d.m	Mon Nov 30 15:23:09 2015 +0100
@@ -170,7 +170,9 @@
                     closure = obj.boundary_condition_inflow(boundary,varargin{:});
                 case 'outflow'
                     closure = obj.boundary_condition_outflow(boundary,varargin{:});
-                    case 'outflow_rho'
+                case 'inflow_rho'
+                    closure = obj.boundary_condition_inflow_rho(boundary,varargin{:});
+                case 'outflow_rho'
                     closure = obj.boundary_condition_outflow_rho(boundary,varargin{:});
                 case 'char'
                     closure = obj.boundary_condition_char(boundary,varargin{:});
@@ -317,6 +319,29 @@
 
         end
 
+        function closure = boundary_condition_inflow_rho(obj, boundary, rho_data, v_data)
+            [~,~,s] = obj.get_boundary_ops(boundary);
+
+             switch s
+                case -1
+                    p_in = [1 2];
+                case 1
+                    p_in = [1 3];
+            end
+
+            a = obj.gamma - 1;
+            L = @(rho,~,~)[
+                0  1/rho 0;
+                1      0 0;
+            ];
+            g = @(t)[
+                v_data(t);
+                rho_data(t);
+            ];
+
+            closure = boundary_condition_L(obj, boundary, L, g, p_in);
+        end
+
         function closure = boundary_condition_outflow_rho(obj, boundary, rho_data)
             [~,~,s] = obj.get_boundary_ops(boundary);