Comments (2)
You mean uprev
and uprev2
of the ODE integrator, I guess, since the DDE integrator only needs an update of its interpolation data k
, similar to
https://github.com/JuliaDiffEq/OrdinaryDiffEq.jl/blob/master/src/integrators/integrator_interface.jl#L22-L28
in OrdinaryDiffEq? These updates of t
, dt
, and u
of the ODE integrator in reeval_internals_due_to_modification!
are only to make sure that the ODE integrator (responsible for interpolation) does not interpolate on an interval that goes beyond the newly set time t
of the DDE integrator with a different u
. But uprev
of the ODE integrator is always just updated to the final state of the solution in
https://github.com/JuliaDiffEq/DelayDiffEq.jl/blob/master/src/integrator_utils.jl#L272-L273
and if the step fails reset to the state vector of the last integration step from the solution in
https://github.com/JuliaDiffEq/DelayDiffEq.jl/blob/master/src/integrator_interface.jl#L89-L93
together with tprev
.
Moreover, uprev
is never copied from the solution to the ODE integrator since it is never written to - it is only used for interpolation. Finally, uprev2
of the ODE integrator is never updated in the whole algorithm so far. I assumed for interpolation uprev2
is not needed. Am I wrong? Otherwise there is no use in updating uprev2
only in reeval_internals_due_to_modification!
.
from delaydiffeq.jl.
Oh no, that sounds right. I was just marking this because I saw it was missing while working on the initialization. I was thinking that after a discontinuity, uprev
and uprev2
would need to be handled. But doesn't make sense to use them if there was just a discontinuity, so I forgot for a second that what happens instead is the ODEIntegrator sets the booleans so that way perform_step!
and all other functions know to not use the history, and it corrects itself from there. My mistake.
from delaydiffeq.jl.
Related Issues (20)
- Event Handling Test Failure HOT 2
- Cache tests fail on master HOT 1
- behavior of step! with tstop HOT 6
- Discontinuity tracking can miss discontinuity at 0
- TagBot trigger issue HOT 58
- DDE too stiff? radau method required? HOT 6
- SavingCallback does not seem to save the right values HOT 1
- In DDEs constant_lags break PresetTimeCallback
- Performance regressions since Julia v1.4 HOT 1
- More efficient evaluation of the history function for multiple time points
- Significant allocations in DDE interpolation for multiple time points HOT 3
- Call to HistoryFunction gets replaced by call to ODEFunction HOT 5
- initial conditions not decaying according to dynamics function HOT 1
- missing cache.alg causing runtime dispatch in LinearSolve HOT 7
- Incorrect jacobian with Zygote + ReverseDiffAdjoint HOT 4
- Precompilation issue (DelayDiffEq v5.40.6) HOT 2
- `Dopri5` solver doesn't work for DDEs
- JuliaCon Proceedings Review: Example fails HOT 3
- DDE does not provide any solution (example from docs) HOT 6
- constant_lags contains 0.0 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delaydiffeq.jl.