@conference {3388,
	title = {Using SPARK as a Solver for Modelica},
	booktitle = {SimBuild 2008},
	year = {2008},
	month = {07/2008},
	address = {Berkeley, CA, USA},
	author = {Michael Wetter and Philip Haves and Michael A. Moshier and Edward F. Sowell}
}
@proceedings {62,
	title = {Using SPARK as a solver for Modelica},
	year = {2008},
	month = {08/2008},
	address = {Berkeley, CA, USA},
	abstract = {<p>Modelica is an object-oriented acausal modeling language that is well positioned to become a de-facto standard for expressing models of complex physical systems.  To simulate a model expressed in Modelica, it needs to be translated into executable code. For generating run-time efficient code, such a translation needs to employ algebraic formula manipulations. As the SPARK solver has been shown to be competitive for generating such code but currently cannot be used with the Modelica language, we report in this paper how SPARK{\textquoteright}s symbolic and numerical algorithms can be implemented in OpenModelica, an open-source implementation of a Modelica modeling and simulation environment. We also report benchmark results that show that for our air flow network simulation benchmark, the SPARK solver is competitive with Dymola, which is believed to provide the best solver for Modelica.</p>},
	url = {http://www.ibpsa.us/simbuild2008/technical_sessions/SB08-DOC-TS03-1-Wetter.pdf},
	author = {Michael Wetter and Philip Haves and Michael A. Moshier and Edward F. Sowell}
}
@proceedings {2834,
	title = {Graph-Theoretic Methods in Simulation Using SPARK},
	year = {2004},
	month = {04/2004},
	address = {Arlington, Virginia, USA},
	author = {Edward F. Sowell and Michael A. Moshier and Philip Haves and Dimitri Curtil}
}
@proceedings {285,
	title = {Graph-theoretic Methods in Simulation Using SPARK},
	year = {2004},
	month = {04/2004},
	address = {Arlington, VA},
	abstract = {This paper deals with simulation modeling of nonlinear, deterministic, continuous systems. It describes how the Simulation Problem Analysis and Research Kernel (SPARK) uses the mathematical graph both to describe models of such systems, and to solve the embodied differential-algebraic equation systems (DAEs). Problems are described declaratively rather than algorithmically, with atomic objects representing individual equations and macro objects representing larger programming entities (submodels) in a smooth hierarchy. Internally, in a preprocessing step, graphs are used to represent the problem at the level of equations and variables rather than procedural, multi-equation blocks. Benefits obtained include models that are without predefined input and output sets, enhancing modeling flexibility and code reusability, and relieving the modeler from manual algorithm development. Moreover, graph algorithms are used for problem decomposition and reduction, greatly reducing solution time for wide classes of problems. After describing the methodology the paper presents results of benchmark tests that quantify performance advantages relative to conventional methods. In a somewhat contrived nonlinear example we show O performance as opposed},
	author = {Edward F. Sowell and Michael A. Moshier and Philip Haves}
}
