Visual Spark
Visual Spark
The SPARK energy simulation program is neither sponsored by nor affiliated with SPARC International, Inc., and is not based on SPARC
architecture. In addition, the SPARK energy simulation program is not associated with the SPARK programming
language and toolset from Praxis Critical Systems Limited.
Software
Download VisualSPARK 2.01 (End-User License Required)
Documentation
New Features, bug fixes and changes
VisualSPARK Users Guide
SPARK Reference Manual
SPARK Atomic Class API pdf html
SPARK Problem Driver API pdf html
Frequently Asked Questions (FAQ)
How to port atomic classes from SPARK 1.x to SPARK 2.x
All Technical Reports
SPARK Overview
Introduction
Describing Problems for SPARK Solution
User Interfaces
Tools for Writing SPARK Classes
Introduction
Simulation of a physical system requires development of a mathematical model, usually
composed of differential and/or algebraic equations. These equations then must be solved
at each point in time over some interval of interest. The Simulation Problem Analysis and
Research Kernel (SPARK) is an object-oriented software system to perform such
simulations. By "object-oriented" we mean that components and subsystems are modeled
as objects that can be interconnected to specify the model of the entire system. Often the
same component and subsystem models can be used in many different system models,
saving the work of redevelopment.
Since SPARK objects are equation-based rather than algorithmic, they are input/output
free. That is, there is no assumed directionality, so that a single model can be used to
solve problems with various specified inputs. SPARK is unique in its ability to apply
graph theory to automatically determine efficient solution strategies, often resulting in
significant speed advantages as well as modeling convenience.
Naturally, model descriptions must be expressed in some formal way. SPARK class
models are described in a textual language that is similar to other simulation
programming languages except that it is non-procedural. That is, it is not necessary to
order the equations, nor to express them as assignment statements. This property derives
from the input/output free manner in which the object classes are defined, and from the
use of mathematical graphs to find an appropriate solution sequence.
User Interfaces
The user interface provided by VisualSPARK allows for the creation of text-based
classes and problems using the SPARK language directly, as well as for problem
execution. Post processing for visualization of results is supported.
To simplify these tasks, VisualSPARK comes with a symbolic manipulation tool called
SPARKSYM. With this tool the user need specify only the atomic class equation, from
which all necessary inverses and supporting C++ functions are generated automatically
through symbolic manipulation.