-
Notifications
You must be signed in to change notification settings - Fork 12
Build and prerequisite packages
Note: for the purposes of documentation, ~/workspace/<package>/
is used as an example directory where some <package> is installed (outside of the mpm folder).
Background information on prerequisite packages can be found below. In general, first, find your Linux/Mac operating system and follow the instructions to get started. Then, install other dependencies. After completing the installation, you may want to visit the Compiling MPM in Linux or in ARM-based MacOS page.
Please see the information below to install the following packages:
Please run the following command:
dnf install -y boost boost-devel clang clang-analyzer clang-tools-extra cmake cppcheck dnf-plugins-core \
eigen3-devel findutils freeglut freeglut-devel gcc gcc-c++ git hdf5 hdf5-devel \
kernel-devel lcov libnsl make ninja-build openmpi openmpi-devel tar \
valgrind vim vtk vtk-devel wget
Please run the following commands to install dependencies:
sudo apt update
sudo apt upgrade
sudo apt install -y gcc git libboost-all-dev libeigen3-dev libhdf5-serial-dev libopenmpi-dev libomp-dev
If you are running Ubuntu 18.04 or below, you may want to update the GCC version to 9 to have OpenMP 5 specifications support.
sudo apt install software-properties-common
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
You need to install homebrew if you don't already have it, then please run the following commands to install dependencies:
brew update
brew upgrade
brew install gcc git boost eigen hdf5 open-mpi libomp
Install the following dependencies in order of appearance. All of these are required, apart from VTK which is necessary for ParaView (data analysis and visualization application).
Ubuntu
sudo apt-get install software-properties-common
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt update
sudo apt upgrade
MacOS
brew install cmake
Ubuntu
sudo apt-get install freeglut3-dev libxt-dev
MacOS
brew install freeglut libxt
MacOS
brew install llvm
Both Ubuntu and MacOS
git clone https://gitlab.kitware.com/vtk/vtk.git VTK
cd VTK && mkdir build && cd build/
cmake -DCMAKE_BUILD_TYPE:STRING=Release ..
make -j
sudo make install
Ubuntu
sudo dnf install -y libnsl freeglut freeglut-devel
mkdir -p ~/workspace && cd ~/workspace/ && git clone https://github.com/wdas/partio.git && \
cd partio && cmake . && make
Houdini supported (*.bgeo) files will be generated. These can be rendered using the non-commercial Houdini Apprentice.
- Prerequisite packages
- Compiling MPM in Linux
- Compiling MPM in ARM-based MacOS
- Advanced compilation with MPI
- Explicit single-phase MPM
- Implicit linear and nonlinear schemes
- Semi-implicit Navier Stokes solver
- Two-phase MPM solver
- Using higher-order basis functions
- Infinitesimal strain
- Finite strain
- Fluids