Skip to content

Commit 5a3381c

Browse files
Enforce strict root public API QA
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
1 parent 219b502 commit 5a3381c

26 files changed

Lines changed: 74 additions & 1939 deletions

Project.toml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,14 @@ uuid = "764a87c0-6b3e-53db-9096-fe964310641d"
33
version = "5.23.2"
44

55
[deps]
6-
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
76
BoundaryValueDiffEqAscher = "7227322d-7511-4e07-9247-ad6ff830280e"
87
BoundaryValueDiffEqCore = "56b672f2-a5fe-4263-ab2d-da677488eb3a"
98
BoundaryValueDiffEqFIRK = "85d9eb09-370e-4000-bb32-543851f73618"
109
BoundaryValueDiffEqMIRK = "1a22d4ce-7765-49ea-b6f2-13c8438986a6"
1110
BoundaryValueDiffEqMIRKN = "9255f1d6-53bf-473e-b6bd-23f1ff009da4"
1211
BoundaryValueDiffEqShooting = "ed55bfe0-3725-4db6-871e-a1dc9f42a757"
13-
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
14-
FastClosures = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a"
15-
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
16-
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1712
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
18-
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1913
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
20-
SciMLLogging = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1"
2114

2215
[weakdeps]
2316
ODEInterface = "54ca160b-1b9f-5127-a996-1867f4bc2a2c"
@@ -33,11 +26,8 @@ BoundaryValueDiffEqFIRK = "1.17.2"
3326
BoundaryValueDiffEqMIRK = "1.17.2"
3427
BoundaryValueDiffEqMIRKN = "1.16.2"
3528
BoundaryValueDiffEqShooting = "1.17.3"
36-
DiffEqBase = "6.183, 7"
3729
DiffEqDevTools = "2.48, 3"
3830
DifferentiationInterface = "0.7.15"
39-
FastClosures = "0.3.2"
40-
ForwardDiff = "0.10.38, 1"
4131
LinearAlgebra = "1.10"
4232
LinearSolve = "3.87, 4, 5"
4333
NonlinearSolveBase = "2"
@@ -49,19 +39,19 @@ OptimizationBase = "5"
4939
Pkg = "1.10.0"
5040
Random = "1.10"
5141
RecursiveArrayTools = "3.31.2, 4"
52-
Reexport = "1.2"
5342
SafeTestsets = "0.1.0"
5443
SciMLBase = "3.30"
55-
SciMLLogging = "1.10.1, 2"
5644
SciMLTesting = "2.4"
5745
Sparspak = "0.3.11"
5846
StaticArrays = "1.9.8"
5947
Test = "1.10"
6048
julia = "1.10"
6149

6250
[extras]
51+
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
6352
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
6453
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
54+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
6555
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
6656
NonlinearSolveBase = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
6757
NonlinearSolveFirstOrder = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d"
@@ -78,4 +68,4 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
7868
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
7969

