Automating embedded analysis capabilities and managing software complexity in multiphysics simulation part I: template-based generic programming
Roger P. Pawlowski, Eric T. Phipps, and Andrew G. Salinger

TL;DR
This paper introduces a template-based generic programming approach in C++ to embed simulation and analysis capabilities into complex multiphysics simulation codes, enhancing flexibility and manageability.
Contribution
It presents a novel method for integrating embedded analysis in simulation codes using templating and operator overloading, implemented within the Trilinos framework.
Findings
Successfully demonstrated on a chemical engineering problem
Enables flexible computation of additional quantities
Improves manageability of complex simulation software
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Embedded Systems Design Techniques
