DeepAI AI Chat
Log In Sign Up

ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling

by   Yingbo Ma, et al.

Getting good performance out of numerical equation solvers requires that the user has provided stable and efficient functions representing their model. However, users should not be trusted to write good code. In this manuscript we describe ModelingToolkit (MTK), a symbolic equation-based modeling system which allows for composable transformations to generate stable, efficient, and parallelized model implementations. MTK blurs the lines of traditional symbolic computing by acting directly on a user's numerical code. We show the ability to apply graph algorithms for automatically parallelizing and performing index reduction on code written for differential-algebraic equation (DAE) solvers, "fixing" the performance and stability of the model without requiring any changes to on the user's part. We demonstrate how composable model transformations can be combined with automated data-driven surrogate generation techniques, allowing machine learning methods to generate accelerated approximate models within an acausal modeling framework. These reduced models are shown to outperform the Dymola Modelica compiler on an HVAC model by 590x at 3% error. Together, this demonstrates MTK as a system for bringing the latest research in graph transformations directly to modeling applications.


page 1

page 2

page 3

page 4


High-performance symbolic-numerics via multiple dispatch

As mathematical computing becomes more democratized in high-level langua...

Data-Driven Shadowgraph Simulation of a 3D Object

In this work we propose a deep neural network based surrogate model for ...

Model Reduction with Memory and the Machine Learning of Dynamical Systems

The well-known Mori-Zwanzig theory tells us that model reduction leads t...

A Deep Learning Based Cost Model for Automatic Code Optimization

Enabling compilers to automatically optimize code has been a longstandin...

Ai4EComponentLib.jl: A Component-base Model Library in Julia

Ai4EComponentLib.jl(Ai4EComponentLib) is a component-base model library ...

Physics-based machine learning for modeling stochastic IP3-dependent calcium dynamics

We present a machine learning method for model reduction which incorpora...

Automatic generation of interpretable hyperelastic material models by symbolic regression

In this paper, we present a new procedure to automatically generate inte...