|
52 | 52 | linres = dolinsolve(integrator, cache.linsolve; A = repeat_step ? nothing : W, b = _vec(linsolve_tmp)) |
53 | 53 | veck₁ = _vec(k₁) |
54 | 54 |
|
55 | | - @.. veck₁ = vecu * neginvdtγ |
| 55 | + @.. veck₁ = linres.u * neginvdtγ |
56 | 56 | integrator.stats.nsolve += 1 |
57 | 57 |
|
58 | 58 | @.. u=uprev + dto2 * k₁ |
|
69 | 69 | @.. linsolve_tmp = f₁ - tmp |
70 | 70 |
|
71 | 71 | linres = dolinsolve(integrator, linres.cache; b = _vec(linsolve_tmp)) |
72 | | - vecu = _vec(linres.u) |
73 | 72 | veck₂ = _vec(k₂) |
74 | 73 |
|
75 | | - @.. veck₂ = vecu * neginvdtγ + veck₁ |
| 74 | + @.. veck₂ = linres.u * neginvdtγ + veck₁ |
76 | 75 | integrator.stats.nsolve += 1 |
77 | 76 |
|
78 | 77 | @.. u = uprev + dt * k₂ |
|
95 | 94 |
|
96 | 95 | linres = dolinsolve(integrator, linres.cache; b = _vec(linsolve_tmp)) |
97 | 96 | veck3 = _vec(k₃) |
98 | | - @.. veck3 = vecu * neginvdtγ |
| 97 | + @.. veck3 = linres.u * neginvdtγ |
99 | 98 |
|
100 | 99 | integrator.stats.nsolve += 1 |
101 | 100 |
|
|
150 | 149 | integrator.opts.internalnorm, t) |
151 | 150 |
|
152 | 151 | linres = dolinsolve(integrator, cache.linsolve; A = repeat_step ? nothing : W, b = _vec(linsolve_tmp)) |
153 | | - |
154 | 152 | veck₁ = _vec(k₁) |
155 | | - @.. veck₁ = vecu * neginvdtγ |
| 153 | + @.. veck₁ = linres.u * neginvdtγ |
156 | 154 | integrator.stats.nsolve += 1 |
157 | 155 |
|
158 | 156 | @.. broadcast=false u=uprev + dto2 * k₁ |
|
169 | 167 | @.. broadcast=false linsolve_tmp=f₁ - tmp |
170 | 168 |
|
171 | 169 | linres = dolinsolve(integrator, linres.cache; b = _vec(linsolve_tmp)) |
172 | | - vecu = _vec(linres.u) |
173 | 170 | veck₂ = _vec(k₂) |
174 | | - @.. veck₂ = vecu * neginvdtγ + veck₁ |
| 171 | + @.. veck₂ = linres.u * neginvdtγ + veck₁ |
175 | 172 | integrator.stats.nsolve += 1 |
176 | 173 |
|
177 | 174 | @.. tmp = uprev + dt * k₂ |
|
191 | 188 | linres = dolinsolve(integrator, linres.cache; b = _vec(linsolve_tmp)) |
192 | 189 | veck3 = _vec(k₃) |
193 | 190 |
|
194 | | - @.. veck3 = vecu * neginvdtγ |
| 191 | + @.. veck3 = linres.u * neginvdtγ |
195 | 192 | integrator.stats.nsolve += 1 |
196 | 193 |
|
197 | 194 | @.. broadcast=false u=uprev + dto6 * (k₁ + 4k₂ + k₃) |
|
0 commit comments