View on GitHub

Albany

Sandia National Laboratories' Albany multiphysics code

Download this project as a .zip file Download this project as a tar.gz file

Albany

Albany is an implicit, unstructured grid, finite element code for the solution and analysis of multiphysics problems. The Albany repository on the GitHub site contains over 100 regression tests and examples that demonstrate the code's capabilities on a wide variety of problems including fluid mechanics, ice-sheet flow and other applications. In particular, Albany houses the land-ice component of the U.S. Department of Energy's Energy Exascale Earth System Model (E3SM) known as MPAS-Albany Land Ice (MALI).

More details on the capabilities of Albany are available on the Albany Wiki

Features

Analysis of complex multiphysics problems

von Karman Vortex Street

Illustration of a von Karman vortex street that forms around a heated tube bundle under certain conditions

Software architecture

Albany heavily leverages the Trilinos Framework, available at:

git clone https://github.com/trilinos/Trilinos.git

Albany supports the solution of very large problems (those over 2.1 billion degrees of freedom) using MPI, and also demonstrates the use of the Kokkos hardware abstraction package to support generic manycore computing across a variety of platforms - MPI + [threads, OpenMP, Cuda, Intel MIC].

Albany Spack Package and Container

Albany is available as a Spack package. Further details are given on the Wiki https://github.com/sandialabs/Albany/wiki/Building-Albany-using-SPACK

In the past, Albany was maintained in a Docker container. Further instructions are given on the Wiki https://github.com/sandialabs/Albany/wiki/Building-Albany-using-Docker

Please note that the Albany container has not been used/tested for awhile, so it is not guaranteed to work.

PyAlbany: a Python Interface to Albany

There now exists a supported Python interface to Albany, known as PyAlbany. Please see the following slides on PyAlbany for more information.

Building Albany

Detailed build instructions for both Trilinos and Albany can be found on the Albany wiki at https://github.com/sandialabs/Albany/wiki/Building-Albany-and-supporting-tools

Nightly Build and Test Results

Ths nightly build results for the Trilinos libraries along with Albany and the status of the Albany regression tests are posted on several CDash sites, including the following world-viewable CDash site: http://my.cdash.org/index.php?project=Albany

The regression test suite is contained within the Albany repository in the directory:

/tests

These tests are stand-alone and also serve as nice examples about how to describe various PDEs discretized by Albany. They also serve as a template for developing new simulations.

Once Albany is built, the default test suite is executed by typing ctest within the build directory. Any individual test/example can be executed by changing directories to the desired example, and executing ctest in the example directory. The vast majority of Albany tests run in parallel using MPI.

A Note on Older Versions of Albany

Prior version of Albany included additional capabilities not present in the current version of the code, such as Quantum Computer Aided Design (QCAD), Model Order Reduction (MOR), Advanced Topology Optimization (ATO), etc. These capabilities are still available as Albany tags. Each tag has documentation about the version of Trilinos that can be used to build the tag. The Laboratory for Computational Mechanics (LCM) capabilities within Albany have been moved to separate repositories: Albany-LCM and Albany-SCOREC. The latter repository contains capabilities for adaptive mesh refinement (AMR) using the Parallel Unstructured Mesh Interface (PUMI) library developed at the Rennselaer Polytechnic Institute (RPI). While Albany-LCM is developed/maintained by a Sandia team, the status of the Albany-SCOREC team is unknown at the present time.