Skip to content

Controller interface for v7#3312

Closed
termi-official wants to merge 0 commit intoSciML:v7from
termi-official:do/break-controller-interface-v7
Closed

Controller interface for v7#3312
termi-official wants to merge 0 commit intoSciML:v7from
termi-official:do/break-controller-interface-v7

Conversation

@termi-official
Copy link
Copy Markdown
Contributor

@termi-official termi-official commented Apr 1, 2026

TODO

  • Port StochasticDiffEq controllers
  • Port DelayDiffEq controllers

Follow Up

@oscardssmith oscardssmith reopened this Apr 1, 2026
@oscardssmith oscardssmith reopened this Apr 2, 2026
@termi-official termi-official force-pushed the do/break-controller-interface-v7 branch from 1ae361c to 31d075e Compare April 2, 2026 21:13
@ChrisRackauckas ChrisRackauckas force-pushed the v7 branch 2 times, most recently from c3ec6e5 to cb38e96 Compare April 9, 2026 19:06
@termi-official termi-official force-pushed the do/break-controller-interface-v7 branch 2 times, most recently from 4342ec9 to d146c8d Compare April 10, 2026 16:24
Comment thread lib/OrdinaryDiffEqCore/src/alg_utils.jl Outdated
Comment on lines 427 to 434
function default_controller(QT, alg)
if ispredictive(alg)
return NewPredictiveController(QT, alg)
return PredictiveController(QT, alg)
elseif isstandard(alg)
return NewIController(QT, alg)
return IController(QT, alg)
else
return NewPIController(QT, alg)
return PIController(QT, alg)
end
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are breaking stuff right now anyway, this part of the setup workflow here is something which we might want to think about. I think we should

  1. Purge isstandard/ispredictive
  2. Algorithms with special controllers should just dispatch on default_controller (see e.g. lib/OrdinaryDiffEqLowStorageRK/src/alg_utils.jl)
  3. In all other cases we return a standard PI or PID controller with reasonable (and algorithm order sensitive) default parameters.

return PIController(beta1, beta2)
end
end
# FIXME AitkenNeville is missing integration with the extrapolation controller and picks up the PI controller instead.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how to fix this, as I do not know enough about the theory here.

@termi-official
Copy link
Copy Markdown
Contributor Author

I will open a separate PR again with the code. Some git operation failed and the branch is broken now.

@termi-official termi-official mentioned this pull request Apr 13, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants