Bump fortnum to 48f6f9b for the VODE event-continuation fix - #418
Open
krystophny wants to merge 1 commit into
Open
Bump fortnum to 48f6f9b for the VODE event-continuation fix#418krystophny wants to merge 1 commit into
krystophny wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
fortnum's
vode_integrate_toused to report an event root by writingstate%tn = trootwhile leaving the Nordsieck arrayyhexpanded aboutthe internal mesh top, so any integration continued past a root was
relabelled in time by up to one internal step -- silently, since the
trajectory stays smooth and only its clock is wrong. Worst root-time
error over six roots went from
1.65e-01to6.8e-10. The defaultevent tolerance also changed from a fixed
1e-10absolute inttoDVODE's relative rule
100*uround*max(|x0|,|x1|); an explicitevent_tolstill wins.I checked whether libneo exercises fortnum's ODE event API. libneo uses
fortnum_special,fortnum_quadrature,fortnum_fft, andfortnum_status/fortnum_multiroot, but nothing callsvode_integrate_toor fortnum's event-root detection -- libneo's ownode_event_tinsrc/odeint/odeint_allroutines.f90is a local type,unrelated to fortnum's ODE solver. This bump is routine here, not
behaviour-changing.
Link: lazy-fortran/fortnum#92
https://claude.ai/code/session_01EHZELf2d2zR4DQWqLPcnkg