Mercurial > repos > public > sbplib
changeset 30:cd2e28c5ecd2
Corrected parameter treatment in nonlin timesteppers.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 28 Sep 2015 13:23:52 +0200 |
parents | 32b39dc44474 |
children | d1f9dd55a2b0 |
files | +time/CdiffNonlin.m +time/Rk4SecondOrderNonlin.m |
diffstat | 2 files changed, 15 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
diff -r 32b39dc44474 -r cd2e28c5ecd2 +time/CdiffNonlin.m --- a/+time/CdiffNonlin.m Mon Sep 28 08:47:28 2015 +0200 +++ b/+time/CdiffNonlin.m Mon Sep 28 13:23:52 2015 +0200 @@ -14,8 +14,16 @@ methods function obj = CdiffNonlin(D, E, S, k, t0,n0, v, v_prev) m = size(D(v),1); - default_arg('E',@(v)sparse(m,m)); - default_arg('S',@(v,t)sparse(m,1)); + default_arg('E',0); + default_arg('S',0); + + if isnumeric(S) + S = @(v,t)S; + end + + if isnumeric(E) + E = @(v)E; + end % m = size(D,1); @@ -45,7 +53,7 @@ function obj = step(obj) D = obj.D(obj.v); E = obj.E(obj.v); - S = obj.S(obj.v); + S = obj.S(obj.v,obj.t); m = size(D,1); I = speye(m);
diff -r 32b39dc44474 -r cd2e28c5ecd2 +time/Rk4SecondOrderNonlin.m --- a/+time/Rk4SecondOrderNonlin.m Mon Sep 28 08:47:28 2015 +0200 +++ b/+time/Rk4SecondOrderNonlin.m Mon Sep 28 13:23:52 2015 +0200 @@ -19,12 +19,12 @@ default_arg('S',0); default_arg('E',0); - if isnumeric(S) && S == 0 - S = @(v,t)0; + if isnumeric(S) + S = @(v,t)S; end - if isnumeric(E) && E == 0 - E = @(v,t)0; + if isnumeric(E) + E = @(v)E; end obj.k = k;