Dependencies

The following provides an overview of all dependencies, such as system requirements or third party libraries, including installation instructions needed for configuration and installation of PartExa.

System requirements

It is assumed that a standard development environment with recent C++ compiler, MPI, and CMake is present. More explicit system requirements are stated in the following:

  • CMake version 3.12.0 or later

deal.II with p4est

PartExa strongly depends on the finite element library deal.II along with p4est for parallel distributed adaptive quadtrees and octrees. For installation of deal.II with p4est follow the steps below, which are based on the instructions given here:

Clone the deal.II source code repository:

git clone https://github.com/dealii/dealii.git <dealii_source>

Download the (latest) p4est release tarball

mkdir <p4est_source>
cd <p4est_source>
wget https://p4est.github.io/release/p4est-x.y.z.tar.gz

where p4est-x.y.z.tar.gz is the name of the file and x.y.z the version. All stable releases of p4est can be found here.

Install p4est making use of a configuration scipt provided by deal.II:

mkdir <p4est_install>
cd <p4est_source>
<dealii_source>/doc/external-libs/p4est-setup.sh p4est-x.y.z.tar.gz <p4est_install>

Configure and install deal.II with p4est:

mkdir <dealii_build> <dealii_install>
cd <dealii_build>
cmake -DCMAKE_INSTALL_PREFIX=<dealii_install> -DP4EST_DIR=<p4est_install> -DDEAL_II_WITH_P4EST=ON -DDEAL_II_WITH_MPI=ON <dealii_source>
make -j <num_procs> install