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
Changes in version 6.1
- Automatic creation of brk files (see
- Bug fixes (mostly MPI related bugs)
- Epetra is now a supported matrix format (see
- MUMPS is now supported through Amesos
- An experimental build script to build library dependencies is available under
Get the Goma source code
Run the command
git clone https://github.com/goma/goma
Get the prerequisites
Goma requires many third party libraries (TPLs, listed in scripts/README.md) which can be built automatically with the build script located in the scripts directory.
Build script requirements
The build-goma-dependencies.sh script relies on several packages readily available in many repositories.
For Ubuntu this will install the necessary packages to run the script:
sudo apt-get install build-essential m4 zlib1g-dev libx11-dev gfortran
sudo yum install gcc-c++ gcc-gfortran m4 zlib-static libX11-devel
The scripts README gives a more specific list of minimum requirements. Please ensure the script requirements are met before attempting to use it.
To build third party libraries (TPLs):
./build-goma-dependencies.sh [-j NUM_PROCS] GOMA_TPL_INSTALL_DIRECTORY
-j NUM_PROCS is optional to run the build with multiple processors and
GOMA_TPL_INSTALL_DIRECTORY is where you would like the third party libraries
to be installed.
Add the openmpi
bin directory to your
PATH, the trilinos
bin directory to
your path, and the openmpi
lib directory to your
See scripts/README.md for more details on setting paths.
Finaly to build goma copy the
GOMA_LIBS to point to your TPL directory, and make sure the trilinos and
openmpi paths/versions are correct.
Then to build goma run:
goma executable will be built in the
[path to goma]/bin directory
goma can be installed with
make install PREFIX="/path/to/install/"
default prefix if unspecified is
OpenMPI should be added to the path and library path. If the build script was used to build openmpi you would use something like:
export LD_LIBRARY_PATH="/[path to gomalibs]/openmpi-4.0.2/lib:$LD_LIBRARY_PATH" export PATH="/[path to gomalibs]/openmpi-4.0.2/bin:$PATH"
SEACAS tools from Trilinos (e.g.
blot) should be added to
export PATH="/[path to gomalibs]/trilinos-12.18.1/bin:$PATH"
For netcdf utilities such as
ncdump add netcdf executables to your path
export PATH="/[path to gomalibs]/netcdf-c-4.7.3/bin:$PATH"
Run the tutorial
To get started with Goma, use the following: