Mercurial > repos > public > sbplib
annotate +time/ExplicitRungeKuttaDiscreteData.m @ 1333:0aefcb30cab4 feature/D2_boundary_opt
Add support for RK6
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Sat, 07 May 2022 10:30:59 +0200 |
parents | 7963a9cab637 |
children |
rev | line source |
---|---|
856
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
1 classdef ExplicitRungeKuttaDiscreteData < time.Timestepper |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
2 properties |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
3 D |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
4 S % Function handle for time-dependent data |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
5 data % Matrix of data vectors, one column per stage |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
6 k |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
7 t |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
8 v |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
9 m |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
10 n |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
11 order |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
12 a, b, c, s % Butcher tableau |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
13 K % Stage rates |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
14 U % Stage approximations |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
15 T % Stage times |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
16 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
17 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
18 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
19 methods |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
20 function obj = ExplicitRungeKuttaDiscreteData(D, S, data, k, t0, v0, order) |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
21 default_arg('order', 4); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
22 default_arg('S', []); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
23 default_arg('data', []); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
24 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
25 obj.D = D; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
26 obj.S = S; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
27 obj.k = k; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
28 obj.t = t0; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
29 obj.v = v0; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
30 obj.m = length(v0); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
31 obj.n = 0; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
32 obj.order = order; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
33 obj.data = data; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
34 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
35 switch order |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
36 case 4 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
37 [obj.a, obj.b, obj.c, obj.s] = time.rkparameters.rk4(); |
1333
0aefcb30cab4
Add support for RK6
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1120
diff
changeset
|
38 case 6 |
0aefcb30cab4
Add support for RK6
Vidar Stiernström <vidar.stiernstrom@it.uu.se>
parents:
1120
diff
changeset
|
39 [obj.a, obj.b, obj.c, obj.s] = time.rkparameters.rk6(); |
856
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
40 otherwise |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
41 error('That RK method is not available'); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
42 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
43 |
1120
7963a9cab637
In RungeKuttaDiscreteData, make K and U non-sparse to improve performance by roughly a factor of 3.
Martin Almquist <malmquist@stanford.edu>
parents:
859
diff
changeset
|
44 obj.K = zeros(obj.m, obj.s); |
7963a9cab637
In RungeKuttaDiscreteData, make K and U non-sparse to improve performance by roughly a factor of 3.
Martin Almquist <malmquist@stanford.edu>
parents:
859
diff
changeset
|
45 obj.U = zeros(obj.m, obj.s); |
856
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
46 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
47 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
48 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
49 function [v,t,U,T,K] = getV(obj) |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
50 v = obj.v; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
51 t = obj.t; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
52 U = obj.U; % Stage approximations in previous time step. |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
53 T = obj.T; % Stage times in previous time step. |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
54 K = obj.K; % Stage rates in previous time step. |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
55 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
56 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
57 function [a,b,c,s] = getTableau(obj) |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
58 a = obj.a; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
59 b = obj.b; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
60 c = obj.c; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
61 s = obj.s; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
62 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
63 |
859
4c7532db42cd
Add method getTimeStepQuadrature to RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
857
diff
changeset
|
64 % Returns quadrature weights for stages in one time step |
4c7532db42cd
Add method getTimeStepQuadrature to RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
857
diff
changeset
|
65 function quadWeights = getTimeStepQuadrature(obj) |
4c7532db42cd
Add method getTimeStepQuadrature to RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
857
diff
changeset
|
66 [~, b] = obj.getTableau(); |
4c7532db42cd
Add method getTimeStepQuadrature to RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
857
diff
changeset
|
67 quadWeights = obj.k*b; |
4c7532db42cd
Add method getTimeStepQuadrature to RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
857
diff
changeset
|
68 end |
4c7532db42cd
Add method getTimeStepQuadrature to RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
857
diff
changeset
|
69 |
856
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
70 function obj = step(obj) |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
71 v = obj.v; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
72 a = obj.a; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
73 b = obj.b; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
74 c = obj.c; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
75 s = obj.s; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
76 S = obj.S; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
77 dt = obj.k; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
78 K = obj.K; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
79 U = obj.U; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
80 D = obj.D; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
81 data = obj.data; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
82 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
83 for i = 1:s |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
84 U(:,i) = v; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
85 for j = 1:i-1 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
86 U(:,i) = U(:,i) + dt*a(i,j)*K(:,j); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
87 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
88 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
89 K(:,i) = D*U(:,i); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
90 obj.T(i) = obj.t + c(i)*dt; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
91 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
92 % Data from continuous function and discrete time-points. |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
93 if ~isempty(S) |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
94 K(:,i) = K(:,i) + S(obj.T(i)); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
95 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
96 if ~isempty(data) |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
97 K(:,i) = K(:,i) + data(:,obj.n*s + i); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
98 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
99 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
100 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
101 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
102 obj.v = v + dt*K*b; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
103 obj.t = obj.t + dt; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
104 obj.n = obj.n + 1; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
105 obj.U = U; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
106 obj.K = K; |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
107 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
108 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
109 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
110 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
111 methods (Static) |
857
3c916a00033f
Bugfix in static getTimeStep method in RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
856
diff
changeset
|
112 function k = getTimeStep(lambda, order) |
3c916a00033f
Bugfix in static getTimeStep method in RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
856
diff
changeset
|
113 default_arg('order', 4); |
3c916a00033f
Bugfix in static getTimeStep method in RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
856
diff
changeset
|
114 switch order |
856
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
115 case 4 |
857
3c916a00033f
Bugfix in static getTimeStep method in RungeKuttaDiscreteData
Martin Almquist <malmquist@stanford.edu>
parents:
856
diff
changeset
|
116 k = time.rk4.get_rk4_time_step(lambda); |
856
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
117 otherwise |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
118 error('Time-step function not available for this order'); |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
119 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
120 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
121 end |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
122 |
ee4cfb37534d
Merge with feature/d1_staggered to get RK timestepper for discrete data.
Martin Almquist <malmquist@stanford.edu>
parents:
diff
changeset
|
123 end |