Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time


A Full-Newton Finite Element Program for Free and Moving Boundary Problems with Coupled Fluid/Solid Momentum, Energy, Mass, and Chemical Species Transport

For more information see the Goma website


Most of the documentation can be found at


See LICENSE file. Some cmake modules under cmake/ were modified from the Eigen library and are noted at the top of the cmake file.

Major Changes


Build Instructions


Spack package

The Spack package manager can be used to install Goma and all of Goma's third party libraries

Currently available on the develop branch of spack.

Example for a bash-like shell:

git clone
. spack/share/spack/
spack install goma

For more information on build options see:

spack info goma

For more information on using spack see the spack documentation.

Third party libraries

  • Metis 5.1.0 (Optional)
  • SEACAS 2022-01-27 (Required: Exodus and Aprepro)
  • BLAS/LAPACK (Configured through Trilinos)
  • Trilinos matrix solvers 13.0.1 and up (Required: AztecOO, Amesos, Epetra, TPL LAPACK; Optional: Stratimikos [with Teko, Ifpack, Belos, Tpetra])
  • PETSc matrix solvers (KSP, PC)
  • MUMPS 5.4.0 (through Trilinos or PETSc only)
  • Superlu_dist 7.2.0 (through Trilinos or PETSc only, Trilinos requires parmetis build)
  • UMFPACK, SuiteSparse 5.10.1 (Optional)
  • ARPACK/arpack-ng 3.8.0 (Optional)
  • sparse 1.4b (Optional)
  • Catch2 (Optional testing)

Run the tutorial

To get started with Goma, use the following: