|
Prototyping AutoSEA Version 2 in Mathematica
Thomas Burton
Brahea, Inc.
Presenter's website: http://www.brahea.com
AutoSEA is a commercial software program that simulates the propagation of acoustical
vibrations in fluids and solids. The structural acoustics algorithms were completely
replaced for Version 2.0. Most of this task was planned, documented, validated, and
prototyped in Mathematica. An automated quality-assurance (QA) system, fully
implemented in Mathematica, verifies that the algorithms designed in Mathematica
are faithfully executed by commercial C and C++ code.
The breadth of Mathematica assisted our attempts to maintain the integrity of the
development process. Our goal is that a single set of documents serve three functions at
once:
- theoretical development, presentation, and validation,
- prototyping of C and C++ code, and
- preparation of benchmark results for automated QA.
These documents must be as automatically self-consistent as possible. If a theoretical
development differs from the implementation, or if derived C code for export gets out of
sync with Mathematica code, then integrity can be lost. Techniques for approaching
these goals using Mathematica will be presented.
The automated QA system is built on the ability of the Mathematica prototype and
the commercial software to read from a common set of data files and write compatible sets
of results. We formatted these results as Mathematica expressions, so comparison of
these results in Mathematica is easy. The design of data files, however, was
dictated by needs of the commercial software. To process these data files, the Mathematica
prototype had to be extended well beyond the domain of structural acoustics into realms of
3D geometry and solids modeling. This effort expanded the prototype into several hundred
modules spread over a dozen packages. Maintenance of a project of this size in Mathematica
has been challenging.
| |