pugs
framework
The pugs
stands for Parallel Unstructured Grid Solvers.
It aims at providing a collection of numerical methods and utilities that are assembled together by a user friendly language.
pugs
Building Requirements
For the most basic build, pugs
only requires
- a C++-17 compiler.
- g++-10 or higher versions
- clang-10 or higher versions
-
CMake
(at least 3.16)
Warning:
Buildingpugs
in its source directory is forbidden. Trying to do so will result in a failure. However it generally leaves some garbage files in the source directory, namely theCMakeCache.txt
and theCMakeFiles
directory.CMake
itself is not able to remove them, to avoid the risk of compilation issues, one has to dot it manually...
In the build directory, one for instance launches
cmake path-to-pugs-source
and then
make -j nb_jobs
Specifying the compiler is done for instance as
CXX=g++ CC=gcc cmake path-to-pugs-source
When compilation is done, pugs
binary is produce. Additionally, one
can run unit tests by
make check
Optional packages
pugs
can benefit from additional packages to gain more
functionalities or development tools.
Optional numerical tools
MPI support
pugs
integrates MPI support and should compile with any MPI-3
implementation. However in order to dispatch meshes on MPI processes
pugs
requires ParMETIS
. Without, MPI support will be automatically
deactivated.
The easiest way to enable MPI support on Debian-like systems is to run
apt install libparmetis-dev
PETSc
pugs
can use PETSc
to solve linear systems. In pugs
the PETSc
support requires MPI support.
To install PETSc
on Debian-like systems
apt install petsc-dev
SLEPc
SLEPc
is an eigenvalue problem solver based on PETSc
. It requires
PETSc
.
To install SLEPc
on Debian-like systems
apt install slepc-dev
Documentation
User documentation
To build documentation one requires emacs
, gmsh
and gnuplot
,
additionally since examples results are generated, the documentation
can only be produced after the compilation of pugs
itself.
To install emacs
on Debian-like systems
apt install emacs
To install gmsh
on Debian-like systems
apt install gmsh
To install gnuplot
one can either use
apt install gnuplot-nox
or
apt install gnuplot-x11
Warning:
When building the documentation for the first time, a localemacs
configuration is generated. This requires an internet connection.
These packages are enough to build the html documentation. To build
the pdf documentation one requires a few more packages: pdflatex
(actually a fresh texlive installation is probably necessary) and pygmentize
On Debian-like systems these two packages are installed after
apt install texlive-full
Running the command
make doc
produces both the html
and pdf
documentation. Additional targets
are
-
userdoc
,userdoc-pdf
anduserdoc-html
.