@@ -188,25 +188,33 @@ For instance, the PI controller for SDEs can be reproduced by
188
188
struct CustomController <: StochasticDiffEq.AbstractController
189
189
end
190
190
191
- function StochasticDiffEq. stepsize_controller! (integrator:: StochasticDiffEq.SDEIntegrator , controller:: CustomController , alg)
191
+ function StochasticDiffEq. stepsize_controller! (integrator:: StochasticDiffEq.SDEIntegrator ,
192
+ controller:: CustomController , alg)
192
193
integrator. q11 = DiffEqBase. value (DiffEqBase. fastpow (integrator. EEst, controller. beta1))
193
- integrator. q = DiffEqBase. value (integrator. q11 / DiffEqBase. fastpow (integrator. qold, controller. beta2))
194
- integrator. q = DiffEqBase. value (max (inv (integrator. opts. qmax), min (inv (integrator. opts. qmin), integrator. q / integrator. opts. gamma)))
194
+ integrator. q = DiffEqBase. value (integrator. q11 /
195
+ DiffEqBase. fastpow (integrator. qold, controller. beta2))
196
+ integrator. q = DiffEqBase. value (max (inv (integrator. opts. qmax),
197
+ min (inv (integrator. opts. qmin),
198
+ integrator. q / integrator. opts. gamma)))
195
199
nothing
196
200
end
197
201
198
- function StochasticDiffEq. step_accept_controller! (integrator:: StochasticDiffEq.SDEIntegrator , controller:: CustomController , alg)
199
- integrator. dtnew = DiffEqBase. value (integrator. dt/ integrator. q) * oneunit (integrator. dt)
202
+ function StochasticDiffEq. step_accept_controller! (integrator:: StochasticDiffEq.SDEIntegrator ,
203
+ controller:: CustomController , alg)
204
+ integrator. dtnew = DiffEqBase. value (integrator. dt / integrator. q) *
205
+ oneunit (integrator. dt)
200
206
nothing
201
207
end
202
208
203
- function step_reject_controller! (integrator:: StochasticDiffEq.SDEIntegrator , controller:: CustomController , alg)
204
- integrator. dtnew = integrator. dt / min (inv (integrator. opts. qmin), integrator. q11 / integrator. opts. gamma)
209
+ function step_reject_controller! (integrator:: StochasticDiffEq.SDEIntegrator ,
210
+ controller:: CustomController , alg)
211
+ integrator. dtnew = integrator. dt / min (inv (integrator. opts. qmin),
212
+ integrator. q11 / integrator. opts. gamma)
205
213
end
206
214
```
207
215
208
216
and used via
209
217
210
218
``` julia
211
- sol = solve (prob, EM (), dt= dt, adaptive= true , controller= CustomController ())
219
+ sol = solve (prob, EM (), dt = dt, adaptive = true , controller = CustomController ())
212
220
```
0 commit comments