Mercurial > repos > public > sbplib
changeset 1225:68ee061639a1 feature/rv
Make sure matrices are sparse.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Wed, 06 Nov 2019 14:52:07 +0100 |
parents | 5271c4670733 |
children | |
files | +rv/+diffops/constructSymmetricD2.m +scheme/Burgers1d.m |
diffstat | 2 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
diff -r 5271c4670733 -r 68ee061639a1 +rv/+diffops/constructSymmetricD2.m --- a/+rv/+diffops/constructSymmetricD2.m Wed Nov 06 14:51:33 2019 +0100 +++ b/+rv/+diffops/constructSymmetricD2.m Wed Nov 06 14:52:07 2019 +0100 @@ -12,12 +12,12 @@ case 1 e_r = ops{1}.e_r; e_l = ops{1}.e_l; - Hi = ops{1}.HI; - B = e_r*e_r' - e_l*e_l'; + Hi = ops{1}.HI; if isequal(opSet,@sbp.D1Upwind) - Dm = ops{1}.Dm; - Dp = ops{1}.Dp; - M = Dm - Hi*B; + B = e_r*e_r' - e_l*e_l'; + Dm = sparse(ops{1}.Dm); + Dp = sparse(ops{1}.Dp); + M = sparse(Dm - Hi*B); D2 = @(Viscosity) M*Viscosity*Dp; else % TODO: Fix Viscosity not being vector
diff -r 5271c4670733 -r 68ee061639a1 +scheme/Burgers1d.m --- a/+scheme/Burgers1d.m Wed Nov 06 14:51:33 2019 +0100 +++ b/+scheme/Burgers1d.m Wed Nov 06 14:52:07 2019 +0100 @@ -28,8 +28,8 @@ ops = opSet(m, xlim, order); if (isequal(opSet, @sbp.D1Upwind)) - obj.D1 = (ops.Dp + ops.Dm)/2; - DissOp = (ops.Dm - ops.Dp)/2; + obj.D1 = sparse((ops.Dp + ops.Dm)/2); + DissOp = sparse((ops.Dm - ops.Dp)/2); switch pde_form case 'quasi-linear' obj.D = @(v) -((spdiag(v)*obj.D1 + fluxSplitting(v)*DissOp)*v); @@ -39,7 +39,7 @@ obj.D = @(v) -(1/2*obj.D1*(v.*v) + fluxSplitting(v)*DissOp*v); end else - obj.D1 = ops.D1; + obj.D1 = sparse(ops.D1); switch pde_form case 'quasi-linear' obj.D = @(v) -(spdiag(v)*obj.D1*v);