Skip to content
This repository was archived by the owner on Dec 30, 2025. It is now read-only.

Commit a19d954

Browse files
Update README.md
1 parent 11b9724 commit a19d954

1 file changed

Lines changed: 58 additions & 59 deletions

File tree

README.md

Lines changed: 58 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -16,79 +16,79 @@ and the [devdocs](http://devdocs.sciml.ai/latest/)
1616
by providing practical examples of the concepts. For more details, please
1717
consult the docs.
1818

19+
## Results
20+
21+
To view the SciML Tutorials, go to [tutorials.sciml.ai](https://tutorials.sciml.ai/stable/). By default, this
22+
will lead to the latest tagged version of the tutorials. To see the in-development version of the tutorials, go to
23+
[https://tutorials.sciml.ai/dev/](https://tutorials.sciml.ai/dev/).
24+
25+
Static outputs in pdf, markdown, and html reside in [SciMLTutorialsOutput](https://github.com/SciML/SciMLTutorialsOutput).
26+
27+
## Video Tutorial
28+
29+
[![Video Tutorial](https://user-images.githubusercontent.com/1814174/36342812-bdfd0606-13b8-11e8-9eff-ff219de909e5.PNG)](https://youtu.be/KPEqYtEd-zY)
30+
1931
## Interactive Notebooks
2032

21-
To run the tutorials interactively via Jupyter notebooks, install the package
22-
and open the tutorials like:
33+
To generate the interactive notebooks, first install the SciMLTutorials, instantiate the
34+
environment, and then run `SciMLTutorials.open_notebooks()`. This looks as follows:
2335

2436
```julia
25-
using Pkg
26-
pkg"add https://github.com/SciML/SciMLTutorials.jl"
37+
]add SciMLTutorials#master
38+
]activate SciMLTutorials
39+
]instantiate
2740
using SciMLTutorials
2841
SciMLTutorials.open_notebooks()
2942
```
3043

31-
## Video Tutorial
44+
The tutorials will be generated at your `pwd()` in a folder called `generated_notebooks`.
3245

33-
[![Video Tutorial](https://user-images.githubusercontent.com/1814174/36342812-bdfd0606-13b8-11e8-9eff-ff219de909e5.PNG)](https://youtu.be/KPEqYtEd-zY)
46+
Note that when running the tutorials, the packages are not automatically added. Thus you
47+
will need to add the packages manually or use the internal Project/Manifest tomls to
48+
instantiate the correct packages. This can be done by activating the folder of the tutorials.
49+
For example,
3450

35-
## Table of Contents
36-
37-
- Introduction
38-
- [Introduction to DifferentialEquations.jl through ODEs](http://tutorials.sciml.ai/html/introduction/01-ode_introduction.html)
39-
- [Detecting Stiffness and Choosing an ODE Algorithm](http://tutorials.sciml.ai/html/introduction/02-choosing_algs.html)
40-
- [Optimizing your DiffEq Code](http://tutorials.sciml.ai/html/introduction/03-optimizing_diffeq_code.html)
41-
- [Callbacks and Event Handling](http://tutorials.sciml.ai/html/introduction/04-callbacks_and_events.html)
42-
- [Formatting Plots](http://tutorials.sciml.ai/html/introduction/05-formatting_plots.html)
43-
- Exercise Sheets
44-
- [DifferentialEquations.jl Workshop Exercises](http://tutorials.sciml.ai/html/exercises/01-workshop_exercises.html)
45-
- [DifferentialEquations.jl Workshop Exercise Solutions](http://tutorials.sciml.ai/html/exercises/02-workshop_solutions.html)
46-
- Modeling Examples
47-
- [Classical Physics Models](http://tutorials.sciml.ai/html/models/01-classical_physics.html)
48-
- [Conditional Dosing Example](http://tutorials.sciml.ai/html/models/02-conditional_dosing.html)
49-
- [DiffEqBiological Tutorial I: Introduction](http://tutorials.sciml.ai/html/models/03-diffeqbio_I_introduction.html)
50-
- [DiffEqBiological Tutorial II: Network Properties API](http://tutorials.sciml.ai/html/models/04-diffeqbio_II_networkproperties.html)
51-
- [DiffEqBiological Tutorial III: Steady-States and Bifurcations](http://tutorials.sciml.ai/html/models/04b-diffeqbio_III_steadystates.html)
52-
- [Tutorial on using spatial SSAs in DiffEqJump](http://tutorials.sciml.ai/html/jumps/spatial.html)
53-
- [Kepler Problem Orbit](http://tutorials.sciml.ai/html/models/05-kepler_problem.html)
54-
- [Spiking Neural Systems](http://tutorials.sciml.ai/html/models/08-spiking_neural_systems.html)
55-
- [Outer Solar System](http://tutorials.sciml.ai/html/models/05-outer_solar_system.html)
56-
- Advanced ODE Features
57-
- [Feagin's Order 10, 12, and 14 Methods](http://tutorials.sciml.ai/html/ode_extras/01-feagin.html)
58-
- [Finding Maxima and Minima of DiffEq Solutions](http://tutorials.sciml.ai/html/ode_extras/02-ode_minmax.html)
59-
- Model Inference
60-
- [Bayesian Inference of Pendulum Parameters](http://tutorials.sciml.ai/html/model_inference/01-pendulum_bayesian_inference.html)
61-
- [Monte Carlo Parameter Estimation from Data](http://tutorials.sciml.ai/html/model_inference/02-monte_carlo_parameter_estim.html)
62-
- Type Handling
63-
- [Solving Equations with Julia-Defined Types](http://tutorials.sciml.ai/html/type_handling/01-number_types.html)
64-
- [Numbers with Uncertainties](http://tutorials.sciml.ai/html/type_handling/02-uncertainties.html)
65-
- [Unit Check Arithmetic via Unitful.jl](http://tutorials.sciml.ai/html/type_handling/03-unitful.html)
66-
- DiffEqUncertainty
67-
- [An Intro to Expectations via DiffEqUncertainty.jl](http://tutorials.sciml.ai/html/DiffEqUncertainty/01-expectation_introduction.html)
68-
- [Optimization Under Uncertainty with DiffEqUncertainty.jl](http://tutorials.sciml.ai/html/DiffEqUncertainty/02-AD_and_optimization.html)
69-
- [GPU-Accelerated Data-Driven Bayesian Uncertainty Quantification with Koopman Operators](http://tutorials.sciml.ai/html/DiffEqUncertainty/03-GPU_Bayesian_Koopman.html)
70-
- Advanced
71-
- [A 2D Cardiac Electrophysiology Model (CUDA-accelerated PDE solver)](http://tutorials.sciml.ai/html/advanced/01-beeler_reuter.html)
72-
- [Solving Stiff Equations](http://tutorials.sciml.ai/html/advanced/02-advanced_ODE_solving.html)
73-
- [Solving the heat equation with diffusion-implicit time-stepping](http://tutorials.sciml.ai/html/advanced/04-diffusion_implicit_heat_equation.html)
74-
- [Kolmogorov Backward Equations](http://tutorials.sciml.ai/html/advanced/03-kolmogorov_equations.html)
75-
- Perturbation Theory
76-
- [Mixed Symbolic/Numerical Methods for Perturbation Theory - Algebraic Equations](http://tutorials.sciml.ai/html/perturbation/01-perturbation_algebraic.html)
77-
- [Mixed Symbolic/Numerical Methods for Perturbation Theory - Differential Equations](http://tutorials.sciml.ai/html/perturbation/02-perturbation_differential.html)
51+
```julia
52+
using Pkg
53+
Pkg.activate(joinpath(pkgdir(SciMLTutorials),"tutorials","models"))
54+
Pkg.instantiate()
55+
```
7856

57+
will add all of the packages required to run any tutorial in the `models` folder.
7958

8059
## Contributing
8160

82-
First of all, make sure that your current directory is `SciMLTutorials`. All
83-
of the files are generated from the Weave.jl files in the `tutorials` folder.
61+
All of the files are generated from the Weave.jl files in the `tutorials` folder. The generation process runs automatically,
62+
and thus one does not necessarily need to test the Weave process locally. Instead, simply open a PR that adds/updates a
63+
file in the "tutorials" folder and the PR will generate the tutorial on demand. Its artifacts can then be inspected in the
64+
Buildkite as described below before merging. Note that it will use the Project.toml and Manifest.toml of the subfolder, so
65+
any changes to dependencies requires that those are updated.
66+
67+
### Reporting Bugs and Issues
68+
69+
Report any bugs or issues at [the SciMLTutorials repository](https://github.com/SciML/SciMLTutorials.jl/issues).
70+
71+
### Inspecting Tutorial Results
72+
73+
To see tutorial results before merging, click into the BuildKite, click onto
74+
Artifacts, and then investigate the trained results.
75+
76+
![](https://user-images.githubusercontent.com/1814174/118359358-02ddc980-b551-11eb-8a9b-24de947cefee.PNG)
77+
78+
### Manually Generating Files
79+
8480
To run the generation process, do for example:
8581

8682
```julia
87-
using Pkg, SciMLTutorials
88-
cd(joinpath(dirname(pathof(SciMLTutorials)), ".."))
89-
Pkg.pkg"activate ."
90-
Pkg.pkg"instantiate"
91-
SciMLTutorials.weave_file("introduction","01-ode_introduction.jmd")
83+
]activate SciMLTutorials # Get all of the packages
84+
using SciMLTutorials
85+
SciMLTutorials.weave_file(joinpath(pkgdir(SciMLTutorials),"tutorials","models"),"01-classical_physics.jmd")
86+
```
87+
88+
To generate all of the files in a folder, for example, run:
89+
90+
```julia
91+
SciMLTutorials.weave_folder(joinpath(pkgdir(SciMLTutorials),"tutorials","models"))
9292
```
9393

9494
To generate all of the notebooks, do:
@@ -97,6 +97,5 @@ To generate all of the notebooks, do:
9797
SciMLTutorials.weave_all()
9898
```
9999

100-
If you add new tutorials which require new packages, simply updating your local
101-
environment will change the project and manifest files. When this occurs, the
102-
updated environment files should be included in the PR.
100+
Each of the tuturials displays the computer characteristics at the bottom of
101+
the benchmark.

0 commit comments

Comments
 (0)