Spack is a python-based package manager that can install all dependencies.
MAST is installed from source.
- Install Spack using instructions
1 $ git clone https://github.com/spack/spack.git
2 $ . spack/share/spack/setup-env.sh
- Install MAST and all dependencies
2 libmesh +exodusii+hdf5+metis+boost+eigen+slepc \
3 ^eigen ~fftw~metis~mpfr \
4 ^petsc ~complex~debug+double+hdf5+hypre~int64+metis+mpi+mumps+shared+suite-sparse+superlu-dist+trilinos \
- 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. 1 $ spack view -v -d true symlink {SPACK_CODES} \
2 libmesh +exodusii+hdf5+metis+boost+eigen+slepc \
3 ^eigen ~fftw~metis~mpfr \
4 ^petsc ~complex~debug+double+hdf5+hypre~int64+metis+mpi+mumps+shared+suite-sparse+superlu-dist+trilinos \
- Download MAST in directory where it will be built. The directory is called
{CODES}
in the following and should be replaced. 4 $ git clone https://github.com/MASTmultiphysics/mast-multiphysics.git
- Configure MAST
3 $ export SPACK_VIEW_DIR={SPACK_CODES} \
4 cmake ../mast-multiphysics \
5 -DMPI_C_COMPILER=${SPACK_VIEW_DIR}/bin/mpicc \
6 -DMPI_CXX_COMPILER=${SPACK_VIEW_DIR}/bin/mpicxx \
7 -DCMAKE_C_COMPILER=${SPACK_VIEW_DIR}/bin/mpicc \
8 -DCMAKE_CXX_COMPILER=${SPACK_VIEW_DIR}/bin/mpicxx \
9 -DCMAKE_Fortran_COMPILER=${SPACK_VIEW_DIR}/bin/mpif90 \
10 -DlibMesh_DIR=${SPACK_VIEW_DIR} \
11 -DPETSc_DIR=${SPACK_VIEW_DIR} \
12 -DSLEPc_DIR=${SPACK_VIEW_DIR} \
13 -DBOOST_ROOT=${SPACK_VIEW_DIR}/include \
14 -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:
1 $ ./examples/structural/example_1/structural_example_1 -ksp_type preonly -pc_type lu