|
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