Skip to content

Commit 0f0f278

Browse files
authored
Merge pull request #307 from SciML/qqy/abstraction
2 parents 40da85c + 0355e71 commit 0f0f278

37 files changed

+166
-134
lines changed

Project.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,22 @@ BoundaryValueDiffEqFIRK = "1"
4242
BoundaryValueDiffEqMIRK = "1"
4343
BoundaryValueDiffEqMIRKN = "1"
4444
BoundaryValueDiffEqShooting = "1"
45-
DiffEqBase = "6.161.0"
45+
DiffEqBase = "6.167"
4646
DiffEqDevTools = "2.45"
4747
FastClosures = "0.3.2"
4848
ForwardDiff = "0.10.38, 1"
4949
Hwloc = "3.3"
5050
InteractiveUtils = "<0.0.1, 1"
5151
JET = "0.9"
5252
LinearAlgebra = "1.10"
53+
NonlinearSolveFirstOrder = "1.3"
5354
ODEInterface = "0.5"
54-
OrdinaryDiffEq = "6.90.1"
55+
OrdinaryDiffEq = "6.93"
5556
Pkg = "1.10.0"
5657
Random = "1.10"
5758
ReTestItems = "1.29"
5859
Reexport = "1.2"
59-
SciMLBase = "2.71"
60+
SciMLBase = "2.82"
6061
StaticArrays = "1.9.8"
6162
Test = "1.10"
6263
julia = "1.10"

docs/Project.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
1919
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
2020
SimpleBoundaryValueDiffEq = "be0294bd-f90f-4760-ac4e-3421ce2b2da0"
2121

22+
[sources]
23+
BoundaryValueDiffEq = {path = "../"}
24+
BoundaryValueDiffEqAscher = {path = "../lib/BoundaryValueDiffEqAscher"}
25+
BoundaryValueDiffEqCore = {path = "../lib/BoundaryValueDiffEqCore"}
26+
BoundaryValueDiffEqFIRK = {path = "../lib/BoundaryValueDiffEqFIRK"}
27+
BoundaryValueDiffEqMIRK = {path = "../lib/BoundaryValueDiffEqMIRK"}
28+
BoundaryValueDiffEqMIRKN = {path = "../lib/BoundaryValueDiffEqMIRKN"}
29+
BoundaryValueDiffEqShooting = {path = "../lib/BoundaryValueDiffEqShooting"}
30+
31+
2232
[compat]
2333
ADTypes = "1.9"
2434
BoundaryValueDiffEq = "5.13.0"

docs/src/assets/Project.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
1919
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
2020
SimpleBoundaryValueDiffEq = "be0294bd-f90f-4760-ac4e-3421ce2b2da0"
2121

22+
[sources]
23+
BoundaryValueDiffEq = {path = "../"}
24+
BoundaryValueDiffEqAscher = {path = "../lib/BoundaryValueDiffEqAscher"}
25+
BoundaryValueDiffEqCore = {path = "../lib/BoundaryValueDiffEqCore"}
26+
BoundaryValueDiffEqFIRK = {path = "../lib/BoundaryValueDiffEqFIRK"}
27+
BoundaryValueDiffEqMIRK = {path = "../lib/BoundaryValueDiffEqMIRK"}
28+
BoundaryValueDiffEqMIRKN = {path = "../lib/BoundaryValueDiffEqMIRKN"}
29+
BoundaryValueDiffEqShooting = {path = "../lib/BoundaryValueDiffEqShooting"}
30+
31+
2232
[compat]
2333
ADTypes = "1.9"
2434
BoundaryValueDiffEq = "5.13.0"

