Mercurial > repos > public > sbplib
diff +scheme/Burgers1d.m @ 1153:635386c073b9 feature/rv
Fix bug in Burgers schemes resulting in incorrect wave speed.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Tue, 05 Mar 2019 10:57:26 +0100 |
parents | 0a5503a08a36 |
children | f6c571d8f22f |
line wrap: on
line diff
--- a/+scheme/Burgers1d.m Tue Mar 05 10:53:34 2019 +0100 +++ b/+scheme/Burgers1d.m Tue Mar 05 10:57:26 2019 +0100 @@ -32,17 +32,17 @@ DissOp = (ops.Dm - ops.Dp)/2; switch pde_form case 'skew-symmetric' - obj.D = @(v) -(1/3*obj.D1*v.*v + (1/3*spdiag(v)*obj.D1 + fluxSplitting(v)*DissOp)*v); + obj.D = @(v) -(1/3*obj.D1*(v.*v) + (1/3*spdiag(v)*obj.D1 + fluxSplitting(v)*DissOp)*v); case 'conservative' - obj.D = @(v) -(1/2*obj.D1*v.*v + fluxSplitting(v)*DissOp*v); + obj.D = @(v) -(1/2*obj.D1*(v.*v) + fluxSplitting(v)*DissOp*v); end else obj.D1 = ops.D1; switch pde_form case 'skew-symmetric' - obj.D = @(v) -(1/3*obj.D1*v.*v + 1/3*spdiag(v)*obj.D1*v); + obj.D = @(v) -(1/3*obj.D1*(v.*v) + 1/3*spdiag(v)*obj.D1*v); case 'conservative' - obj.D = @(v) -1/2*obj.D1*v.*v; + obj.D = @(v) -1/2*obj.D1*(v.*v); end end obj.grid = g;