Skip to content

Commit

Permalink
Merge pull request #818 from SciML/ChrisRackauckas-patch-2
Browse files Browse the repository at this point in the history
Update integrator_interface.jl with new interface information
  • Loading branch information
ChrisRackauckas authored Oct 16, 2024
2 parents 17f4548 + 774b944 commit ee2452f
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/integrator_interface.jl
Original file line number Diff line number Diff line change
Expand Up @@ -321,18 +321,29 @@ end
addsteps!(i::DEIntegrator, args...) = nothing

"""
reeval_internals_due_to_modification!(integrator::DEIntegrator, continuous_modification=true)
reeval_internals_due_to_modification!(integrator::DEIntegrator, continuous_modification::Bool=true;
callback_initializealg = nothing)
Update DE integrator after changes by callbacks.
For DAEs (either implicit or semi-explicit), this requires re-solving alebraic variables.
If continuous_modification is true (or unspecified), this should also recalculate interpolation data.
Otherwise the integrator is allowed to skip recalculating the interpolation.
# Arguments
- `continuous_modification`: determines whether the modification is due to a continuous change (continuous callback)
or a discrete callback. For a continuous change, this can include a change to time which requires a re-evaluation
of the interpolations.
- `callback_initializealg`: the initialization algorithm provided by the callback. For DAEs, this is the choice for the
initialization that is done post callback. The default value of `nothing` means that the initialization choice
used for the DAE should be performed post-callback.
"""
function reeval_internals_due_to_modification!(
integrator::DEIntegrator, continuous_modification)
integrator::DEIntegrator, continuous_modification::Bool;
callback_initializealg = nothing)
reeval_internals_due_to_modification!(integrator::DEIntegrator)
end
reeval_internals_due_to_modification!(integrator::DEIntegrator) = nothing
reeval_internals_due_to_modification!(integrator::DEIntegrator; callback_initializealg = nothing) = nothing

"""
set_t!(integrator::DEIntegrator, t)
Expand Down

0 comments on commit ee2452f

Please sign in to comment.