Library Subscription: Guest
Begell Digital Portal Begell Digital Library eBooks Journals References & Proceedings Research Collections
International Journal for Multiscale Computational Engineering

Impact factor: 1.103

ISSN Print: 1543-1649
ISSN Online: 1940-4352

International Journal for Multiscale Computational Engineering

DOI: 10.1615/IntJMultCompEng.2016017040
pages 415-438

ALBANY: USING COMPONENT-BASED DESIGN TO DEVELOP A FLEXIBLE, GENERIC MULTIPHYSICS ANALYSIS CODE

Andrew G. Salinger
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Roscoe A. Bartlett
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Andrew M. Bradley
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Qiushi Chen
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA; Department of Civil Engineering, Clemson University
Irina P. Demeshko
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Xujiao Gao
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Glen A. Hansen
Computational Science Methods Group, Los Alamos National Laboratory, PO Box 1663, MS F645, Los Alamos NM 87545; Sandia National Laboratories, 1444 Multiphysics Simulation Technologies P.O. Box 5800, MS 132, Albuquerque, NM, 87185-1321
Alejandro Mota
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Richard P. Muller
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Erik Nielsen
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Jakob T. Ostien
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Roger P. Pawlowski
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Mauro Perego
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA
Eric T. Phipps
Center for Computing Research, Sandia National Laboratories, Albuquerque, New Mexico 87185, USA
WaiChing Sun
Department of Civil Engineering and Engineering Mechanics, Columbia University, New York, NY
Irina K. Tezaur
Sandia National Laboratories, P.O. Box 5800, Albuquerque, New Mexico 87185-1318, USA

ABSTRACT

Albany is a multiphysics code constructed by assembling a set of reusable, general components. It is an implicit, unstructured grid finite element code that hosts a set of advanced features that are readily combined within a single analysis run. Albany uses template-based generic programming methods to provide extensibility and flexibility; it employs a generic residual evaluation interface to support the easy addition and modification of physics. This interface is coupled to powerful automatic differentiation utilities that are used to implement efficient nonlinear solvers and preconditioners, and also to enable sensitivity analysis and embedded uncertainty quantification capabilities as part of the forward solve. The flexible application programming interfaces in Albany couple to two different adaptive mesh libraries; it internally employs generic integration machinery that supports tetrahedral, hexahedral, and hybrid meshes of user specified order. We present the overall design of Albany, and focus on the specifics of the integration of many of its advanced features. As Albany and the components that form it are openly available on the internet, it is our goal that the reader might find some of the design concepts useful in their own work. Albany results in a code that enables the rapid development of parallel, numerically efficient multiphysics software tools. In discussing the features and details of the integration of many of the components involved, we show the reader the wide variety of solution components that are available and what is possible when they are combined within a simulation capability.