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);