Skip to content

Commit

Permalink
Merge pull request #178 from SciML/Projecttomls
Browse files Browse the repository at this point in the history
Split project tomls
  • Loading branch information
christopher-dG authored Jun 23, 2020
2 parents d236910 + e6b01cf commit 9f10e63
Show file tree
Hide file tree
Showing 14 changed files with 98 additions and 98 deletions.
16 changes: 6 additions & 10 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,15 @@ on:

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
julia-version: [1.2.0]
julia-arch: [x86]
os: [ubuntu-latest]
runs-on: ubuntu-latest
steps:
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.julia-version }}
- name: Pkg.add("CompatHelper")
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
- name: CompatHelper.main()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: julia -e 'using CompatHelper; CompatHelper.main()'
run: |
julia -e '
using CompatHelper
dirs = filter(isdir, readdir("tutorials"; join=true))
CompatHelper.main(; subdirs=["", dirs...])'
85 changes: 1 addition & 84 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,95 +4,12 @@ authors = ["Chris Rackauckas <[email protected]>"]
version = "0.7.0"

[deps]
AlgebraicMultigrid = "2169fc97-5a83-5252-b627-83903c6c433c"
ArbNumerics = "7e558dbc-694d-5a72-987c-6f4ebed21442"
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
CUDAnative = "be33ccc6-a3ff-5ff2-a52e-74243cff1e17"
Cairo = "159f3aea-2a34-519c-b102-8c37f9878175"
CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae"
DecFP = "55939f99-70c6-5e9b-8bb0-5071ed7d61fd"
Decimals = "abce61dc-4473-55a0-ba07-351d65e31d42"
DiffEqBayes = "ebbdde9d-f333-5424-9be2-dbf1e9acfb5e"
DiffEqBiological = "eb300fae-53e8-50a0-950c-e21f52c2b7e0"
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
DiffEqNoiseProcess = "77a26b50-5914-5dd7-bc55-306e6241c503"
DiffEqOperators = "9fdde737-9c7f-55bf-ade8-46b3f136cc48"
DiffEqParamEstim = "1130ab10-4a5a-5621-a13d-e4788d82bd4c"
DiffEqPhysics = "055956cb-9e8b-5191-98cc-73ae4a59e68a"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
DoubleFloats = "497a8b3b-efae-58df-a0af-a86822472b78"
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MCMCChains = "c7f686f2-ff18-58e9-bc7b-31028e88f75d"
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
NeuralNetDiffEq = "8faf48c0-8b73-11e9-0e63-2155955bfa4d"
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
ParameterizedFunctions = "65888b18-ceab-5e60-b2b9-181511a3b968"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804"
SparsityDetection = "684fba80-ace3-11e9-3d08-3bc7ed6f96df"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
Weave = "44d3d7a6-8a23-5bf8-98c5-b353f8df5ec9"

