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