@@ -16,79 +16,79 @@ and the [devdocs](http://devdocs.sciml.ai/latest/)
1616by providing practical examples of the concepts. For more details, please
1717consult 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
2740using SciMLTutorials
2841SciMLTutorials. 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+
8480To 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
9494To generate all of the notebooks, do:
@@ -97,6 +97,5 @@ To generate all of the notebooks, do:
9797SciMLTutorials. 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