Albany: A Component-Based Partial Differential Equation Code Built on Trilinos.

?? The code development strategy, software design, and results from two application projects are presented for the Albany code: an implicit, unstructured grid, finite element code for the solution and analysis of partial differential equations. The driving strategy behind the development of Albany is the notion that it is increasingly possible, and advantageous, to build an application code from reusable software libraries connected by well-designed abstract interfaces. The main advantages and disadvantages of this strategy are presented. This approach is increasingly possible because of the tremendous breadth of capabilities now available in software libraries. These notably include the libraries delivered through the Trilinos suite of computational science tools which are the building blocks of Albany. The major features of the design of Albany, specifically the use of abstract layers and heavy use of independent libraries, are presented. Finally, two distinct case studies are shown that validate this approach by using the Albany code base to rapidly develop application codes born with a large set of solution and analysis capabilities.

[1]  Roger P. Pawlowski,et al.  Automating embedded analysis capabilities and managing software complexity in multiphysics simulation, Part II: Application to partial differential equations , 2012, Sci. Program..

[2]  Noel Belcourt,et al.  A theory manual for multi-physics code coupling in LIME. , 2011 .

[3]  WaiChing Sun,et al.  A stabilized assumed deformation gradient finite element formulation for strongly coupled poromechanical simulations at finite strain , 2013 .

[4]  James C. Sutherland,et al.  Graph-Based Software Design for Managing Complexity and Enabling Concurrency in Multiphysics PDE Software , 2011, TOMS.

[5]  Glen Hansen,et al.  A finite element method for three-dimensional unstructured grid smoothing , 2005 .

[6]  James R. Stewart,et al.  The SIERRA Framework for Developing Advanced Parallel Mechanics Applications , 2003 .

[7]  Michael A. Heroux,et al.  TriBITS lifecycle model. Version 1.0, a lean/agile software lifecycle model for research-based computational science and engineering and applied mathematical software. , 2012 .

[8]  Derek Gaston,et al.  MOOSE: A parallel computational framework for coupled systems of nonlinear equations , 2009 .

[9]  Mark S. Shephard,et al.  A Parallel Unstructured Mesh Infrastructure , 2012, 2012 SC Companion: High Performance Computing, Networking Storage and Analysis.

[10]  Steven G. Parker,et al.  Uintah: a massively parallel problem solving environment , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[11]  Kevin R. Long,et al.  Unified Embedded Parallel Finite Element Computations via Software-Based Fr[e-acute]chet Differentiation , 2010, SIAM J. Sci. Comput..

[12]  Benjamin S. Kirk,et al.  Library for Parallel Adaptive Mesh Refinement / Coarsening Simulations , 2006 .

[13]  Roger P. Pawlowski,et al.  Efficient Expression Templates for Operator Overloading-based Automatic Differentiation , 2012, ArXiv.

[14]  Richard B. Lehoucq,et al.  Large‐scale eigenvalue calculations for stability analysis of steady flows on massively parallel computers , 2001 .

[15]  Andrew G. Salinger,et al.  Component-based scientific application development. , 2012 .

[16]  John N. Shadid,et al.  Reactor Core Sub-Assembly Simulations Using a Stabilized Finite Element Method. , 2011 .

[17]  Roger P. Pawlowski,et al.  Automating embedded analysis capabilities and managing software complexity in multiphysics simulation, Part I: Template-based generic programming , 2012 .

[18]  Alan B. Williams,et al.  SIERRA Toolkit Computational Mesh Conceptual Model , 2010 .

[19]  J. N. Shadid,et al.  NURETH-14-500 Reactor Core SubAssembly Simulations Using a Stabilized Finite Element Method , 2011 .

[20]  Timothy J. Tautges,et al.  Interoperable mesh and geometry tools for advanced petascale simulations , 2007 .

[21]  Anders Logg,et al.  Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book , 2012 .

[22]  Pavel B. Bochev,et al.  Solving PDEs with Intrepid , 2012, Sci. Program..

[23]  Tamara G. Kolda,et al.  An overview of the Trilinos project , 2005, TOMS.

[24]  W. Bangerth,et al.  deal.II—A general-purpose object-oriented finite element library , 2007, TOMS.

[25]  Glen Hansen,et al.  Development of a used fuel cladding damage model incorporating circumferential and radial hydride responses , 2013 .

[26]  Christophe Prud'homme Life: Overview of a Unified C++ Implementation of the Finite and Spectral Element Methods in 1D, 2D and 3D , 2006, PARA.