Mercurial > repos > public > sbplib
diff +time/SBPInTime.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/SBPInTime.m Wed Apr 10 22:22:46 2019 +0200 +++ b/+time/SBPInTime.m Wed Apr 10 22:40:55 2019 +0200 @@ -3,7 +3,7 @@ % Implemented for v_t = A*v + f(t) % % Each "step" takes one block step and thus advances - % k = k_local*(blockSize-1) in time. + % dt = k_local*(blockSize-1) in time. properties M % System matrix L,U,P,Q % LU factorization of M @@ -12,7 +12,7 @@ penalty f k_local % step size within a block - k % Time size of a block k/(blockSize-1) = k_local + dt % Time size of a block dt/(blockSize-1) = k_local t v m @@ -23,7 +23,7 @@ end methods - function obj = SBPInTime(A, f, k, t0, v0, TYPE, order, blockSize) + function obj = SBPInTime(A, f, dt, t0, v0, TYPE, order, blockSize) default_arg('TYPE','gauss'); @@ -37,8 +37,8 @@ obj.A = A; obj.f = f; - obj.k_local = k/(blockSize-1); - obj.k = k; + obj.k_local = dt/(blockSize-1); + obj.dt = dt; obj.blockSize = blockSize; obj.t = t0; obj.m = length(v0); @@ -47,13 +47,13 @@ %==== Build the time discretization matrix =====% switch TYPE case 'equidistant' - ops = sbp.D2Standard(blockSize,{0,obj.k},order); + ops = sbp.D2Standard(blockSize,{0,obj.dt},order); case 'optimal' - ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order); + ops = sbp.D1Nonequidistant(blockSize,{0,obj.dt},order); case 'minimal' - ops = sbp.D1Nonequidistant(blockSize,{0,obj.k},order,'minimal'); + ops = sbp.D1Nonequidistant(blockSize,{0,obj.dt},order,'minimal'); case 'gauss' - ops = sbp.D1Gauss(blockSize,{0,obj.k}); + ops = sbp.D1Gauss(blockSize,{0,obj.dt}); end D1 = ops.D1; @@ -99,7 +99,7 @@ obj.penalty, obj.f, obj.blockSize,... obj.Et_r,... obj.L, obj.U, obj.P, obj.Q); - obj.t = obj.t + obj.k; + obj.t = obj.t + obj.dt; obj.n = obj.n + 1; end end