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.
Description
[2103.05244] ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling
%0 Generic
%1 ma2021modelingtoolkit
%A Ma, Yingbo
%A Gowda, Shashi
%A Anantharaman, Ranjan
%A Laughman, Chris
%A Shah, Viral
%A Rackauckas, Chris
%D 2021
%K 00a71-theory-of-mathematical-modeling 34-04-odes-software-source-code 65l80-numerical-daes 68-04-computer-science-explicit-machine-computation-and-programs 68u01-general-topics-in-computing-methodologies 93-04-systems-theory-control-explicit-machine-computation-and-programs 93-10-systems-and-control-theory-mathematical-modelling-or-simulation 93a30-systems-theory-mathematical-modeling 94c15-circuits-networks-applications-of-graph-theory julialang sciml
%T ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling
%U http://arxiv.org/abs/2103.05244
%X 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.
@misc{ma2021modelingtoolkit,
abstract = {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.},
added-at = {2023-12-11T23:35:15.000+0100},
author = {Ma, Yingbo and Gowda, Shashi and Anantharaman, Ranjan and Laughman, Chris and Shah, Viral and Rackauckas, Chris},
biburl = {https://www.bibsonomy.org/bibtex/255d4fb5d69a5f26e66aaed193ddf951d/gdmcbain},
description = {[2103.05244] ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling},
interhash = {cc13ef7427430d13ac6a170bbba955d2},
intrahash = {55d4fb5d69a5f26e66aaed193ddf951d},
keywords = {00a71-theory-of-mathematical-modeling 34-04-odes-software-source-code 65l80-numerical-daes 68-04-computer-science-explicit-machine-computation-and-programs 68u01-general-topics-in-computing-methodologies 93-04-systems-theory-control-explicit-machine-computation-and-programs 93-10-systems-and-control-theory-mathematical-modelling-or-simulation 93a30-systems-theory-mathematical-modeling 94c15-circuits-networks-applications-of-graph-theory julialang sciml},
note = {cite arxiv:2103.05244Comment: 10 pages, 3 figures, 1 table},
timestamp = {2024-01-23T00:21:50.000+0100},
title = {ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling},
url = {http://arxiv.org/abs/2103.05244},
year = 2021
}