-
-
Notifications
You must be signed in to change notification settings - Fork 209
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
flesh out next steps after getting started docs #3091
base: master
Are you sure you want to change the base?
Conversation
- [Rootfinding for nonlinear systems of equations](@ref nonlinear) | ||
- [Solving optimization problems](@ref optimization) | ||
- [Stochastic Differential Equations](@ref SDE) | ||
- Jump Systems | ||
- [Discrete time systems](@ref discrete) | ||
- [hybrid systems](@ref hybrid). | ||
|
||
Numerical differential equation solvers require you to write your model in a very specific form. | ||
However, these forms are often not the most human-readable. | ||
MTK has symbolic transforms to translate your model into something your computer can simulate: | ||
|
||
- [Automatically transform higher order ODEs to first order ones](@ref higher_order) | ||
- [Automatically transform higher index DAEs to index one](@ref higher_index) | ||
|
||
If you want some extra modeling goodies: | ||
|
||
- [Validate your equations with units](@ref units) | ||
- [Add discrete time controls to your continuous plant](@ref hybrid) | ||
- [Add general discrete/continuous time events to your system](@ref events) | ||
|
||
If the getting started tutorial is too high-level for you, do a deeper dive: | ||
|
||
- [Learn everything there is to know about `@mtkmodel` blocks](@ref mtk_language) | ||
- [Learn how to write your own components to use in `@mtkmodel`](@ref acausal) | ||
- [Learn how to script the creation of `ODESystems` without the `@mtkmodel`](@ref programmatically) | ||
- [Learn how to conserve certain quantities when connecting components using a domain](@ref domains) | ||
- [Learn how MTK ensures that the initial state of your model is correct](@ref initialization) | ||
- [Learn how MTK reduces the size of your model](@ref tearing) | ||
|
||
If you liked the idea of the speedup symbolic Jacobians give you, but don't want to commit to writing your entire model in MTK: | ||
|
||
- [modelingtoolkitize your `ODEProblem`](@ref modelingtoolkitize) | ||
- [use modelingtoolkitize to calculate sparsity patterns](@ref modelingtoolkitize_sparse) | ||
|
||
If you want to further investigate the properties of your ODE model: | ||
|
||
- [Check if the parameters of your model are identifiable](@ref identifiability) | ||
- [Check if your system exhibits any bifurcation](@ref bifurcation_diagrams) | ||
- [Perform a perturbation analysis to see your system change as parameter values change](@ref perturb_diff) | ||
- [Linearize your system](@ref linearization) and [turn it into an input-output system](@ref inputoutput) (useful for feedback control) | ||
- [Use your MTK ODE model in an `OptimizationProblem`](@ref remake) | ||
|
||
Still want to know more about MTK? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is too comprehensive and no longer is a simplified way into MTK. Things which are non-essential should be cut from this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, some of the more low level ones, like tearing, could be removed.
However, some of the higher level ones should then link to the tearing one to explain how MTK is able to simulate only 1 ODE even though you wrote down 100 equations.
Also, everything removed from this list is a prime target for being consolidated into another doc page.
The most obvious example is modelingtoolkitize, we don't need both a Rober and a Brusselator example, particularly not spread over two pages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, all good points.
No description provided.