Sandia National Laboratories' Albany multiphysics code
Clone or download

README.md

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 hundreds of regression tests and examples that demonstrate the code's capabilities on a wide variety of problems including fluid mechanics, solid mechanics (elasticity and plasticity), ice-sheet flow, quantum device modeling, and many other applications.

The Albany web page is located at http://SNLComputation.github.io/Albany

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

and optionally depends on the SCOREC Parallel Unstructured Mesh Infrastructure http://www.scorec.rpi.edu/pumi.

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].

In addition to supporting embedded sensitivity analysis and uncertainty quantification, Albany can be tightly-coupled to Dakota using the Trilinos TriKota package.

Building Albany

Detailed build instructions for both Trilinos and Albany are maintained on the Albany wiki at https://github.com/SNLComputation/Albany/wiki/Building-Albany-and-supporting-tools

Nightly Build and Test Results

Ths nightly build results for the Trilinos and SCOREC libraries along with Albany and the status of the Albany regression tests are posted on the Albany CDash site at http://my.cdash.org/index.php?project=Albany

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

/tests/small
/tests/large

These tests are stand-alone and also serve as nice examples about how to describe various multiphysics problems. 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 can be executed by moving into its sub-directory, and executing ctest in that sub-directory. Many Albany tests run in parallel using up to 4 MPI ranks.

Documentation

The HTML user guide is maintained inside the Albany repository at:

/doc/user-guide/guide.html

The LaTeX Developer's Guide is located at:

/doc/developersGuide

Note on unsupported code

A few folders (e.g., QCAD, MOR) are empty, containing only a README file. These folders refer to Albany packages that, due to a lack of resources, were not possible to be maintained anymore. On the README files, you can find information on how to rewind git history to a version where the package was supported and fully functioning (to the best of our knowledge), together with a sha for the trilinos revision to use.