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

03/09/2021
by   Yingbo Ma, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/09/2021

High-performance symbolic-numerics via multiple dispatch

As mathematical computing becomes more democratized in high-level langua...
research
06/01/2021

Data-Driven Shadowgraph Simulation of a 3D Object

In this work we propose a deep neural network based surrogate model for ...
research
08/10/2018

Model Reduction with Memory and the Machine Learning of Dynamical Systems

The well-known Mori-Zwanzig theory tells us that model reduction leads t...
research
04/11/2021

A Deep Learning Based Cost Model for Automatic Code Optimization

Enabling compilers to automatically optimize code has been a longstandin...
research
07/24/2023

Discovering interpretable elastoplasticity models via the neural polynomial method enabled symbolic regressions

Conventional neural network elastoplasticity models are often perceived ...
research
08/24/2022

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

Ai4EComponentLib.jl(Ai4EComponentLib) is a component-base model library ...
research
09/10/2021

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

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

Please sign up or login with your details

Forgot password? Click here to reset