Automating embedded analysis capabilities and managing software complexity in multiphysics simulation, Part I: Template-based generic programming

  • Authors:
  • Roger P. Pawlowski;Eric T. Phipps;Andrew G. Salinger

  • Affiliations:
  • Sandia National Laboratories, Albuquerque, NM, USA;Sandia National Laboratories, Albuquerque, NM, USA;Sandia National Laboratories, Albuquerque, NM, USA

  • Venue:
  • Scientific Programming - A New Overview of the Trilinos Project --Part 1
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

An approach for incorporating embedded simulation and analysis capabilities in complex simulation codes through template-based generic programming is presented. This approach relies on templating and operator overloading within the C++ language to transform a given calculation into one that can compute a variety of additional quantities that are necessary for many state-of-the-art simulation and analysis algorithms. An approach for incorporating these ideas into complex simulation codes through general graph-based assembly is also presented. These ideas have been implemented within a set of packages in the Trilinos framework and are demonstrated on a simple problem from chemical engineering.