Skip to content

Fetch fortnum and link it into neo_rt#45

Draft
krystophny wants to merge 4 commits into
mainfrom
migrate/fortnum-ode-cmake
Draft

Fetch fortnum and link it into neo_rt#45
krystophny wants to merge 4 commits into
mainfrom
migrate/fortnum-ode-cmake

Conversation

@krystophny

@krystophny krystophny commented Jun 14, 2026

Copy link
Copy Markdown
Member

Merge order

This PR is part of the fortnum ODE migration stack. Each PR is now based on
main individually, but they must be merged in this sequence:

#45 -> #46 -> #47

Because all three are based on main, each later PR's diff is currently
cumulative (it contains its predecessors' changes). Merge in the order above:
once a predecessor merges into main, the next PR's diff shrinks to its own
increment.

Base of the NEO-RT migration off the external DVODE solver onto fortnum.

Declares fortnum via FetchContent pinned at a7faa3c and links it into the
neo_rt target. No source behaviour changes here; this only makes the
fortnum ODE modules available to the later commits in the stack.

Stack:

  1. migrate/fortnum-ode-cmake (this PR, base main)
  2. migrate/fortnum-ode-nonevent (base cmake)
  3. migrate/fortnum-ode-events-drop-vode (base nonevent)

Verification

Configured and built on top of the full stack; see the head PR for the
combined build and test output. This PR alone adds the dependency wiring.

Note: fortnum pin updated to current main (92de6e9) after a fortnum history rewrite; old shas no longer resolve.

Wire the fortnum numerical-core library via CMake FetchContent
(git@github.com:lazy-fortran/fortnum.git, pinned to a7faa3c) guarded by
if(NOT TARGET fortnum) so a parent build that already provides the target
is reused. Link the static library into neo_rt; its module directory is
exported PUBLIC, so neo_rt and the diagnostics library that links neo_rt
both see the fortnum modules.

This commit adds the dependency without changing any solver call site; the
existing DVODE path is untouched and still in use. Subsequent commits move
the orbit integrations onto the fortnum ODE solver and then drop DVODE.
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