Skip to content

Commit 80091f1

Browse files
authored
Merge branch 'SciML:master' into iss3707
2 parents f9f5257 + 96602e3 commit 80091f1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+2425
-1435
lines changed

.github/workflows/Downstream.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
pull_request:
77
paths-ignore:
88
- 'docs/**'
9+
- 'benchmark/**'
910

1011
concurrency:
1112
# Skip intermediate builds: always, but for the master branch and tags.
@@ -26,6 +27,7 @@ jobs:
2627
os: [ubuntu-latest]
2728
package:
2829
- {user: SciML, repo: SciMLBase.jl, group: Downstream}
30+
- {user: SciML, repo: SciMLBase.jl, group: SymbolicIndexingInterface}
2931
- {user: SciML, repo: Catalyst.jl, group: All}
3032
- {user: SciML, repo: CellMLToolkit.jl, group: Core}
3133
- {user: SciML, repo: SBMLToolkit.jl, group: All}

.github/workflows/ReleaseTest.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
pull_request:
77
paths-ignore:
88
- 'docs/**'
9+
- 'benchmark/**'
910

1011
concurrency:
1112
# Skip intermediate builds: always, but for the master branch and tags.

.github/workflows/Tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ on:
1313
- master
1414
paths-ignore:
1515
- 'docs/**'
16+
- 'benchmark/**'
1617

1718
concurrency:
1819
# Skip intermediate builds: always, but for the master branch.

.github/workflows/benchmark.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ jobs:
2222
- uses: MilesCranmer/AirspeedVelocity.jl@action-v1
2323
with:
2424
julia-version: "${{ matrix.version }}"
25+
script: "benchmark/benchmarks.jl"
26+
extra-pkgs: "ModelingToolkitStandardLibrary,OrdinaryDiffEqDefault"

Project.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ModelingToolkit"
22
uuid = "961ee093-0014-501f-94e3-6117800e7a78"
33
authors = ["Yingbo Ma <[email protected]>", "Chris Rackauckas <[email protected]> and contributors"]
4-
version = "10.2.0"
4+
version = "10.5.0"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -98,7 +98,7 @@ Combinatorics = "1"
9898
CommonSolve = "0.2.4"
9999
Compat = "3.42, 4"
100100
ConstructionBase = "1"
101-
DataInterpolations = "6.4"
101+
DataInterpolations = "7, 8"
102102
DataStructures = "0.17, 0.18"
103103
DeepDiffs = "1"
104104
DelayDiffEq = "5.50"
@@ -129,6 +129,7 @@ LabelledArrays = "1.3"
129129
Latexify = "0.11, 0.12, 0.13, 0.14, 0.15, 0.16"
130130
Libdl = "1"
131131
LinearAlgebra = "1"
132+
LinearSolve = "3"
132133
Logging = "1"
133134
MLStyle = "0.4.17"
134135
ModelingToolkitStandardLibrary = "2.20"
@@ -148,7 +149,7 @@ RecursiveArrayTools = "3.26"
148149
Reexport = "0.2, 1"
149150
RuntimeGeneratedFunctions = "0.5.9"
150151
SCCNonlinearSolve = "1.0.0"
151-
SciMLBase = "2.91.1"
152+
SciMLBase = "2.100.0"
152153
SciMLPublic = "1.0.0"
153154
SciMLStructures = "1.7"
154155
Serialization = "1"
@@ -180,6 +181,7 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
180181
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
181182
Ipopt_jll = "9cc047cb-c261-5740-88fc-0cf96f7bdcc7"
182183
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
184+
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
183185
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
184186
ModelingToolkitStandardLibrary = "16a59e39-deab-5bd0-87e4-056b12336739"
185187
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
@@ -205,4 +207,4 @@ Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
205207
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
206208