[compat]
AlgebraicMultigrid = "0.2, 0.3"
ArbNumerics = "1.0"
BenchmarkTools = "0.4, 0.5"
CUDA = "1.0"
CUDAnative = "2.5, 3.0"
Cairo = "0.8, 1.0"
CuArrays = "1.4, 2.0"
DecFP = "0.4, 1.0"
Decimals = "0.4"
DiffEqBayes = "2.8"
DiffEqBiological = "4.0"
DiffEqCallbacks = "2.9"
DiffEqDevTools = "2.15"
DiffEqNoiseProcess = "4.2"
DiffEqOperators = "4.3"
DiffEqParamEstim = "1.8"
DiffEqPhysics = "3.2"
DifferentialEquations = "6.8"
Distributions = "0.21, 0.22, 0.23"
DoubleFloats = "0.9, 1.0"
Flux = "0.10"
ForwardDiff = "0.10"
IJulia = "1.20"
Latexify = "0.12, 0.13"
MCMCChains = "3.0, 4.0"
Measurements = "2.1"
ModelingToolkit = "0.9, 0.10, 1.0, 2.0, 3.0"
NLsolve = "4.2"
NeuralNetDiffEq = "1.5"
Optim = "0.19, 0.20, 0.21"
OrdinaryDiffEq = "5.23"
ParameterizedFunctions = "4.2, 5.0"
Plots = "0.27, 0.28, 0.29, 1.0"
PyPlot = "2.8"
RecursiveArrayTools = "1,2"
SparseDiffTools = "0.10, 1.0"
SparsityDetection = "0.1, 0.2, 0.3"
StaticArrays = "0.10, 0.11, 0.12"
StatsPlots = "0.12, 0.13, 0.14"
StochasticDiffEq = "6.23"
Sundials = "3.8, 4.0"
Unitful = "0.17, 0.18, 1.0"
Weave = "0.9, 0.10"
julia = "1"
julia = "1.4"
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,15 @@ DiffEqTutorials.open_notebooks()
- [DiffEqBiological Tutorial II: Network Properties API](http://tutorials.juliadiffeq.org/html/models/04-diffeqbio_II_networkproperties.html)
- [DiffEqBiological Tutorial III: Steady-States and Bifurcations](http://tutorials.juliadiffeq.org/html/models/04b-diffeqbio_III_steadystates.html)
- [Kepler Problem Orbit](http://tutorials.juliadiffeq.org/html/models/05-kepler_problem.html)
- [Bayesian Inference of Pendulum Parameters](http://tutorials.juliadiffeq.org/html/models/06-pendulum_bayesian_inference.html)
- [Kolmogorov Backward Equations](http://tutorials.juliadiffeq.org/html/models/08-kolmogorov_equations.html)
- Advanced ODE Features
- [ModelingToolkit.jl, An IR and Compiler for Scientific Models](http://tutorials.juliadiffeq.org/html/ode_extras/01-ModelingToolkit.html)
- [Feagin's Order 10, 12, and 14 Methods](http://tutorials.juliadiffeq.org/html/ode_extras/02-feagin.html)
- [Finding Maxima and Minima of DiffEq Solutions](http://tutorials.juliadiffeq.org/html/ode_extras/03-ode_minmax.html)
- [Monte Carlo Parameter Estimation from Data](http://tutorials.juliadiffeq.org/html/ode_extras/04-monte_carlo_parameter_estim.html)

- Model Inference
- [Bayesian Inference of Pendulum Parameters](http://tutorials.juliadiffeq.org/html/model_inference/01-pendulum_bayesian_inference.html)
- [Monte Carlo Parameter Estimation from Data](http://tutorials.juliadiffeq.org/html/model_inference/02-monte_carlo_parameter_estim.html)
- Type Handling
- [Solving Equations with Julia-Defined Types](http://tutorials.juliadiffeq.org/html/type_handling/01-number_types.html)
- [Numbers with Uncertainties](http://tutorials.juliadiffeq.org/html/type_handling/02-uncertainties.html)
Expand Down
2 changes: 2 additions & 0 deletions src/DiffEqTutorials.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ latexfile = joinpath(@__DIR__, "..", "templates", "julia_tex.tpl")

function weave_file(folder,file,build_list=(:script,:html,:pdf,:github,:notebook); kwargs...)
tmp = joinpath(repo_directory,"tutorials",folder,file)
Pkg.activate(dirname(tmp))
Pkg.instantiate()
args = Dict{Symbol,String}(:folder=>folder,:file=>file)
if :script build_list
println("Building Script")
Expand Down
2 changes: 1 addition & 1 deletion tutorials/advanced/01-beeler_reuter.jmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ author: Shahriar Iravanian

## Background

[JuliaDiffEq](https://github.com/JuliaDiffEq) is a suite of optimized Julia libraries to solve ordinary differential equations (ODE). *JuliaDiffEq* provides a large number of explicit and implicit solvers suited for different types of ODE problems. It is possible to reduce a system of partial differential equations into an ODE problem by employing the [method of lines (MOL)](https://en.wikipedia.org/wiki/Method_of_lines). The essence of MOL is to discretize the spatial derivatives (by finite difference, finite volume or finite element methods) into algebraic equations and to keep the time derivatives as is. The resulting differential equations are left with only one independent variable (time) and can be solved with an ODE solver. [Solving Systems of Stochastic PDEs and using GPUs in Julia](http://www.stochasticlifestyle.com/solving-systems-stochastic-pdes-using-gpus-julia/) is a brief introduction to MOL and using GPUs to accelerate PDE solving in *JuliaDiffEq*. Here we expand on this introduction by developing an implicit/explicit (IMEX) solver for a 2D cardiac electrophysiology model and show how to use [CuArray](https://github.com/JuliaGPU/CuArrays.jl) and [CUDAnative](https://github.com/JuliaGPU/CUDAnative.jl) libraries to run the explicit part of the model on a GPU.
[SciML](https://github.com/SciML) is a suite of optimized Julia libraries to solve ordinary differential equations (ODE). *SciML* provides a large number of explicit and implicit solvers suited for different types of ODE problems. It is possible to reduce a system of partial differential equations into an ODE problem by employing the [method of lines (MOL)](https://en.wikipedia.org/wiki/Method_of_lines). The essence of MOL is to discretize the spatial derivatives (by finite difference, finite volume or finite element methods) into algebraic equations and to keep the time derivatives as is. The resulting differential equations are left with only one independent variable (time) and can be solved with an ODE solver. [Solving Systems of Stochastic PDEs and using GPUs in Julia](http://www.stochasticlifestyle.com/solving-systems-stochastic-pdes-using-gpus-julia/) is a brief introduction to MOL and using GPUs to accelerate PDE solving in *JuliaDiffEq*. Here we expand on this introduction by developing an implicit/explicit (IMEX) solver for a 2D cardiac electrophysiology model and show how to use [CuArray](https://github.com/JuliaGPU/CuArrays.jl) and [CUDAnative](https://github.com/JuliaGPU/CUDAnative.jl) libraries to run the explicit part of the model on a GPU.

Note that this tutorial does not use the [higher order IMEX methods built into DifferentialEquations.jl](https://docs.juliadiffeq.org/latest/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE-1) but instead shows how to hand-split an equation when the explicit portion has an analytical solution (or approxiate), which is common in many scenarios.

Expand Down
16 changes: 16 additions & 0 deletions tutorials/advanced/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[deps]
AlgebraicMultigrid = "2169fc97-5a83-5252-b627-83903c6c433c"
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
CUDAnative = "be33ccc6-a3ff-5ff2-a52e-74243cff1e17"
CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae"
DiffEqOperators = "9fdde737-9c7f-55bf-ade8-46b3f136cc48"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804"
SparsityDetection = "684fba80-ace3-11e9-3d08-3bc7ed6f96df"
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
8 changes: 8 additions & 0 deletions tutorials/introduction/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[deps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
ParameterizedFunctions = "65888b18-ceab-5e60-b2b9-181511a3b968"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
14 changes: 14 additions & 0 deletions tutorials/model_inference/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[deps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
CmdStan = "593b3428-ca2f-500c-ae53-031589ec8ddd"
DiffEqBayes = "ebbdde9d-f333-5424-9be2-dbf1e9acfb5e"
DiffEqParamEstim = "1130ab10-4a5a-5621-a13d-e4788d82bd4c"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
DynamicHMC = "bbc10e6e-7c05-544b-b16e-64fede858acb"
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
TransformVariables = "84d833dd-6860-57f9-a1a7-6da5db126cff"
2 changes: 1 addition & 1 deletion tutorials/models/08-kolmogorov_equations.jmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ author: Ashutosh Bharambe

```julia
using Flux, StochasticDiffEq
using NeuralNetDiffEq
using NeuralNetDiffEq
using Plots
using CuArrays
using CUDA
Expand Down
19 changes: 19 additions & 0 deletions tutorials/models/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[deps]
DiffEqBiological = "eb300fae-53e8-50a0-950c-e21f52c2b7e0"
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
DiffEqPhysics = "055956cb-9e8b-5191-98cc-73ae4a59e68a"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
NeuralNetDiffEq = "8faf48c0-8b73-11e9-0e63-2155955bfa4d"
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
7 changes: 7 additions & 0 deletions tutorials/ode_extras/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[deps]
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
19 changes: 19 additions & 0 deletions tutorials/type_handling/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[deps]
ArbNumerics = "7e558dbc-694d-5a72-987c-6f4ebed21442"
DecFP = "55939f99-70c6-5e9b-8bb0-5071ed7d61fd"
Decimals = "abce61dc-4473-55a0-ba07-351d65e31d42"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
DoubleFloats = "497a8b3b-efae-58df-a0af-a86822472b78"
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"

[compat]
ArbNumerics = "1.0"
DecFP = "0.4, 1.0"
Decimals = "0.4"
DifferentialEquations = "6.8"
DoubleFloats = "0.9, 1.0"
Measurements = "2.1"
OrdinaryDiffEq = "5.23"
Plots = "0.27, 0.28, 0.29, 1.0"

0 comments on commit 9f10e63

Please sign in to comment.