Skip to content

Bump fortnum to 48f6f9b for the VODE event-continuation fix - #418

Open
krystophny wants to merge 1 commit into
mainfrom
chore/bump-fortnum-48f6f9b
Open

Bump fortnum to 48f6f9b for the VODE event-continuation fix#418
krystophny wants to merge 1 commit into
mainfrom
chore/bump-fortnum-48f6f9b

Conversation

@krystophny

Copy link
Copy Markdown
Member

fortnum's vode_integrate_to used to report an event root by writing
state%tn = troot while leaving the Nordsieck array yh expanded about
the 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-01 to 6.8e-10. The default
event tolerance also changed from a fixed 1e-10 absolute in t to
DVODE's relative rule 100*uround*max(|x0|,|x1|); an explicit
event_tol still wins.

I checked whether libneo exercises fortnum's ODE event API. libneo uses
fortnum_special, fortnum_quadrature, fortnum_fft, and
fortnum_status/fortnum_multiroot, but nothing calls
vode_integrate_to or fortnum's event-root detection -- libneo's own
ode_event_t in src/odeint/odeint_allroutines.f90 is 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

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.

1 participant