Work

Numerical performance of the SPARK graph-theoretic simulation program

Year: 1999
Type: article
Abstract: The Simulation Problem Analysis and Research Kernel (SPARK) uses graph-theoretic techniques to match equations to variables and build computational graphs, yielding solution sequences indicated by needed data flow.Additionally, the problem graph is decomposed into strongly connected components, thus reducing the size of simultaneous equation sets, and small cut sets are determined, thereby reducing the number of iteration variables needed to solve each equation set.The improvement in computational efficiency produced by this graph theoretic preprocessing depends on the nature of the problem.The paper explores the improvement one might expect in practice in three ways.First, two problems chosen to span the range of performance are studied and some of the factors determining the performance are identified and discussed.The problem selected to exhibit a large improvement consists of a set of sparsely coupled non-linear equations.The problem selected to represent the other end of the performance spectrum is a set of equations obtained by discretizing Laplace's equation in two dimensions, e.g. a heat conduction problem.Execution time versus problem size is compared to that obtained with sparse matrix implementations of the same problems.Then, to see if the results of these somewhat contrived limiting cases extend to actual problems in building simulation, a detailed control system model of a six-zone VAV HVAC system is simulated with and without the use of cut set reduction.Execution times are compared between the reduced and non-reduced SPARK models, and with those from an HVACSIM+ model of the same system.BACKGROUND SPARK is a simulation program for non-linear, continuous systems that is currently under development at the Lawrence Berkeley National Laboratory (Buhl, Erdem et al. 1993).The methodology relies upon the mathematical graph for model representation and solution.While ideas from graph theory have been used in connection with equation system solving before (Coates 1959; Harary 1959; Parter 1961; Harary 1962; Tarjan 1972, Steward, 1962; Edwards 1982), in SPARK graph methods are applied directly to the nonlinear equations.The graph, rather than the matrix, is the primary data structure for storing the problem structure and data, and graph algorithms are employed to determine a solution sequence that operates directly on the nonlinear equations.Another distinctive attribute of the approach is that the model equations are stored individually, rather than packaged into modules, and are treated as equations rather than as formulae with assignment (algorithms).Symbolic methods are employed to find explicit inverses of the equations, when possible, to ensure computational efficiency.In these ways SPARK is unique.However, increasingly, simulation software is employing some of the ideas embodied in SPARK.For example, Klein, in collaboration with F. Alvarado, produced the Engineering Equation Solver, which employs decomposition using sparse matrix methods.This is conceptually the same as the strong component decomposition done in SPARK (Klein 1991 ).However, reduction within blocks is not done in this software.TRNSYS DISCLAIMER This report was prepared as an account of work sponsored by an agency of the United States Government.
Language: English
Open Access status: green
OpenAlex ID: W93086223
FWCI: 1.554
Cites: 8
Cited by: 7
Related to: 10