Changed: RungeKutta no longer uses DiffCache
#183
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
NonLinModelinternal functions are now:in which
xnext,kandyare mutated in-place. Thekvector is filled in-place with all the intermediate stage values ofnonlinmodel.solverdifferential equation solver. For exemple withRungeKutta(4), thekvector hasnx*(4+1)elements. Note that there are 4 intermediate stages for RK4, but the+1is required because of thesupersamplekeyword argument.With this modification
DiffCaches are no longer needed inRungeKutta. As a side bonus, there is no longer the@warnabout theDiffCachechunk size. AFAIK, this number was impossible to set "correctly" (without the warning) at construction since its optimal value is different if the nonlinear model is used to constructMovingHorizonEstimator,NonLinMPCwithSingleShooting,NonLinMPCwithMultipleShooting, etc.I can also remove
PreallocationTools.jldependency since the entire package do not use it anymore.