8070
[targets]
81-
test = ["DiffEqDevTools", "DifferentiationInterface", "LinearSolve", "NonlinearSolveFirstOrder", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqTsit5", "Pkg", "Random", "RecursiveArrayTools", "SafeTestsets", "SciMLTesting", "Sparspak", "StaticArrays", "Test", "OptimizationBase", "NonlinearSolveBase"]
71+
test = ["ADTypes", "DiffEqDevTools", "DifferentiationInterface", "LinearAlgebra", "LinearSolve", "NonlinearSolveFirstOrder", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqTsit5", "Pkg", "Random", "RecursiveArrayTools", "SafeTestsets", "SciMLTesting", "Sparspak", "StaticArrays", "Test", "OptimizationBase", "NonlinearSolveBase"]

docs/make.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ using BoundaryValueDiffEqCore, BoundaryValueDiffEqMIRK, BoundaryValueDiffEqFIRK,
55
BoundaryValueDiffEqMIRKN
66
using BoundaryValueDiffEqShooting
77
using BoundaryValueDiffEqAscher
8-
using SciMLBase, DiffEqBase
8+
using SciMLBase
99
using BoundaryValueDiffEq
1010
using SimpleBoundaryValueDiffEq
1111

@@ -27,12 +27,10 @@ makedocs(;
2727
modules = [
2828
BoundaryValueDiffEqCore, BoundaryValueDiffEqMIRK, BoundaryValueDiffEqFIRK,
2929
BoundaryValueDiffEqMIRKN, BoundaryValueDiffEqShooting, BoundaryValueDiffEqAscher,
30-
SciMLBase, DiffEqBase, BoundaryValueDiffEq, SimpleBoundaryValueDiffEq,
30+
BoundaryValueDiffEq,
3131
],
3232
clean = true,
33-
doctest = false,
3433
checkdocs = :exports,
35-
warnonly = [:missing_docs, :cross_references],
3634
plugins = [bib, interlinks],
3735
format = Documenter.HTML(
3836
assets = ["assets/favicon.ico"],

docs/src/basics/autodiff.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ BVPJacobianAlgorithm
1212

1313
In BoundaryValueDiffEq.jl, automatic differentiation backend should only be wrapped in `BVPJacobianAlgorithm(diffmode, bc_diffmode, nonbc_diffmode)`. `BVPJacobianAlgorithm(diffmode, bc_diffmode, nonbc_diffmode)` supports user-specified mixed automatic differentiation backends in different part of a boundary value problem, and AD choice should depended on the type of boundary value problem:
1414

15-
- [`BVProblem`](@ref SciMLBase.BVProblem): Differentiation mode for boundary condition part and non boundary condition part should be specified, for example, `BVPJacobianAlgorithm(; bc_diffmode, nonbc_diffmode)`, default to `BVPJacobianAlgorithm(; bc_diffmode = AutoForwardDiff(), nonbc_diffmode = AutoSparse(AutoForwardDiff()))`.
16-
- [`TwoPointBVProblem`](@ref SciMLBase.TwoPointBVProblem): Differentiation mode for overall solving should be specified, for example, `BVPJacobianAlgorithm(; diffmode)`, default to `BVPJacobianAlgorithm(; diffmode = AutoSparse(AutoForwardDiff()))`.
15+
- `BVProblem`: Differentiation mode for boundary condition part and non boundary condition part should be specified, for example, `BVPJacobianAlgorithm(; bc_diffmode, nonbc_diffmode)`, default to `BVPJacobianAlgorithm(; bc_diffmode = AutoForwardDiff(), nonbc_diffmode = AutoSparse(AutoForwardDiff()))`.
16+
- `TwoPointBVProblem`: Differentiation mode for overall solving should be specified, for example, `BVPJacobianAlgorithm(; diffmode)`, default to `BVPJacobianAlgorithm(; diffmode = AutoSparse(AutoForwardDiff()))`.
1717

1818
In BoundaryValueDiffEq.jl, we require AD to obtain the Jacobian of the loss function which contains the collocation equation and boundary condition equations. For `TwoPointBVProblem`, the Jacobian of the loss function is a sparse banded matrix with known sparsity pattern, but for general multi-points `BVProblem`, the Jacobian of the loss function is an almost banded matrix, which has the first several rows as the boundary conditions and the rest as a sparse banded matrix with known sparsity pattern but without the first several rows. In this case, we can specify mixed AD backend in `BVPJacobianAlgorithm` to make the most of the different sparsity pattern to accelerate BVP solving process.
1919

docs/src/basics/bvp_functions.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,5 @@ The SciML ecosystem provides an extensive interface for declaring extra function
44

55
## Function Type Definitions
66

7-
```@docs
8-
SciMLBase.BVPFunction
9-
SciMLBase.DynamicalBVPFunction
10-
```
7+
See SciMLBase for the full constructor contracts of `BVPFunction` and
8+
`DynamicalBVPFunction`.

docs/src/basics/bvp_problem.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ BoundaryValueDiffEq.jl tackles five related types of boundary value problems:
1212

1313
## Problem Construction Details
1414

15-
```@docs
16-
BVProblem
17-
TwoPointBVProblem
18-
SecondOrderBVProblem
19-
TwoPointSecondOrderBVProblem
20-
```
15+
These problem constructors are defined by SciMLBase:
16+
17+
- `BVProblem`
18+
- `TwoPointBVProblem`
19+
- `SecondOrderBVProblem`
20+
- `TwoPointSecondOrderBVProblem`

docs/src/basics/verbosity.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Pass a `BVPVerbosity` object to `solve` or `init` using the `verbose` keyword ar
1010

1111
```julia
1212
using BoundaryValueDiffEq
13+
using SciMLBase: BVProblem, init, solve
1314

1415
# Define a boundary value problem
1516
function f!(du, u, p, t)

docs/src/tutorials/continuation.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Since this BVP would become difficult to solve when ``0<ε\ll 1``, we start the
2121

2222
```@example continuation
2323
using BoundaryValueDiffEq, Plots
24+
using SciMLBase: BVProblem, solve
2425
function f!(du, u, p, t)
2526
du[1] = u[2]
2627
du[2] = -t / p * u[2] - pi^2 * cospi(t) - pi * t / p * sinpi(t)

docs/src/tutorials/extremum.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ where `lb=-4.8161991710010925` and `ub=5.0496477654230745`. So the states must c
1313

1414
```@example inequality
1515
using BoundaryValueDiffEq
16+
using ADTypes: AutoFiniteDiff, AutoSparse
17+
using SciMLBase: BVProblem, solve
1618
tspan = (0.0, pi / 2)
1719
function simplependulum!(du, u, p, t)
1820
θ = u[1]

docs/src/tutorials/getting_started.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Consider the linear two-point boundary value problem from [standard BVP test pro
1919

2020
```@example getting_started
2121
using BoundaryValueDiffEq
22+
using SciMLBase: BVProblem, SecondOrderBVProblem, TwoPointBVProblem, solve
2223
function f!(du, u, p, t)
2324
du[1] = u[2]
2425
du[2] = u[1]

docs/src/tutorials/optimal_control.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ c = 0.5 * sqrt(g_0 * h_0) # Thrust-to-fuel mass
170170
D_c = 0.5 * 620 * m_0 / g_0 # Drag scaling
171171
u_t_max = 3.5 * g_0 * m_0 # Maximum thrust
172172
T_max = 0.2 # Number of seconds
173-
T = 1_000 # Number of time steps
173+
T = 100 # Number of time steps
174174
Δt = 0.2 / T; # Time per discretized step
175175
176176
tspan = (0.0, 0.2)

0 commit comments

Comments
 (0)