Skip to content

Update devdocs solver extension API and fix sync docstrings - #106

Closed
oscardssmith wants to merge 1 commit into
mainfrom
docs/fix-devdocs-solver-api
Closed

Update devdocs solver extension API and fix sync docstrings#106
oscardssmith wants to merge 1 commit into
mainfrom
docs/fix-devdocs-solver-api

Conversation

@oscardssmith

Copy link
Copy Markdown
Member

The "Adding Solvers" example documented advance_solution_to!, which no longer exists, along with an init_cache signature taking inner_caches and alias flags. Rewrite it against the current API: init_cache(f, alg; uprev, u) plus _perform_step!(parent, children, cache, dt), which reads the solution indices and synchronizers off parent and signals failure via force_stepfail instead of inspecting child retcodes inline. Add a section on what an adaptive splitting algorithm has to provide (isadaptive, alg_adaptive_order, writing EEst).

Also attach docstrings: a blank line between each docstring and its function left both undocumented, so the @docs blocks on the devdocs page rendered empty.

The "Adding Solvers" example documented `advance_solution_to!`, which no
longer exists, along with an `init_cache` signature taking `inner_caches`
and alias flags. Rewrite it against the current API: `init_cache(f, alg;
uprev, u)` plus `_perform_step!(parent, children, cache, dt)`, which reads
the solution indices and synchronizers off `parent` and signals failure via
`force_stepfail` instead of inspecting child retcodes inline. Add a section
on what an adaptive splitting algorithm has to provide (`isadaptive`,
`alg_adaptive_order`, writing `EEst`).

Also attach the `forward_sync_subintegrator!` and
`backward_sync_subintegrator!` docstrings: a blank line between each
docstring and its function left both undocumented, so the `@docs` blocks
on the devdocs page rendered empty. Their signature lines said
`OperatorSplittingIntegrator` where the methods take `AnySplitIntegrator`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Comment thread docs/src/devdocs/index.md

# Done :)
function OS._perform_step!(
parent, children::Tuple, cache::MySimpleFirstOrderCache, dt

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is residual not cleaned up and a bit confusing. The first argument is the current integrator and the second the subintegrators.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Superseded by #108, which puts the developer docstrings on their original generic definitions, adds a generic external-solver interface test, and removes the package-specific strict-QA exceptions.

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.

3 participants