|
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.
|
|