207209
[targets]
208-
test = ["AmplNLWriter", "BenchmarkTools", "BoundaryValueDiffEqMIRK", "BoundaryValueDiffEqAscher", "ControlSystemsBase", "DataInterpolations", "DelayDiffEq", "NonlinearSolve", "ForwardDiff", "Ipopt", "Ipopt_jll", "ModelingToolkitStandardLibrary", "Optimization", "OptimizationOptimJL", "OptimizationMOI", "OrdinaryDiffEq", "OrdinaryDiffEqCore", "OrdinaryDiffEqDefault", "REPL", "Random", "ReferenceTests", "SafeTestsets", "StableRNGs", "Statistics", "SteadyStateDiffEq", "Test", "StochasticDiffEq", "Sundials", "StochasticDelayDiffEq", "Pkg", "JET", "OrdinaryDiffEqNonlinearSolve", "Logging", "OptimizationBase"]
210+
test = ["AmplNLWriter", "BenchmarkTools", "BoundaryValueDiffEqMIRK", "BoundaryValueDiffEqAscher", "ControlSystemsBase", "DataInterpolations", "DelayDiffEq", "NonlinearSolve", "ForwardDiff", "Ipopt", "Ipopt_jll", "ModelingToolkitStandardLibrary", "Optimization", "OptimizationOptimJL", "OptimizationMOI", "OrdinaryDiffEq", "OrdinaryDiffEqCore", "OrdinaryDiffEqDefault", "REPL", "Random", "ReferenceTests", "SafeTestsets", "StableRNGs", "Statistics", "SteadyStateDiffEq", "Test", "StochasticDiffEq", "Sundials", "StochasticDelayDiffEq", "Pkg", "JET", "OrdinaryDiffEqNonlinearSolve", "Logging", "OptimizationBase", "LinearSolve"]

benchmark/Project.toml

Lines changed: 0 additions & 3 deletions
This file was deleted.

benchmark/benchmarks.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using ModelingToolkit, BenchmarkTools
22
using ModelingToolkitStandardLibrary
3-
using ModelingToolkitStandardLibrary.Thermal
3+
using ModelingToolkitStandardLibrary.Electrical
4+
using ModelingToolkitStandardLibrary.Mechanical.Rotational
5+
using ModelingToolkitStandardLibrary.Blocks
46
using OrdinaryDiffEqDefault
57

68
const SUITE = BenchmarkGroup()
@@ -51,4 +53,4 @@ tspan = (0.0, 6.0)
5153
SUITE["ODEProblem"] = @benchmarkable ODEProblem($model, $u0, $tspan)
5254

5355
prob = ODEProblem(model, u0, tspan)
54-
SUITE["init"] = init($prob)
56+
SUITE["init"] = @benchmarkable init($prob)

docs/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
3535
Attractors = "1.24"
3636
BenchmarkTools = "1.3"
3737
BifurcationKit = "0.4"
38-
CairoMakie = "0.13"
38+
CairoMakie = "0.13, 0.15"
3939
CommonSolve = "0.2"
4040
DataInterpolations = "6.5, 8"
4141
DiffEqDevTools = "2"

docs/src/API/codegen.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ ModelingToolkit.generate_constraint_hessian
2121
ModelingToolkit.generate_control_jacobian
2222
ModelingToolkit.build_explicit_observed_function
2323
ModelingToolkit.generate_control_function
24+
ModelingToolkit.generate_update_A
25+
ModelingToolkit.generate_update_b
2426
```
2527

2628
For functions such as jacobian calculation which require symbolic computation, there
@@ -42,6 +44,7 @@ ModelingToolkit.cost_hessian_sparsity
4244
ModelingToolkit.calculate_constraint_jacobian
4345
ModelingToolkit.calculate_constraint_hessian
4446
ModelingToolkit.calculate_control_jacobian
47+
ModelingToolkit.calculate_A_b
4548
```
4649

4750
All code generation eventually calls `build_function_wrapper`.

docs/src/API/dynamic_opt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### Solvers
1+
# [Dynamic Optimization Solvers](@id dynamic_opt_api)
22

33
Currently 4 backends are exposed for solving dynamic optimization problems using collocation: JuMP, InfiniteOpt, CasADi, and Pyomo.
44

0 commit comments

Comments
 (0)