|
9 | 9 | methods |
10 | 10 | function soly = convert2grid(~, soly) |
11 | 11 |
|
12 | | - soly = real(ifft(soly)); |
| 12 | + soly = abs(ifft(soly)); |
13 | 13 |
|
14 | 14 | end |
15 | 15 |
|
16 | 16 | end |
17 | 17 |
|
18 | 18 | methods (Access = protected) |
19 | 19 | function onSettingsChanged(obj) |
20 | | - |
21 | | - L = obj.Parameters.L; |
22 | | - |
23 | 20 | N = obj.NumVars; |
24 | 21 |
|
25 | | - div = L/(2*pi); |
| 22 | + k = 2 * pi * [0:(N/2 - 1), 0, (-N/2 + 1):-1].' / obj.Parameters.L; |
| 23 | + ik = 1i * k; |
| 24 | + k24 = k.^2 - k.^4; |
26 | 25 |
|
27 | | - % note that k already has "i" in it |
28 | | - k = (1i*[0:(N/2 - 1), 0, (-N/2 + 1):-1].'/div); |
29 | | - k2 = k.^2; |
30 | | - k4 = k.^4; |
31 | | - k24 = k2 + k4; |
32 | | - |
33 | | - obj.Rhs = otp.Rhs(@(t, u) otp.kuramotosivashinsky.f(t, u, k, k24), ... |
| 26 | + obj.Rhs = otp.Rhs(@(t, u) otp.kuramotosivashinsky.f(t, u, ik, k24), ... |
34 | 27 | otp.Rhs.FieldNames.Jacobian, ... |
35 | | - @(t, u) otp.kuramotosivashinsky.jac(t,u, k, k24), ... |
| 28 | + @(t, u) otp.kuramotosivashinsky.jac(t,u, ik, k24), ... |
36 | 29 | otp.Rhs.FieldNames.JacobianVectorProduct, ... |
37 | | - @(t, u, v) otp.kuramotosivashinsky.jvp(t, u, v, k, k24), ... |
| 30 | + @(t, u, v) otp.kuramotosivashinsky.jvp(t, u, v, ik, k24), ... |
38 | 31 | otp.Rhs.FieldNames.JacobianAdjointVectorProduct, ... |
39 | | - @(t, u, v) otp.kuramotosivashinsky.javp(t, u, v, k, k24)); |
40 | | - |
| 32 | + @(t, u, v) otp.kuramotosivashinsky.javp(t, u, v, ik, k24)); |
41 | 33 | end |
42 | 34 |
|
43 | 35 | function validateNewState(obj, newTimeSpan, newY0, newParameters) |
|
0 commit comments