Mercurial > repos > public > sbplib
comparison +time/CdiffNonlin.m @ 30:cd2e28c5ecd2
Corrected parameter treatment in nonlin timesteppers.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 28 Sep 2015 13:23:52 +0200 |
parents | b18d3d201a71 |
children | d1f9dd55a2b0 |
comparison
equal
deleted
inserted
replaced
29:32b39dc44474 | 30:cd2e28c5ecd2 |
---|---|
12 | 12 |
13 | 13 |
14 methods | 14 methods |
15 function obj = CdiffNonlin(D, E, S, k, t0,n0, v, v_prev) | 15 function obj = CdiffNonlin(D, E, S, k, t0,n0, v, v_prev) |
16 m = size(D(v),1); | 16 m = size(D(v),1); |
17 default_arg('E',@(v)sparse(m,m)); | 17 default_arg('E',0); |
18 default_arg('S',@(v,t)sparse(m,1)); | 18 default_arg('S',0); |
19 | |
20 if isnumeric(S) | |
21 S = @(v,t)S; | |
22 end | |
23 | |
24 if isnumeric(E) | |
25 E = @(v)E; | |
26 end | |
19 | 27 |
20 | 28 |
21 % m = size(D,1); | 29 % m = size(D,1); |
22 % default_arg('E',sparse(m,m)); | 30 % default_arg('E',sparse(m,m)); |
23 % default_arg('S',sparse(m,1)); | 31 % default_arg('S',sparse(m,1)); |
43 end | 51 end |
44 | 52 |
45 function obj = step(obj) | 53 function obj = step(obj) |
46 D = obj.D(obj.v); | 54 D = obj.D(obj.v); |
47 E = obj.E(obj.v); | 55 E = obj.E(obj.v); |
48 S = obj.S(obj.v); | 56 S = obj.S(obj.v,obj.t); |
49 | 57 |
50 m = size(D,1); | 58 m = size(D,1); |
51 I = speye(m); | 59 I = speye(m); |
52 | 60 |
53 %% Calculate for which indices we need to solve system of equations | 61 %% Calculate for which indices we need to solve system of equations |