diff +time/CdiffNonlin.m @ 1113:47e86b5270ad feature/timesteppers

Change name of property k to dt in time.Timestepper
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 10 Apr 2019 22:40:55 +0200
parents f5e14e5986b5
children
line wrap: on
line diff
--- a/+time/CdiffNonlin.m	Wed Apr 10 22:22:46 2019 +0200
+++ b/+time/CdiffNonlin.m	Wed Apr 10 22:40:55 2019 +0200
@@ -3,7 +3,7 @@
         D
         E
         S
-        k
+        dt
         t
         v
         v_prev
@@ -12,7 +12,7 @@
 
 
     methods
-        function obj = CdiffNonlin(D, E, S, k, t0,n0, v, v_prev)
+        function obj = CdiffNonlin(D, E, S, dt, t0,n0, v, v_prev)
             m = size(D(v),1);
             default_arg('E',0);
             default_arg('S',0);
@@ -33,7 +33,7 @@
             obj.D = D;
             obj.E = E;
             obj.S = S;
-            obj.k = k;
+            obj.dt = dt;
             obj.t = t0;
             obj.n = n0;
             obj.v = v;
@@ -46,7 +46,7 @@
         end
 
         function [vt,t] = getVt(obj)
-            vt = (obj.v-obj.v_prev)/obj.k; % Could be improved using u_tt = f(u))
+            vt = (obj.v-obj.v_prev)/obj.dt; % Could be improved using u_tt = f(u))
             t = obj.t;
         end
 
@@ -65,12 +65,12 @@
 
 
             %% Calculate matrices need for the timestep
-            % Before optimization:  A =  1/k^2 * I - 1/(2*k)*E;
-            k = obj.k;
+            % Before optimization:  A =  1/dt^2 * I - 1/(2*dt)*E;
+            dt = obj.dt;
 
-            Aj = 1/k^2 * I(j,j) - 1/(2*k)*E(j,j);
-            B =  2/k^2 * I + D;
-            C = -1/k^2 * I - 1/(2*k)*E;
+            Aj = 1/dt^2 * I(j,j) - 1/(2*dt)*E(j,j);
+            B =  2/dt^2 * I + D;
+            C = -1/dt^2 * I - 1/(2*dt)*E;
 
             %% Take the timestep
             v = obj.v;
@@ -81,13 +81,13 @@
 
             % Before optimization:  obj.v = A\b;
 
-            obj.v(i) = k^2*b(i);
+            obj.v(i) = dt^2*b(i);
             obj.v(j) =  Aj\b(j);
 
             obj.v_prev = v;
 
             %% Update state of the timestepper
-            obj.t = obj.t + obj.k;
+            obj.t = obj.t + obj.dt;
             obj.n = obj.n + 1;
         end
     end