Skip to content

Commit d1f3dcc

Browse files
ChrisRackauckas-ClaudeChrisRackauckasclaude
authored
Fix docs build for OrdinaryDiffEq v7 / DifferentialEquations v8 (+ #868 AlgebraicMultigrid bump) (#869)
* Fix docs build for OrdinaryDiffEq v7: load solver subpackages explicitly OrdinaryDiffEq v7 dropped its blanket @reexport, so `OrdinaryDiffEq.OrdinaryDiffEqXXX` no longer resolves and `make.jl` died with `UndefVarError` at the makedocs `modules` list. Load each OrdinaryDiffEq *and* StochasticDiffEq solver subpackage by bare name and list them directly (mirroring OrdinaryDiffEq.jl's own docs build), rather than relying on the meta-packages to reexport them; add them as deps + compat. Also in this commit: - Bump AlgebraicMultigrid compat to allow v2 (PR #868). v2's SPQR coarse solver fixes the non-SPD preconditioner crash that v1's Pinv/SVD coarse solver hits. - Add LinearSolve as a docs dependency (used by advanced_ode_example.md, previously only available transitively). - Bring the OrdinaryDiffEqCore controller API symbols into Main so the unqualified @ref links in the copied controllers.md resolve. - Drop OrdinaryDiffEq's contributor-internal devtools pages from the user docs: their @eval blocks read paths relative to OrdinaryDiffEq's own build layout and cannot build when embedded in DiffEqDocs. - Guard the StochasticDiffEq API nav section, which is empty now that StochasticDiffEq ships no docs/ directory in the v7 monorepo. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Update executed doc examples for DifferentialEquations v8 + RecursiveArrayTools v4 With OrdinaryDiffEq v7 pinned, the resolver takes DifferentialEquations v8, which now only `@reexport`s SciMLBase + OrdinaryDiffEq (documented in index.md/getting_started.md). Executed @example blocks that reached for symbols no longer reexported through `DE.` therefore errored. Source each from the package it now lives in: - ensemble.md: `DE.SRIW1` -> `SDE.SRIW1` (StochasticDiffEq) - dde_example.md: `DE.RK4` -> `ODELow.RK4` (OrdinaryDiffEqLowOrderRK) - callback_functions.md, spiking_neural_systems.md: `DE.PresetTimeCallback` -> `CB.PresetTimeCallback` (DiffEqCallbacks) - callback_functions.md: `DE.resize!` -> `resize!` (Base, extended for integrators) Also: - advanced_ode_example.md: preconditioner `precs` functions returned `(Pl, nothing)`, but Krylov.jl now calls `ldiv!` on the right preconditioner; return `(Pl, I)` so the identity right-preconditioner has an `ldiv!` method. (LinearSolve `import` was already used here; LinearSolve is added as a docs dep in the previous commit.) - faq.md: `solve(...)[end]` returned a scalar under RecursiveArrayTools v4 (AbstractArray indexing), breaking the downstream ForwardDiff/FiniteDiff jacobian blocks; use `.u[end]` to get the final state vector. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Fix pre-existing spell-check failures blocking docs CI The Spell Check (typos) job has been failing on master and every PR. Fix the two real typos and allowlist the proper noun so the check passes: - classical_physics.md: ContiunousCallback -> ContinuousCallback - bvp_solve.md: prblem -> problem - .typos.toml: allowlist `Lamba` (the surname in the Lamba & Rackauckas methods LambaEM / LambaEulerHeun; typos mis-flags it as "Lambda") Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent eb48837 commit d1f3dcc

12 files changed

Lines changed: 180 additions & 47 deletions

File tree

.typos.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[default.extend-words]
22
quations = "quations"
3+
Lamba = "Lamba"
34
IIF = "IIF"
45
padd = "padd"
56
thr = "thr"

docs/Project.toml

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,53 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
1515
DelayDiffEq = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb"
1616
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
1717
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
18+
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
1819
DiffEqDocs = "d91efeb5-c178-44a6-a2ee-51685df7c78e"
1920
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
2021
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
2122
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
2223
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
2324
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
25+
ImplicitDiscreteSolve = "3263718b-31ed-49cf-8a0f-35a466e8af96"
2426
IncompleteLU = "40713840-3770-5561-ab4c-a76e7d0d7895"
2527
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
2628
LSODA = "7f56f5a3-f504-529b-bc02-0b1fe5e64312"
29+
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
2730
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
2831
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
2932
ODEInterfaceDiffEq = "09606e27-ecf5-54fc-bb29-004bd9f985bf"
3033
ODEProblemLibrary = "fdc4e326-1af4-4b90-96e7-779fcce2daa5"
3134
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
3235
OptimizationNLopt = "4e6fcdb7-1186-4e1f-a706-475e75c168bb"
3336
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
37+
OrdinaryDiffEqAMF = "08082164-f6a1-4363-b3df-3aa6fcf571ad"
38+
OrdinaryDiffEqAdamsBashforthMoulton = "89bda076-bce5-4f1c-845f-551c83cdda9a"
3439
OrdinaryDiffEqBDF = "6ad6398a-0878-4a85-9266-38940aa047c8"
3540
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
41+
OrdinaryDiffEqDefault = "50262376-6c5a-4cf5-baba-aaf4f84d72d7"
42+
OrdinaryDiffEqExplicitRK = "9286f039-9fbf-40e8-bf65-aa933bdc4db0"
43+
OrdinaryDiffEqExponentialRK = "e0540318-69ee-4070-8777-9e2de6de23de"
44+
OrdinaryDiffEqExtrapolation = "becaefa8-8ca2-5cf9-886d-c06f3d2bd2c4"
45+
OrdinaryDiffEqFIRK = "5960d6e9-dd7a-4743-88e7-cf307b64f125"
46+
OrdinaryDiffEqFeagin = "101fe9f7-ebb6-4678-b671-3a81e7194747"
47+
OrdinaryDiffEqHighOrderRK = "d28bc4f8-55e1-4f49-af69-84c1a99f0f58"
48+
OrdinaryDiffEqIMEXMultistep = "9f002381-b378-40b7-97a6-27a27c83f129"
49+
OrdinaryDiffEqLinear = "521117fe-8c41-49f8-b3b6-30780b3f0fb5"
50+
OrdinaryDiffEqLowOrderRK = "1344f307-1e59-4825-a18e-ace9aa3fa4c6"
51+
OrdinaryDiffEqLowStorageRK = "b0944070-b475-4768-8dec-fb6eb410534d"
52+
OrdinaryDiffEqNordsieck = "c9986a66-5c92-4813-8696-a7ec84c806c8"
53+
OrdinaryDiffEqPDIRK = "5dd0a6cf-3d4b-4314-aa06-06d4e299bc89"
54+
OrdinaryDiffEqPRK = "5b33eab2-c0f1-4480-b2c3-94bc1e80bda1"
55+
OrdinaryDiffEqQPRK = "04162be5-8125-4266-98ed-640baecc6514"
56+
OrdinaryDiffEqRKN = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a"
57+
OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
58+
OrdinaryDiffEqSDIRK = "2d112036-d095-4a1e-ab9a-08536f3ecdbf"
59+
OrdinaryDiffEqSSPRK = "669c94d9-1f4b-4b64-b377-1aa079aa2388"
60+
OrdinaryDiffEqStabilizedIRK = "e3e12d00-db14-5390-b879-ac3dd2ef6296"
61+
OrdinaryDiffEqStabilizedRK = "358294b1-0aab-51c3-aafe-ad5ab194a2ad"
62+
OrdinaryDiffEqSymplecticRK = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8"
63+
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
64+
OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
3665
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
3766
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
3867
SDEProblemLibrary = "c72e72a9-a271-4b2b-8966-303ed956772e"
@@ -43,6 +72,16 @@ SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5"
4372
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
4473
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
4574
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
75+
StochasticDiffEqCore = "19c5a474-6cd1-4a5f-be79-46dc34e54d7f"
76+
StochasticDiffEqHighOrder = "0520c28c-50fd-4d16-9c96-902fc80b3bab"
77+
StochasticDiffEqIIF = "ebf54054-c36b-4494-9aba-657e36df524f"
78+
StochasticDiffEqImplicit = "5080b986-4c76-4669-b5dc-373a41579d5b"
79+
StochasticDiffEqLeaping = "aefaaa88-39f2-4e89-b162-d61b7e8cc81b"
80+
StochasticDiffEqLowOrder = "d15fe365-ce7f-450a-828a-7985bd5b681b"
81+
StochasticDiffEqMilstein = "8c95a807-c8e7-4581-8419-890d001af53e"
82+
StochasticDiffEqROCK = "db241ea8-0e6b-4abc-8f2d-1adff2294fd9"
83+
StochasticDiffEqRODE = "49714585-0aa1-4f53-b1e6-a9b8c0d5e03f"
84+
StochasticDiffEqWeak = "af2a2fcd-1c36-4cbe-a6d0-5afda784a085"
4685
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
4786
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
4887

@@ -51,7 +90,7 @@ DiffEqDocs = {path = ".."}
5190

5291
[compat]
5392
ADTypes = "1.7"
54-
AlgebraicMultigrid = "0.5, 0.6, 1"
93+
AlgebraicMultigrid = "0.5, 0.6, 1, 2"
5594
BSON = "0.3"
5695
BVProblemLibrary = "0.1.2"
5796
BenchmarkTools = "1"
@@ -66,23 +105,52 @@ DataFrames = "1.4"
66105
DelayDiffEq = "5.52, 6.0"
67106
DiffEqBase = "7"
68107
DiffEqCallbacks = "4"
108+
DiffEqDevTools = "3, 4.0"
69109
DifferentialEquations = "7.14, 8.0"
70110
Distributions = "0.25"
71111
Documenter = "1"
72112
FiniteDiff = "2"
73113
ForwardDiff = "0.10, 1"
114+
ImplicitDiscreteSolve = "2"
74115
IncompleteLU = "0.2"
75116
JLD2 = "0.4, 0.5.1, 0.6"
76117
LSODA = "0.7, 1.0"
118+
LinearSolve = "2, 3"
77119
ModelingToolkit = "9, 10, 11.0"
78120
NonlinearSolve = "3.15, 4"
79121
ODEInterfaceDiffEq = "3, 4.0, 5.0"
80122
ODEProblemLibrary = "0.1, 1"
81123
Optimization = "3, 4, 5"
82124
OptimizationNLopt = "0.2, 0.3"
83125
OrdinaryDiffEq = "7"
126+
OrdinaryDiffEqAMF = "2"
127+
OrdinaryDiffEqAdamsBashforthMoulton = "2"
84128
OrdinaryDiffEqBDF = "2"
85129
OrdinaryDiffEqCore = "4, 5.0"
130+
OrdinaryDiffEqDefault = "2"
131+
OrdinaryDiffEqExplicitRK = "2"
132+
OrdinaryDiffEqExponentialRK = "2"
133+
OrdinaryDiffEqExtrapolation = "2"
134+
OrdinaryDiffEqFIRK = "2"
135+
OrdinaryDiffEqFeagin = "2"
136+
OrdinaryDiffEqHighOrderRK = "2"
137+
OrdinaryDiffEqIMEXMultistep = "2"
138+
OrdinaryDiffEqLinear = "2"
139+
OrdinaryDiffEqLowOrderRK = "2"
140+
OrdinaryDiffEqLowStorageRK = "3"
141+
OrdinaryDiffEqNordsieck = "2"
142+
OrdinaryDiffEqPDIRK = "2"
143+
OrdinaryDiffEqPRK = "2"
144+
OrdinaryDiffEqQPRK = "2"
145+
OrdinaryDiffEqRKN = "2"
146+
OrdinaryDiffEqRosenbrock = "2"
147+
OrdinaryDiffEqSDIRK = "2"
148+
OrdinaryDiffEqSSPRK = "2"
149+
OrdinaryDiffEqStabilizedIRK = "2"
150+
OrdinaryDiffEqStabilizedRK = "2"
151+
OrdinaryDiffEqSymplecticRK = "2"
152+
OrdinaryDiffEqTsit5 = "2"
153+
OrdinaryDiffEqVerner = "2"
86154
Plots = "1"
87155
RecursiveArrayTools = "4"
88156
SDEProblemLibrary = "0.1, 1"
@@ -93,5 +161,15 @@ SparseConnectivityTracer = "0.6, 1"
93161
StaticArrays = "1"
94162
SteadyStateDiffEq = "2.4"
95163
StochasticDiffEq = "7"
164+
StochasticDiffEqCore = "2"
165+
StochasticDiffEqHighOrder = "2"
166+
StochasticDiffEqIIF = "2"
167+
StochasticDiffEqImplicit = "2"
168+
StochasticDiffEqLeaping = "2"
169+
StochasticDiffEqLowOrder = "2"
170+
StochasticDiffEqMilstein = "2"
171+
StochasticDiffEqROCK = "2"
172+
StochasticDiffEqRODE = "2"
173+
StochasticDiffEqWeak = "2"
96174
Sundials = "4.11.3, 5, 6.0"
97175
Unitful = "1"

docs/make.jl

Lines changed: 65 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
11
using Documenter, DiffEqBase, SciMLBase, OrdinaryDiffEq, OrdinaryDiffEqBDF,
22
OrdinaryDiffEqCore, StochasticDiffEq, DelayDiffEq, SteadyStateDiffEq, DiffEqCallbacks,
33
BoundaryValueDiffEq
4+
# Load the OrdinaryDiffEq/StochasticDiffEq solver subpackages directly instead of relying
5+
# on the meta-packages to reexport them: OrdinaryDiffEq v7 already dropped its reexports,
6+
# so listing each subpackage explicitly is what keeps the API docs complete and robust.
7+
using OrdinaryDiffEqAdamsBashforthMoulton, OrdinaryDiffEqDefault, OrdinaryDiffEqExplicitRK,
8+
OrdinaryDiffEqExponentialRK, OrdinaryDiffEqExtrapolation, OrdinaryDiffEqFeagin,
9+
OrdinaryDiffEqFIRK, OrdinaryDiffEqHighOrderRK, OrdinaryDiffEqIMEXMultistep,
10+
OrdinaryDiffEqLinear, OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqLowStorageRK,
11+
OrdinaryDiffEqNordsieck, OrdinaryDiffEqPDIRK, OrdinaryDiffEqPRK, OrdinaryDiffEqQPRK,
12+
OrdinaryDiffEqRKN, OrdinaryDiffEqRosenbrock, OrdinaryDiffEqSDIRK, OrdinaryDiffEqSSPRK,
13+
OrdinaryDiffEqStabilizedIRK, OrdinaryDiffEqStabilizedRK, OrdinaryDiffEqSymplecticRK,
14+
OrdinaryDiffEqTsit5, OrdinaryDiffEqVerner, OrdinaryDiffEqAMF, ImplicitDiscreteSolve,
15+
DiffEqDevTools
16+
using StochasticDiffEqCore, StochasticDiffEqHighOrder, StochasticDiffEqIIF,
17+
StochasticDiffEqImplicit, StochasticDiffEqLeaping, StochasticDiffEqLowOrder,
18+
StochasticDiffEqMilstein, StochasticDiffEqROCK, StochasticDiffEqRODE,
19+
StochasticDiffEqWeak
20+
# Bring the OrdinaryDiffEqCore controller API symbols into Main so the unqualified
21+
# @ref links in the copied controllers.md resolve (mirrors OrdinaryDiffEq.jl's docs).
22+
using OrdinaryDiffEqCore: default_controller, resolve_basic, get_EEst, set_EEst!,
23+
CompositeController
424
import ODEProblemLibrary,
525
SDEProblemLibrary, DDEProblemLibrary, DAEProblemLibrary, BVProblemLibrary
626
using Sundials, DASKR, LSODA, DASSL, SimpleDiffEq, ODEInterfaceDiffEq
@@ -24,6 +44,11 @@ if isdir(ordinartdiffeq_docs_path)
2444
# Copy all the docs from OrdinaryDiffEq.jl
2545
cp(ordinartdiffeq_docs_path, ordinary_diffeq_dest, force = true)
2646

47+
# OrdinaryDiffEq's developer docs are contributor-internal and their @eval blocks
48+
# read paths relative to OrdinaryDiffEq's own build layout, so they cannot build
49+
# inside DiffEqDocs; drop them from the user-facing site.
50+
rm(joinpath(ordinary_diffeq_dest, "devtools"), recursive = true, force = true)
51+
2752
# Copy the pages.jl file from OrdinaryDiffEq.jl
2853
ordinary_diffeq_pages_dest = joinpath(@__DIR__, "ordinarydiffeq_pages.jl")
2954
ordinary_diffeq_pages_file = joinpath(ordinartdiffeq_docs_root, "pages.jl")
@@ -69,33 +94,47 @@ makedocs(
6994
DAEProblemLibrary,
7095
BVProblemLibrary,
7196
OrdinaryDiffEq,
72-
OrdinaryDiffEq.OrdinaryDiffEqAdamsBashforthMoulton,
73-
OrdinaryDiffEq.OrdinaryDiffEqBDF,
74-
OrdinaryDiffEq.OrdinaryDiffEqDefault,
75-
OrdinaryDiffEq.OrdinaryDiffEqExplicitRK,
76-
OrdinaryDiffEq.OrdinaryDiffEqExponentialRK,
77-
OrdinaryDiffEq.OrdinaryDiffEqExtrapolation,
78-
OrdinaryDiffEq.OrdinaryDiffEqFeagin,
79-
OrdinaryDiffEq.OrdinaryDiffEqFIRK,
80-
OrdinaryDiffEq.OrdinaryDiffEqHighOrderRK,
81-
OrdinaryDiffEq.OrdinaryDiffEqIMEXMultistep,
82-
OrdinaryDiffEq.OrdinaryDiffEqLinear,
83-
OrdinaryDiffEq.OrdinaryDiffEqLowOrderRK,
84-
OrdinaryDiffEq.OrdinaryDiffEqLowStorageRK,
85-
OrdinaryDiffEq.OrdinaryDiffEqNordsieck,
86-
OrdinaryDiffEq.OrdinaryDiffEqPDIRK,
87-
OrdinaryDiffEq.OrdinaryDiffEqPRK,
88-
OrdinaryDiffEq.OrdinaryDiffEqQPRK,
89-
OrdinaryDiffEq.OrdinaryDiffEqRKN,
90-
OrdinaryDiffEq.OrdinaryDiffEqRosenbrock,
91-
OrdinaryDiffEq.OrdinaryDiffEqSDIRK,
92-
OrdinaryDiffEq.OrdinaryDiffEqSSPRK,
93-
OrdinaryDiffEq.OrdinaryDiffEqStabilizedIRK,
94-
OrdinaryDiffEq.OrdinaryDiffEqStabilizedRK,
95-
OrdinaryDiffEq.OrdinaryDiffEqSymplecticRK,
96-
OrdinaryDiffEq.OrdinaryDiffEqTsit5,
97-
OrdinaryDiffEq.OrdinaryDiffEqVerner,
97+
OrdinaryDiffEqCore,
98+
OrdinaryDiffEqAdamsBashforthMoulton,
99+
OrdinaryDiffEqBDF,
100+
OrdinaryDiffEqDefault,
101+
OrdinaryDiffEqExplicitRK,
102+
OrdinaryDiffEqExponentialRK,
103+
OrdinaryDiffEqExtrapolation,
104+
OrdinaryDiffEqFeagin,
105+
OrdinaryDiffEqFIRK,
106+
OrdinaryDiffEqHighOrderRK,
107+
OrdinaryDiffEqIMEXMultistep,
108+
OrdinaryDiffEqLinear,
109+
OrdinaryDiffEqLowOrderRK,
110+
OrdinaryDiffEqLowStorageRK,
111+
OrdinaryDiffEqNordsieck,
112+
OrdinaryDiffEqPDIRK,
113+
OrdinaryDiffEqPRK,
114+
OrdinaryDiffEqQPRK,
115+
OrdinaryDiffEqRKN,
116+
OrdinaryDiffEqRosenbrock,
117+
OrdinaryDiffEqSDIRK,
118+
OrdinaryDiffEqSSPRK,
119+
OrdinaryDiffEqStabilizedIRK,
120+
OrdinaryDiffEqStabilizedRK,
121+
OrdinaryDiffEqSymplecticRK,
122+
OrdinaryDiffEqTsit5,
123+
OrdinaryDiffEqVerner,
124+
OrdinaryDiffEqAMF,
125+
ImplicitDiscreteSolve,
126+
DiffEqDevTools,
98127
StochasticDiffEq,
128+
StochasticDiffEqCore,
129+
StochasticDiffEqHighOrder,
130+
StochasticDiffEqIIF,
131+
StochasticDiffEqImplicit,
132+
StochasticDiffEqLeaping,
133+
StochasticDiffEqLowOrder,
134+
StochasticDiffEqMilstein,
135+
StochasticDiffEqROCK,
136+
StochasticDiffEqRODE,
137+
StochasticDiffEqWeak,
99138
DelayDiffEq,
100139
SteadyStateDiffEq,
101140
DiffEqCallbacks,

docs/pages.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ function transform_ordinarydiffeq_pages(pages_array)
2525
end
2626

2727
ordinary_diffeq_pages = transform_ordinarydiffeq_pages(pages)
28+
# The Developer Documentation section maps to OrdinaryDiffEq's contributor-internal
29+
# devtools pages, which are excluded from the DiffEqDocs build (see docs/make.jl).
30+
filter!(p -> !(p isa Pair && first(p) == "Developer Documentation"), ordinary_diffeq_pages)
2831

2932
# Load StochasticDiffEq pages - if available
3033
stochastic_diffeq_pages_file = joinpath(@__DIR__, "stochasticdiffeq_pages.jl")
@@ -159,3 +162,9 @@ pages = Any[
159162
"migration/ordinarydiffeq_v7.md",
160163
],
161164
]
165+
166+
# StochasticDiffEq ships no docs in the OrdinaryDiffEq v7 monorepo, so drop the API
167+
# section entirely rather than leaving an empty navigation entry.
168+
if isempty(stochastic_diffeq_pages)
169+
filter!(p -> !(p isa Pair && first(p) == "StochasticDiffEq.jl API"), pages)
170+
end

docs/src/basics/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ end
480480
function f(p)
481481
prob = DE.ODEProblem(func, eltype(p).([1.0, 1.0]), (0.0, 10.0), p)
482482
# Lower tolerances to show the methods converge to the same value
483-
DE.solve(prob, DE.Tsit5(), save_everystep = false, abstol = 1e-12, reltol = 1e-12)[end]
483+
DE.solve(prob, DE.Tsit5(), save_everystep = false, abstol = 1e-12, reltol = 1e-12).u[end]
484484
end
485485
```
486486

docs/src/examples/classical_physics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ function double_pendulum_hamiltonian(udot, u, p, t)
265265
2sin(2β) * ((lα^2 - 2(1 + cos(β))lα * lβ + (3 + 2cos(β))lβ^2) / (3 - cos(2β))^2)]
266266
end
267267
268-
# Construct a ContiunousCallback
268+
# Construct a ContinuousCallback
269269
condition(u, t, integrator) = u[1]
270270
affect!(integrator) = nothing
271271
cb = ODE.ContinuousCallback(condition, affect!, nothing,

docs/src/examples/spiking_neural_systems.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ The LIF model has five parameters, `gL, EL, C, Vth, I` and we define it in the `
2020

2121
```@example spikingneural
2222
import DifferentialEquations as DE
23+
import DiffEqCallbacks as CB # PresetTimeCallback is no longer reexported by DifferentialEquations v8
2324
import ComponentArrays
2425
import Plots
2526
Plots.gr()
@@ -65,7 +66,7 @@ function reset!(integrator)
6566
end
6667
6768
threshold = DE.ContinuousCallback(thr, reset!, nothing)
68-
current_step = DE.PresetTimeCallback([2, 15], integrator -> integrator.p.I += 150.0)
69+
current_step = CB.PresetTimeCallback([2, 15], integrator -> integrator.p.I += 150.0)
6970
cb = DE.CallbackSet(current_step, threshold)
7071
```
7172

@@ -100,6 +101,7 @@ We see that the model is resting at `-75` while there is no input. At `t=2` the
100101
```@example spikingneural
101102
#Izhikevichch Model
102103
import DifferentialEquations as DE
104+
import DiffEqCallbacks as CB
103105
import Plots
104106
105107
function izh!(du, u, p, t)
@@ -123,7 +125,7 @@ function reset!(integrator)
123125
end
124126
125127
threshold = DE.DiscreteCallback(thr, reset!)
126-
current_step = DE.PresetTimeCallback(50, integrator -> integrator.p[5] += 10)
128+
current_step = CB.PresetTimeCallback(50, integrator -> integrator.p[5] += 10)
127129
cb = DE.CallbackSet(current_step, threshold)
128130
```
129131

@@ -168,6 +170,7 @@ The Hodgkin-Huxley (HH) model is our first biophysically realistic model. This m
168170

169171
```@example spikingneural
170172
import DifferentialEquations as DE
173+
import DiffEqCallbacks as CB
171174
import Plots
172175
173176
# Potassium ion-channel rate functions
@@ -198,7 +201,7 @@ We have three different types of ionic conductances. Potassium, sodium and the l
198201
The sodium current is not very different, but it has two gating variables, `m, h` instead of one. The leak conductance gL has no gating variables because it is not voltage gated. Let's move on to the parameters. If you want all the details on the HH model, you can find a great description [here](https://neuronaldynamics.epfl.ch/online/Ch2.S2.html).
199202

200203
```@example spikingneural
201-
current_step = DE.PresetTimeCallback(100, integrator -> integrator.p[8] += 1)
204+
current_step = CB.PresetTimeCallback(100, integrator -> integrator.p[8] += 1)
202205
203206
# n, m & h steady-states
204207
n_inf(v) = alpha_n(v) / (alpha_n(v) + beta_n(v))
@@ -308,7 +311,7 @@ function epsp!(integrator)
308311
integrator.u[6] -= integrator.u[5] * integrator.u[6]
309312
end
310313
311-
epsp_ts = DE.PresetTimeCallback(100:100:500, epsp!)
314+
epsp_ts = CB.PresetTimeCallback(100:100:500, epsp!)
312315
313316
p = [35.0, 40.0, 0.3, -77.0, 55.0, -65.0, 1, 0, 30, 1000, 50, 0.5, 0.005, 0]
314317
u0 = [-60, n_inf(-60), m_inf(-60), h_inf(-60), 0.0, 1.0, 0.0]
@@ -331,7 +334,7 @@ Plots.plot(sol, vars = [5, 6])
331334
Because of the time courses at play here, this facilitation is frequency-dependent. If we increase the period between these events, facilitation does not occur.
332335

333336
```@example spikingneural
334-
epsp_ts = DE.PresetTimeCallback(100:1000:5100, epsp!)
337+
epsp_ts = CB.PresetTimeCallback(100:1000:5100, epsp!)
335338
336339
p = [35.0, 40.0, 0.3, -77.0, 55.0, -65.0, 1, 0, 30, 500, 50, 0.5, 0.005, 0]
337340
u0 = [-60, n_inf(-60), m_inf(-60), h_inf(-60), 0.0, 1.0, 0.0]
@@ -348,7 +351,7 @@ Plots.plot(sol, vars = [5, 6])
348351
We can also change these time constants such that the dynamics show short-term depression instead of facilitation.
349352

350353
```@example spikingneural
351-
epsp_ts = DE.PresetTimeCallback(100:100:500, epsp!)
354+
epsp_ts = CB.PresetTimeCallback(100:100:500, epsp!)
352355
353356
p = [35.0, 40.0, 0.3, -77.0, 55.0, -65.0, 1, 0, 30, 100, 1000, 0.5, 0.005, 0]
354357
u0 = [-60, n_inf(-60), m_inf(-60), h_inf(-60), 0.0, 1.0, 0.0]

0 commit comments

Comments
 (0)