ModelingToolkit has been quite a bit of an enigma of a library to explain, but hopefully this new first tutorials helps people understand ModelingToolkit as a symbolic modeling language, akin to SymPy, but with a distinct Julia flavor by allowing for building fast sparse parallel functions, allowing users to directly define new primitives, and deeply integrating with the Julia SciML ecosystem and its differential equation solvers. ModelingToolkit.jl builds on SymbolicUtils to add features like differentiation, function building, and ways to represent mathematical models like ODEs and nonlinear optimization. It integrations with the rest of the SciML ecosystem as the basis for automatic discovery of physical equations and automated PDE solving via Physics-Informed Neural Networks (PINNs).
So please check out the tutorial and let us know what you think. Thanks!