Overview of ModelingToolkit.jl
masterModelingToolkit.jl is a high-performance symbolic-numeric modeling language designed for scientific computing and scientific machine learning. It combines symbolic computational algebra (using Symbolics.jl) with causal (Simulink-style) and acausal (Modelica-style) equation-based modeling.
Key capabilities include:
- Symbolic Preprocessing: Automatic model transformation, simplification, and index reduction of differential-algebraic equations (DAEs).
- Composition: Building complex models by connecting components using a lazy connection system.
- Hybrid Modeling: Transforming systems of DAEs into optimization problems or vice-versa.
- Parallelism: Pervasive parallelism in both symbolic computations and generated code.
- Extensibility: Written in pure Julia, allowing users to add new simplification rules and transformations easily.