You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In some scenarios, the different variables in a differential equation can have vastly different time-scales at which dynamics occurs.
This is why often, it can be useful to select different integration steps for the variables, such that the variable with fast dynamics has a smaller time-step than the variable with the slow dynamics. I am wondering if such a method is in principle possible using the AbstractAdaptiveStepSizeController class.
The text was updated successfully, but these errors were encountered:
So I think these kinds of multiple-step-size approaches often involves:
picking a step size that is suited to the 'slow' timescale
picking your favourite solver for the slow dynamics using that step size
defining a solver for the fast dynamics that, for every one of those large steps:
3a. freezes the value of the slow dynamics
3b. runs a differential equation solver for the fast dynamics over the interval defined by the large step, and which will internally use smaller step sizes.
You should be able to do the same thing here: subclass AbstractSolver to implement a solver that exhibits the above behaviour. You will find that your .step method will make a call to diffeqsolve in order to solve the fast dynamics over that interval.
In some scenarios, the different variables in a differential equation can have vastly different time-scales at which dynamics occurs.
This is why often, it can be useful to select different integration steps for the variables, such that the variable with fast dynamics has a smaller time-step than the variable with the slow dynamics. I am wondering if such a method is in principle possible using the
AbstractAdaptiveStepSizeController
class.The text was updated successfully, but these errors were encountered: