Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split project tomls #178

Merged
merged 3 commits into from
Jun 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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"