Skip to content

Commit 298da19

Browse files
Document umbrella re-exported API (#3970)
Render the common solve, problem, callback, utility, AD, and module interfaces exported by OrdinaryDiffEq so public API documentation QA covers the umbrella package. Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
1 parent ed6bf86 commit 298da19

4 files changed

Lines changed: 128 additions & 0 deletions

File tree

docs/Project.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ OrdinaryDiffEqStabilizedRK = "358294b1-0aab-51c3-aafe-ad5ab194a2ad"
3535
OrdinaryDiffEqSymplecticRK = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8"
3636
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
3737
OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
38+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
39+
SciMLLogging = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1"
3840

3941
[sources]
4042
DiffEqBase = {path = "../lib/DiffEqBase"}
@@ -109,3 +111,5 @@ OrdinaryDiffEqStabilizedRK = "2.0.0"
109111
OrdinaryDiffEqSymplecticRK = "2.0.0"
110112
OrdinaryDiffEqTsit5 = "2.0.0"
111113
OrdinaryDiffEqVerner = "2.0.0"
114+
SciMLBase = "3.35.1"
115+
SciMLLogging = "2.0.0"

docs/make.jl

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Documenter, OrdinaryDiffEq, DiffEqDevTools
2+
import SciMLBase, SciMLLogging
23
using DiffEqBase
34
using OrdinaryDiffEqCore
45
# Bring controller API symbols into Main so unqualified @ref links in
@@ -8,6 +9,46 @@ using OrdinaryDiffEqCore: default_controller, resolve_basic,
89
get_EEst, set_EEst!, CompositeController
910
using OrdinaryDiffEqNonlinearSolve
1011
using ImplicitDiscreteSolve
12+
13+
# Register the re-exported bindings with the umbrella module for Documenter.
14+
for (name, owner) in (
15+
(:solve, "CommonSolve.solve"),
16+
(:solve!, "CommonSolve.solve!"),
17+
(:init, "CommonSolve.init"),
18+
(:step!, "CommonSolve.step!"),
19+
(:ODEProblem, "SciMLBase.ODEProblem"),
20+
(:ODEFunction, "SciMLBase.ODEFunction"),
21+
(:ODESolution, "SciMLBase.ODESolution"),
22+
(:SplitODEProblem, "SciMLBase.SplitODEProblem"),
23+
(:SplitFunction, "SciMLBase.SplitFunction"),
24+
(:SecondOrderODEProblem, "SciMLBase.SecondOrderODEProblem"),
25+
(:DynamicalODEProblem, "SciMLBase.DynamicalODEProblem"),
26+
(:DAEProblem, "SciMLBase.DAEProblem"),
27+
(:DAEFunction, "SciMLBase.DAEFunction"),
28+
(:DAESolution, "SciMLBase.DAESolution"),
29+
(:EnsembleProblem, "SciMLBase.EnsembleProblem"),
30+
(:CallbackSet, "SciMLBase.CallbackSet"),
31+
(:ContinuousCallback, "SciMLBase.ContinuousCallback"),
32+
(:DiscreteCallback, "SciMLBase.DiscreteCallback"),
33+
(:VectorContinuousCallback, "SciMLBase.VectorContinuousCallback"),
34+
(:ODEAliasSpecifier, "SciMLBase.ODEAliasSpecifier"),
35+
(:add_tstop!, "SciMLBase.add_tstop!"),
36+
(:derivative_discontinuity!, "SciMLBase.derivative_discontinuity!"),
37+
(:reinit!, "SciMLBase.reinit!"),
38+
(:remake, "SciMLBase.remake"),
39+
(:set_proposed_dt!, "SciMLBase.set_proposed_dt!"),
40+
(:successful_retcode, "SciMLBase.successful_retcode"),
41+
(:AutoFiniteDiff, "ADTypes.AutoFiniteDiff"),
42+
(:AutoForwardDiff, "ADTypes.AutoForwardDiff"),
43+
(:AutoSparse, "ADTypes.AutoSparse"),
44+
(:DefaultODEAlgorithm, "OrdinaryDiffEqDefault.DefaultODEAlgorithm"),
45+
)
46+
doc = "Re-export of `$owner`."
47+
Core.eval(OrdinaryDiffEq, :(@doc $doc $name))
48+
end
49+
50+
@eval SciMLBase @doc "The common interfaces and types used throughout the SciML ecosystem." SciMLBase
51+
@eval SciMLLogging @doc "The common logging interface used by SciML solvers." SciMLLogging
1152
using OrdinaryDiffEqAMF
1253
using OrdinaryDiffEqAdamsBashforthMoulton
1354
using OrdinaryDiffEqBDF
@@ -50,6 +91,9 @@ makedocs(
5091
doctest = false,
5192
modules = [
5293
OrdinaryDiffEq,
94+
SciMLBase,
95+
SciMLBase.ReturnCode,
96+
SciMLLogging,
5397
DiffEqBase,
5498
OrdinaryDiffEqCore,
5599
OrdinaryDiffEqNonlinearSolve,

docs/pages.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ pages = [
5454
"misc.md",
5555
],
5656
"APIs" => [
57+
"api/common_interface.md",
5758
"api/diffeqbase.md",
5859
"api/ordinarydiffeqcore.md",
5960
"api/controllers.md",

docs/src/api/common_interface.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Common Interface API
2+
3+
OrdinaryDiffEq re-exports the common problem, callback, solve, and automatic
4+
differentiation interfaces needed to construct and solve ordinary differential
5+
equations.
6+
7+
## Solve interface
8+
9+
```@docs
10+
OrdinaryDiffEq.solve
11+
OrdinaryDiffEq.solve!
12+
OrdinaryDiffEq.init
13+
OrdinaryDiffEq.step!
14+
```
15+
16+
## Problem types
17+
18+
```@docs
19+
OrdinaryDiffEq.ODEProblem
20+
OrdinaryDiffEq.ODEFunction
21+
OrdinaryDiffEq.ODESolution
22+
OrdinaryDiffEq.SplitODEProblem
23+
OrdinaryDiffEq.SplitFunction
24+
OrdinaryDiffEq.SecondOrderODEProblem
25+
OrdinaryDiffEq.DynamicalODEProblem
26+
OrdinaryDiffEq.DAEProblem
27+
OrdinaryDiffEq.DAEFunction
28+
OrdinaryDiffEq.DAESolution
29+
OrdinaryDiffEq.EnsembleProblem
30+
```
31+
32+
### Ensemble context
33+
34+
```@docs; canonical=false
35+
SciMLBase.EnsembleContext
36+
```
37+
38+
## Callbacks
39+
40+
```@docs
41+
OrdinaryDiffEq.CallbackSet
42+
OrdinaryDiffEq.ContinuousCallback
43+
OrdinaryDiffEq.DiscreteCallback
44+
OrdinaryDiffEq.VectorContinuousCallback
45+
```
46+
47+
## Solution and integrator utilities
48+
49+
```@docs
50+
OrdinaryDiffEq.ReturnCode
51+
OrdinaryDiffEq.ODEAliasSpecifier
52+
OrdinaryDiffEq.add_tstop!
53+
OrdinaryDiffEq.derivative_discontinuity!
54+
OrdinaryDiffEq.reinit!
55+
OrdinaryDiffEq.remake
56+
OrdinaryDiffEq.set_proposed_dt!
57+
OrdinaryDiffEq.successful_retcode
58+
```
59+
60+
## Automatic differentiation
61+
62+
```@docs
63+
OrdinaryDiffEq.AutoFiniteDiff
64+
OrdinaryDiffEq.AutoForwardDiff
65+
OrdinaryDiffEq.AutoSparse
66+
```
67+
68+
## Default algorithm
69+
70+
```@docs
71+
OrdinaryDiffEq.DefaultODEAlgorithm
72+
```
73+
74+
## Interface modules
75+
76+
```@docs
77+
OrdinaryDiffEq.SciMLBase
78+
OrdinaryDiffEq.SciMLLogging
79+
```

0 commit comments

Comments
 (0)