Spack is a python-based package manager that can install all dependencies.
MAST is installed from source.
- Install Spack using instructions
$ git clone https://github.com/spack/spack.git
$ . spack/share/spack/setup-env.sh
- Install MAST and all dependencies
$ spack install \
libmesh +exodusii+hdf5+metis+boost+eigen+slepc \
^eigen ~fftw~metis~mpfr \
^petsc ~complex~debug+double+hdf5+hypre~int64+metis+mpi+mumps+shared+suite-sparse+superlu-dist+trilinos \
^intel-mkl %gcc@8.2.0
- Create symbolic link to all packages on in a directory for MAST installation. Replace
{SPACK_CODES}
with the directory where you want these links created. $ spack view -v -d true symlink {SPACK_CODES} \
libmesh +exodusii+hdf5+metis+boost+eigen+slepc \
^eigen ~fftw~metis~mpfr \
^petsc ~complex~debug+double+hdf5+hypre~int64+metis+mpi+mumps+shared+suite-sparse+superlu-dist+trilinos \
^intel-mkl %gcc@8.2.0
- Download MAST in directory where it will be built. The directory is called
{CODES}
in the following and should be replaced. $ cd {CODES}
$ mkdir mast
$ cd mast
$ git clone https://github.com/MASTmultiphysics/mast-multiphysics.git
- Configure MAST
$ mkdir dbg
$ cd dbg
$ export SPACK_VIEW_DIR={SPACK_CODES} \
cmake ../mast-multiphysics \
-DMPI_C_COMPILER=${SPACK_VIEW_DIR}/bin/mpicc \
-DMPI_CXX_COMPILER=${SPACK_VIEW_DIR}/bin/mpicxx \
-DCMAKE_C_COMPILER=${SPACK_VIEW_DIR}/bin/mpicc \
-DCMAKE_CXX_COMPILER=${SPACK_VIEW_DIR}/bin/mpicxx \
-DCMAKE_Fortran_COMPILER=${SPACK_VIEW_DIR}/bin/mpif90 \
-DlibMesh_DIR=${SPACK_VIEW_DIR} \
-DPETSc_DIR=${SPACK_VIEW_DIR} \
-DSLEPc_DIR=${SPACK_VIEW_DIR} \
-DBOOST_ROOT=${SPACK_VIEW_DIR}/include \
-DCMAKE_BUILD_TYPE=Debug
- Build MAST: Replace N with the number of cores on your machine to enable parallel build.
- Test MAST by running example_2:
$ ./examples/structural/example_1/structural_example_1 -ksp_type preonly -pc_type lu