Release 3.0 of the Multi-Stage Runge-Kutta Circular Advection Solver is a computer program that solves the circular-advection problem by use of a general m-stage Runge-Kutta scheme (for m = 1, 2, and 4) on a Cartesian (x,y) grid with optimized coefficients. [The circular-advection problem, ¶u/¶t = (-y,x) × grad(u) is a classical model of convective phenomena suitable for studying the behaviors of algorithms.] The spatial discretization in this software is that of a cell-centered upwind finite-volume formulation. The software is presented as an extensible object-oriented class library arranged so that the components of the Runge-Kutta algorithm can be instantiated arbitrarily from within another computer program. The software includes a complete library wrapper that enables launching of the rest of the software from a command line by use of consistent UNIX-style filter conventions. The source code was developed by use of the Extreme Programming (also known, variously, as "eXtreme Programming" and "XP") methodology, and as such is self-revealing, modular, compact, extendable, and customizable. A unique feature of this program is a provision for comprehensive automated testing. All library classes are bundled with complete verification tests, both documenting the feature behavior and enabling extension by end users. Developers have instant feedback from the automated tests if their extensions conflict with the existing code base. Further, a full set of automated validation tests is included to prove various numerical definitions such as positivity or order property of the solver.
This program was written by William A. Wood and William L. Kleb of Langley Research Center. For more information, the authors may be contacted via e-mail at the following:
The software development, but not the code itself, is described in Wood, W.A., Kleb, W.L., "Extreme Programming in a Research Environment," Springer-Verlag LNCS 2, pp 89-99, August 2002.