![]() |
Integrated Simulation using the Common Component Architecture |
Valmor de Almeida, David E. Bernholdt, Doug Dechow, Wael Elwasif
Common Component Architecture Forum, Oak Ridge National Laboratory
Next-generation software for reactor simulation, along with software in other fields of computational science and engineering, face ever-growing complexity due to growth in the fidelity, resolution, and scale of simulations, and the growing complexity of the high-end computer architectures on which they run. Component-based software engineering has become widely accepted and used in other areas of computing to manage software complexity. The Common Component Architecture (CCA) implements this approach in a form that supports high-performance technical computing.
The component approach focuses on modularized units of software functionality, and their interactions through well-defined interfaces. Component environments facilitate testing and validation of components through cross-comparisons and incorporation of previously validated codes, as well as simplifying distributed collaborative software development. The CCA supports both high-performance (parallel) and distributed computing, and provides tools for language interoperability.
CCA-based applications in a variety of scientific domains have demonstrated the diverse benefits of the component approach and increased the productivity of computational scientists. Among the examples we will use to illustrate the CCA is a prototype reactor simulation application, coupling neutronics, thermal-hydraulics, and materials properties. The application integrates both existing and new software in Fortran90 and C++, and runs on the Cray XT3 among other platforms.
Contact
David E. Bernholdt
Oak Ridge National Laboratory
PO BOX 2008, MS 6016
Oak Ridge, TN 37831-6016
bernholdtde@ornl.gov