VerHem
v0.0.1
A FEM solver for 18 components Ginzburg-Landau partial differential equations

This page talks about how to get the source of VerHem as well as the other necessary sources of third party library dependencies, and how to properly compile and link different parts of source codes and dependencies. VerHem is designed for and has been implemented on memory distributed system, good understanding of Message Passing Interface (MPI) is suggested. There are two major frameworks, which VerHem depends on, deal.ii and Trilinos. Except these two major libraries, p4est, LAPCK, ScaLAPACK, METIS and MPI are also necessary. The building configuration system of VerHem is cmake, so do deal.ii and Trilinos.

Install and Compile

Getting source tree, configure and build

From GitLab

$ git clone https://gitlab.com/verhem/verkko-hem-repo.git

or from GitHub

$ git clone https://github.com/VerHem/verkko-Hem-repo.git

then run cmake to configure the build system

$ cd verkko-Hem-repo
$ mkdir build && cd build
$ cmake ..

after then, build the binary executable

$ cmake --build . -j N

The built executable locates in ./build/sol with file name VerHem.


About dependencies

To successfully compile, link and run VerHem application, few significant third party libraries have to be built or installed.

These dependencies are:

For most of HPC cluster platforms, many of listed above are available by default. Frequently, users may notice that what they have to install manually are deal.ii and Trilinos, which both are cmake-configured libraries. On platform with Spack, these dependencies will be more easy to handle. If user wish to run VerHem applications on their UNIX-BSD/GNU+Linux desktop or laptop, these dependencies may be installed from ports or package management systems.