Mercurial > repos > public > sbplib
changeset 100:ce4eecbcb915
Made char BC in euler more robust.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 04 Dec 2015 16:35:30 +0100 |
parents | 19d0c9325a3e |
children | 9933169d2651 |
files | +scheme/Euler1d.m |
diffstat | 1 files changed, 2 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/+scheme/Euler1d.m Wed Dec 02 16:21:16 2015 +0100 +++ b/+scheme/Euler1d.m Fri Dec 04 16:35:30 2015 +0100 @@ -283,7 +283,8 @@ Lambda = [u, u+c, u-c]; p_in = find(s*Lambda < 0); - p_ot = find(s*Lambda >= 0); + p_ot = 1:3; + p_ot(p_in) = []; p = [p_in p_ot]; pt(p) = 1:length(p); @@ -397,29 +398,6 @@ function closure = boundary_condition_wall(obj,boundary) [e_s,e_S,s] = obj.get_boundary_ops(boundary); - % v = 0 corresponds to - % L = [0 1 0]; - % g = 0 - % - % Tp = - % R = -(u-c)/(u+c) - - % tau = alpha * (u+c) - % (alpha+1)(u+c) + 1/4* alpha^2|u-c| <= 0 - % 4*(alpha+1)(u+c) + alpha^2|u-c| <= 0 - % 4 * (alpha+1)(u+c) + alpha^2|u| + alpha^2*c <= 0 - % |u|*(sgn(u)*4 + sgn(u)*4*alpha + alpha^2) + c*(4 + 4alpha + alpha^2) <= 0 - % |u|*(alpha^2 + 4*sgn(u)*alpha + 4*sgn(u)) + c*(alpha+2)^2 <= 0 - % |u|*[(alpha + 2*sgn(u))^2 - 4*(sgn(u)-1)] + c*(alpha+2)^2 <= 0 - - - % om vi låtsas att u = 0: - % (alpha+1)c + 1/4 * alpha^2*c <= 0 - % alpha^2 + 4*alpha +4 <= 0 - % (alpha + 2)^2 <= 0 - % alpha = -2 gives tau = -2*c; - - % Vill vi sätta penalty på karateristikan som är nära noll också eller vill % vi låta den vara fri?