docs/src/basics/error_control.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ DefectControl
2525
GlobalErrorControl
2626
SequentialErrorControl
2727
HybridErrorControl
28+
NoErrorControl
2829
```
2930

3031
While we can achieve global error control in different ways, we can use different methods to estimate the global error:

docs/src/basics/solve.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
## Iteration Controls
44

5-
- `abstol::Number`: The absolute tolerance. Defaults to `1e-3`.
6-
- `reltol::Number`: The relative tolerance. Defaults to `1e-3`.
5+
- `abstol::Number`: The absolute tolerance. Defaults to `1e-6`.
76
- `defect_threshold`: Monitor of the size of defect norm. Defaults to `0.1`.
87
- `odesolve_kwargs`: OrdinaryDiffEq.jl solvers kwargs for passing to ODE solving in shooting methods.
98
- `nlsolve_kwargs`: NonlinearSolve.jl solvers kwargs for passing to nonlinear solving in collocation methods and shootingn methods.

docs/src/devdocs/internal_interfaces.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
## Solvers
44

55
```julia
6-
BoundaryValueDiffEqCore.BoundaryValueDiffEqAlgorithm
6+
BoundaryValueDiffEqCore.AbstractBoundaryValueDiffEqAlgorithm
77
```

docs/src/tutorials/solve_nlls_bvp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ end
3535
tspan = (0.0, 100.0)
3636
u0 = [0.0, 1.0]
3737
prob = BVProblem(BVPFunction(f!, bc!; bcresid_prototype = zeros(3)), u0, tspan)
38-
sol = solve(prob, MIRK4(), dt = 0.01)
38+
sol = solve(prob, MIRK4(), dt = 0.01, abstol = 1e-3)
3939
plot(sol)
4040
```
4141

ext/BoundaryValueDiffEqODEInterfaceExt.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
module BoundaryValueDiffEqODEInterfaceExt
22

33
using BoundaryValueDiffEq: BVPM2, BVPSOL, COLNEW
4-
using BoundaryValueDiffEqCore: BoundaryValueDiffEqAlgorithm, __extract_u0,
5-
__initial_guess_length, __extract_mesh,
4+
using BoundaryValueDiffEqCore: __extract_u0, __initial_guess_length, __extract_mesh,
65
__flatten_initial_guess, __get_bcresid_prototype,
76
__has_initial_guess, __initial_guess
87
using SciMLBase: SciMLBase, BVProblem, TwoPointBVProblem, ReturnCode

lib/BoundaryValueDiffEqAscher/src/BoundaryValueDiffEqAscher.jl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ module BoundaryValueDiffEqAscher
22

33
using ADTypes: ADTypes, AutoSparse, AutoForwardDiff
44
using AlmostBlockDiagonals: AlmostBlockDiagonals, IntermediateAlmostBlockDiagonal
5-
using BoundaryValueDiffEqCore: BVPJacobianAlgorithm, __extract_problem_details,
6-
concrete_jacobian_algorithm, __Fix3,
7-
__concrete_nonlinearsolve_algorithm,
8-
__internal_nlsolve_problem, BoundaryValueDiffEqAlgorithm,
9-
__vec, __vec_f, __vec_f!, __vec_bc, __vec_bc!,
10-
__extract_mesh, get_dense_ad, __get_bcresid_prototype
5+
using BoundaryValueDiffEqCore: AbstractBoundaryValueDiffEqAlgorithm,
6+
AbstractBoundaryValueDiffEqCache, BVPJacobianAlgorithm,
7+
__extract_problem_details, concrete_jacobian_algorithm,
8+
__Fix3, __concrete_nonlinearsolve_algorithm,
9+
__internal_nlsolve_problem, __vec, __vec_f, __vec_f!,
10+
__vec_bc, __vec_bc!, __extract_mesh, get_dense_ad,
11+
__get_bcresid_prototype, __split_kwargs
12+
1113
using ConcreteStructs: @concrete
1214
using DiffEqBase: DiffEqBase
1315
using DifferentiationInterface: DifferentiationInterface, Constant, prepare_jacobian

lib/BoundaryValueDiffEqAscher/src/algorithms.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
abstract type AbstractAscher <: BoundaryValueDiffEqAlgorithm end
1+
abstract type AbstractAscher <: AbstractBoundaryValueDiffEqAlgorithm end
22

33
for stage in (1, 2, 3, 4, 5, 6, 7)
44
alg = Symbol("Ascher$(stage)")

0 commit comments

Comments
 (0)