Skip to content

Commit c3ec6e5

Browse files
ChrisRackauckas-ClaudeChrisRackauckasclaude
authored
Fix test imports and tableau export conflicts for v7 (#3368)
- Remove all exports from OrdinaryDiffEqExplicitTableaus — tableau functions are data, not API; use import + qualified access instead - Switch all test files from `using OrdinaryDiffEqExplicitTableaus` to `import OrdinaryDiffEqExplicitTableaus` with qualified calls - Add OrdinaryDiffEqNonlinearSolve import to event_dae_addsteps.jl (for BrownFullBasicInit) - Add OrdinaryDiffEqSDIRK import to integrator_interface_tests.jl (for Trapezoid) - Add OrdinaryDiffEqRosenbrock import to resize_tests.jl - Fix split_methods_tests.jl to use OrdinaryDiffEqNonlinearSolve directly instead of OrdinaryDiffEq.OrdinaryDiffEqNonlinearSolve - Add InteractiveUtils to test dependencies Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a6f758c commit c3ec6e5

12 files changed

Lines changed: 37 additions & 47 deletions

File tree

Project.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ ElasticArrays = "fdbdab4c-e67f-52f5-8c3f-e7b388dad3d4"
7979
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
8080
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
8181
IncompleteLU = "40713840-3770-5561-ab4c-a76e7d0d7895"
82+
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
8283
JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
8384
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
8485
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
@@ -127,4 +128,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
127128
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
128129

129130
[targets]
130-
test = ["ADTypes", "ArrayInterface", "ComponentArrays", "AlgebraicMultigrid", "DiffEqBase", "DiffEqCallbacks", "DifferentiationInterface", "DiffEqDevTools", "ExplicitImports", "ForwardDiff", "IncompleteLU", "LinearAlgebra", "LinearSolve", "ODEProblemLibrary", "OrdinaryDiffEqAdamsBashforthMoulton", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqExplicitRK", "OrdinaryDiffEqExplicitTableaus", "OrdinaryDiffEqExponentialRK", "OrdinaryDiffEqExtrapolation", "OrdinaryDiffEqFIRK", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqFunctionMap", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqIMEXMultistep", "OrdinaryDiffEqLinear", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "NonlinearSolve", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqNordsieck", "OrdinaryDiffEqPDIRK", "OrdinaryDiffEqPRK", "OrdinaryDiffEqQPRK", "OrdinaryDiffEqRKN", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqStabilizedIRK", "OrdinaryDiffEqStabilizedRK", "OrdinaryDiffEqSymplecticRK", "ElasticArrays", "JLArrays", "Random", "SafeTestsets", "StableRNGs", "StructArrays", "Test", "Unitful", "Pkg", "RecursiveArrayTools", "RecursiveFactorization", "SparseArrays", "SparseConnectivityTracer", "SparseMatrixColorings", "StaticArrays", "Statistics"]
131+
test = ["ADTypes", "ArrayInterface", "ComponentArrays", "AlgebraicMultigrid", "DiffEqBase", "DiffEqCallbacks", "DifferentiationInterface", "DiffEqDevTools", "ExplicitImports", "ForwardDiff", "IncompleteLU", "InteractiveUtils", "LinearAlgebra", "LinearSolve", "ODEProblemLibrary", "OrdinaryDiffEqAdamsBashforthMoulton", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqExplicitRK", "OrdinaryDiffEqExplicitTableaus", "OrdinaryDiffEqExponentialRK", "OrdinaryDiffEqExtrapolation", "OrdinaryDiffEqFIRK", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqFunctionMap", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqIMEXMultistep", "OrdinaryDiffEqLinear", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "NonlinearSolve", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqNordsieck", "OrdinaryDiffEqPDIRK", "OrdinaryDiffEqPRK", "OrdinaryDiffEqQPRK", "OrdinaryDiffEqRKN", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqStabilizedIRK", "OrdinaryDiffEqStabilizedRK", "OrdinaryDiffEqSymplecticRK", "ElasticArrays", "JLArrays", "Random", "SafeTestsets", "StableRNGs", "StructArrays", "Test", "Unitful", "Pkg", "RecursiveArrayTools", "RecursiveFactorization", "SparseArrays", "SparseConnectivityTracer", "SparseMatrixColorings", "StaticArrays", "Statistics"]

lib/OrdinaryDiffEqExplicitTableaus/src/OrdinaryDiffEqExplicitTableaus.jl

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,6 @@ module OrdinaryDiffEqExplicitTableaus
22

33
import DiffEqBase
44

5-
export Baker10, BogakiShampine3, BogakiShampine5, Butcher6, Butcher62, Butcher63,
6-
Butcher7, CashKarp, Cassity5, Chummund6, Chummund62, ClassicVerner6, ClassicVerner7,
7-
ClassicVerner8, CooperVerner8, CooperVerner82, Curtis10, Curtis8,
8-
DormandLockyerMcCorriganPrince6, DormandPrince6, DormandPrince8, DormandPrince8_64bit,
9-
Dverk, dverk78, EnrightVerner7, EnrightVerner8, Euler, Feagin10, Feagin12, Feagin14,
10-
Hairer10, Heun, Huta6, Huta62, Kutta3, Lawson5, Lawson6, LobattoIIICStar2,
11-
LutherKonen5, LutherKonen52, LutherKonen53, MikkawyEisa, Ono10, Ono12, Papakostas6,
12-
PapakostasPapaGeorgiou5, PapakostasPapaGeorgiou52, Ralston, Ralston4, RK4, RK438Rule,
13-
RKF4, RKF5, RKF8, RKO65, RungeFirst5, Sharp9, SharpSmart5, SharpSmart7, SharpVerner6,
14-
SharpVerner7, SSPRK104, SSPRK22, SSPRK33, SSPRK43,
15-
TanakaKasugaYamashitaYazaki6A, TanakaKasugaYamashitaYazaki6B,
16-
TanakaKasugaYamashitaYazaki6C, TanakaKasugaYamashitaYazaki6D,
17-
TanakaYamashitaEfficient7, TanakaYamashitaStable7, Tsitouras5, Tsitouras9, Tsitouras92,
18-
TsitourasPapakostas6, TsitourasPapakostas8, Verner6, Verner7, Verner8, Verner916,
19-
Verner9162, VernerEfficient6, VernerEfficient7, VernerEfficient9, VernerRobust6,
20-
VernerRobust7, VernerRobust9
21-
225
include("tableaus_low_order.jl") # Orders 1-4: Euler, Heun, RK4, SSPRK, etc.
236
include("tableaus_order5.jl") # Order 5: RKF5, Tsitouras5, BogakiShampine5, CashKarp, etc.
247
include("tableaus_order6.jl") # Order 6: Butcher6, Verner6, DormandPrince6, etc.

lib/OrdinaryDiffEqExplicitTableaus/test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using OrdinaryDiffEqExplicitTableaus
1+
import OrdinaryDiffEqExplicitTableaus
22
using DiffEqBase
33
using DiffEqDevTools
44
using Test

lib/OrdinaryDiffEqVerner/test/ode_verner_tests.jl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using OrdinaryDiffEqVerner, OrdinaryDiffEqCore, OrdinaryDiffEqExplicitRK, OrdinaryDiffEqExplicitTableaus
1+
using OrdinaryDiffEqVerner, OrdinaryDiffEqCore, OrdinaryDiffEqExplicitRK
2+
import OrdinaryDiffEqExplicitTableaus
23
using DiffEqDevTools, Test
34
import ODEProblemLibrary: prob_ode_linear, prob_ode_2Dlinear, prob_ode_bigfloatlinear, prob_ode_bigfloat2Dlinear
45

@@ -40,7 +41,7 @@ dts = (1 / 2) .^ (8:-1:5)
4041
check_convergence(dts, probnumbig, Vern6(), 6)
4142
check_convergence(dts, probbig, Vern6(), 6)
4243

43-
tabalg = ExplicitRK(tableau = VernerEfficient6(BigFloat))
44+
tabalg = ExplicitRK(tableau = OrdinaryDiffEqExplicitTableaus.VernerEfficient6(BigFloat))
4445
sol1 = solve(probnumbig, Vern6(); dt = 1 / 2^6, adaptive = false, save_everystep = false)
4546
sol2 = solve(probnumbig, tabalg; dt = 1 / 2^6, adaptive = false, save_everystep = false)
4647
@test sol1.u[end] - sol2.u[end] < 1.0e-10
@@ -62,7 +63,7 @@ dts = (1 / 2) .^ (6:-1:3)
6263
check_convergence(dts, probnumbig, Vern7(), 7)
6364
check_convergence(dts, probbig, Vern7(), 7)
6465

65-
tabalg = ExplicitRK(tableau = Verner7(BigFloat))
66+
tabalg = ExplicitRK(tableau = OrdinaryDiffEqExplicitTableaus.Verner7(BigFloat))
6667
sol1 = solve(probnumbig, Vern7(); dt = 1 / 2^6, adaptive = false, save_everystep = false)
6768
sol2 = solve(probnumbig, tabalg; dt = 1 / 2^6, adaptive = false, save_everystep = false)
6869
@test sol1.u[end] - sol2.u[end] < 1.0e-10
@@ -84,7 +85,7 @@ dts = (1 / 2) .^ (6:-1:3)
8485
check_convergence(dts, probnumbig, Vern8(), 8)
8586
check_convergence(dts, probbig, Vern8(), 8)
8687

87-
tabalg = ExplicitRK(tableau = Verner8(BigFloat))
88+
tabalg = ExplicitRK(tableau = OrdinaryDiffEqExplicitTableaus.Verner8(BigFloat))
8889
sol1 = solve(probnumbig, Vern8(); dt = 1 / 2^6, adaptive = false, save_everystep = false)
8990
sol2 = solve(probnumbig, tabalg; dt = 1 / 2^6, adaptive = false, save_everystep = false)
9091
@test sol1.u[end] - sol2.u[end] < 1.0e-10
@@ -106,7 +107,7 @@ dts = (1 / 2) .^ (6:-1:3)
106107
check_convergence(dts, probnumbig, Vern9(), 9)
107108
check_convergence(dts, probbig, Vern9(), 9)
108109

109-
tabalg = ExplicitRK(tableau = VernerEfficient9(BigFloat))
110+
tabalg = ExplicitRK(tableau = OrdinaryDiffEqExplicitTableaus.VernerEfficient9(BigFloat))
110111
sol1 = solve(probnumbig, Vern9(); dt = 1 / 2^6, adaptive = false, save_everystep = false)
111112
sol2 = solve(probnumbig, tabalg; dt = 1 / 2^6, adaptive = false, save_everystep = false)
112113
@test abs(sol1.u[end] - sol2.u[end]) < 1.0e-15

test/algconvergence/split_methods_tests.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using OrdinaryDiffEq, DiffEqDevTools, Test, Random
22
using OrdinaryDiffEqBDF, OrdinaryDiffEqIMEXMultistep, OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqSDIRK, OrdinaryDiffEqStabilizedIRK
3+
using OrdinaryDiffEqNonlinearSolve
34
testTol = 0.2
45

56
Random.seed!(100)
@@ -58,7 +59,7 @@ sim = test_convergence(dts, prob, CFNLIRK3())
5859
@test sim.𝒪est[:l∞] 3 atol = testTol
5960

6061
sol = solve(
61-
prob, KenCarp3(nlsolve = OrdinaryDiffEq.OrdinaryDiffEqNonlinearSolve.NLFunctional())
62+
prob, KenCarp3(nlsolve = OrdinaryDiffEqNonlinearSolve.NLFunctional())
6263
)
6364
dts = 1 .// 2 .^ (8:-1:4)
6465
sim = test_convergence(dts, prob, KenCarp3())

test/integrators/integrator_interface_tests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using DiffEqBase: set_t!, set_u!, set_ut!
22
using OrdinaryDiffEq
3-
using OrdinaryDiffEqLowOrderRK
3+
using OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqSDIRK
44

55
println("First")
66
# set_X!(integrator, integrator.X) should not change the result.

test/integrators/resize_tests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using OrdinaryDiffEq, Test, ADTypes, SparseMatrixColorings, DiffEqBase, ForwardDiff, SciMLBase, LinearSolve
2-
using OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqSDIRK
2+
using OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqSDIRK, OrdinaryDiffEqRosenbrock
33
import OrdinaryDiffEqDifferentiation.DI
44

55
f(du, u, p, t) = du .= u

test/interface/composite_algorithm_test.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
using OrdinaryDiffEq, OrdinaryDiffEqCore, Test, LinearAlgebra
22
import ODEProblemLibrary: prob_ode_linear, prob_ode_2Dlinear
33
using DiffEqDevTools, ADTypes
4-
using OrdinaryDiffEqAdamsBashforthMoulton, OrdinaryDiffEqExplicitRK, OrdinaryDiffEqExplicitTableaus, OrdinaryDiffEqRosenbrock
4+
using OrdinaryDiffEqAdamsBashforthMoulton, OrdinaryDiffEqExplicitRK, OrdinaryDiffEqRosenbrock
5+
import OrdinaryDiffEqExplicitTableaus
56
using OrdinaryDiffEqCore: CompositeAlgorithm
67

78
prob = prob_ode_2Dlinear
@@ -85,7 +86,7 @@ sol = solve(prob, alg = AutoVern7(Rodas5()))
8586

8687
sol = solve(
8788
prob,
88-
alg = OrdinaryDiffEqCore.AutoAlgSwitch(ExplicitRK(Verner7()), Rodas5())
89+
alg = OrdinaryDiffEqCore.AutoAlgSwitch(ExplicitRK(OrdinaryDiffEqExplicitTableaus.Verner7()), Rodas5())
8990
)
9091
@test sol.t[end] == 1000.0
9192

test/interface/event_dae_addsteps.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using OrdinaryDiffEq, LinearAlgebra, Test
2-
using OrdinaryDiffEqRosenbrock
2+
using OrdinaryDiffEqRosenbrock, OrdinaryDiffEqNonlinearSolve
33

44
function dynamics!(dx, x, θ, t)
55
zmin, zmax, M, g = θ

test/interface/ode_initdt_tests.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
using OrdinaryDiffEq, DiffEqDevTools, Test
22
import ODEProblemLibrary: prob_ode_linear, prob_ode_2Dlinear
3-
using OrdinaryDiffEqExplicitRK, OrdinaryDiffEqExplicitTableaus, OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqRosenbrock
3+
using OrdinaryDiffEqExplicitRK, OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqRosenbrock
4+
import OrdinaryDiffEqExplicitTableaus
45

56
prob = prob_ode_linear
67
sol = solve(prob, Rosenbrock32())
78
dt₀ = sol.t[2]
89

910
prob = prob_ode_2Dlinear
10-
sol = solve(prob, ExplicitRK(tableau = BogakiShampine3()))
11+
sol = solve(prob, ExplicitRK(tableau = OrdinaryDiffEqExplicitTableaus.BogakiShampine3()))
1112
dt₀ = sol.t[2]
1213

1314
@test 1.0e-7 < dt₀ < 0.1
1415
@test_throws ArgumentError local sol = solve(prob, Euler())
1516
#dt₀ = sol.t[2]
1617

17-
sol3 = solve(prob, ExplicitRK(tableau = DormandPrince8_64bit()))
18+
sol3 = solve(prob, ExplicitRK(tableau = OrdinaryDiffEqExplicitTableaus.DormandPrince8_64bit()))
1819
dt₀ = sol3.t[2]
1920

2021
@test 1.0e-7 < dt₀ < 0.3

0 commit comments

Comments
 (0)