From c5a40815d97de5cde02a844ed6d061319262ab24 Mon Sep 17 00:00:00 2001
From: maier
- When configuring interfacing to external libraries,
- the
- The following paragraphs describe how the interfaces to the various
- packages deal.II interacts with can be configured. As
- a general rule in the discussion below, if configuring the interface to
- package
+ Notes:
+ Optional interfaces to other software packages
cmake
script by default tries to find all of these
- libraries in a number of standard locations on your file system. For
- optional interfaces, it gives up if they are not there and
- deal.II will be built without them. However, there
- is one interface that we need to
- have: BOOST. If it is
- not found in places like /usr/
then cmake
will
- resort to versions of these libraries that we provide bundled as part of
- the deal.II tar files.
+ When configuring interfacing to external libraries, the
+ cmake
script by default tries to find all of these
+ libraries in a number of standard locations on your file system.
+ For optional interfaces, it gives up if the library is not
+ found and deal.II will be built without support
+ for them.
+ However, there is one interface that we need to have: BOOST. If it is not
+ found externally cmake
will resort to the bundled boost
+ version that is part of the deal.II tar file.
libx
requires passing a flag of the
- form -DLIBX_DIR=/path/to/libx
then you can alternatively
- also set LIBX_DIR
as an environment variable in
- your .bashrc
or .cshrc
file so that you do not
- have to enter this argument everytime you
- call cmake
. Any value passed on the command line
- wins over a value that may be found in an environment variable.
+ The following paragraphs describe how the interfaces to the
+ various packages, deal.II interacts with,
+ can be configured.
+
+
-dev
or -devel
.
+ After that cmake
will automatically find the
+ library and use it.
+ foo
can usually be done by specifying
+ -DFOO_DIR=/path/to/foo
. Alternatively, you can
+ set FOO_DIR
as an environment variable in your
+ .bashrc
or .cshrc
file so that
+ you do not have to enter this argument again the next time
+ you invoke cmake
in a fresh build directory.
+ Any value passed on the command line wins over a value that
+ may be found in an environment variable.
+ foo
use the argument
+ -DDEAL_II_WITH_FOO=ON
resp.
+ -DDEAL_II_WITH_FOO=OFF
for cmake
.
+
ARPACK is a library supporting the computation of
- eigenvalues. To use it, use the -DARPACK_DIR=/path/to/arpack
argument.
- ARPACK comes with its
- own license;
- if you want to use it with deal.II,
- please read it and make sure that you agree with it.
- For a detailed description of how to compile ARPACK and linking with deal.II, see
+ target="_top">ARPACK is a library for computing large
+ scale eigenvalue problems.
+ ARPACK
+ should be readily packaged by most Linux distributions.
+ (Don't forget to install a develpment version of the library).
+ To use a self compiled version, specify
+ -DARPACK_DIR=/path/to/arpack
on the command line.
+
+ For a detailed description on how to compile ARPACK and linking with deal.II, see
this page.
The HDF5 library
- provides graphical output capabilities in HDF5/XDMF format. To use
- it, use the -DHDF5_DIR=/path/to/hdf5
argument. For a
- detailed description of how to compile HDF5 and linking with
- deal.II, see this
- page.
+ provides graphical output capabilities in HDF5/XDMF
+ format.
+ HDF5 should be
+ readily packaged by most Linux distributions. (Don't forget
+ to install a develpment version of the library).
+ To use a self compiled version, specify
+ -DHDF5_DIR=/path/to/hdf5
on the command line.
+ For a detailed description on how to compile HDF5 and
+ linking with deal.II, see this page.
-DMETIS_DIR=/path/to/metis
to
- the cmake
command. deal.II
- supports METIS 5 and later.
+ To use a self compiled version, specify
+ -DMETIS_DIR=/path/to/metis
on the command line.
+ deal.II supports METIS 5 and later.
@@ -466,9 +497,13 @@
MUMPS
(MUltifrontal Massively Parallel sparse direct Solver)
is a sparse direct solver that can factorize matrices within or
- across nodes of a cluster. To use it, provide the
+ across nodes of a cluster.
+ MUMPS
+ should be readily packaged by most Linux distributions.
+ (Don't forget to install a develpment version of the library).
+ To use a self compiled version, provide the
-DMUMPS_DIR=/path/to/mumps
argument to cmake
.
- For a detailed description of how to compile MUMPS (and
+ For a detailed description on how to compile MUMPS (and
some dependencies) and linking with deal.II, see
this page.
GridIn
class. To use it,
- pass -DNETCDF_DIR=/path/to/netcdf
to cmake
.
+ one of the functions of the GridIn
class.
+ NetCDF should be readily packaged by most
+ Linux distributions. (Don't forget to install a develpment
+ version of the library). To use a self compiled version, pass
+ -DNETCDF_DIR=/path/to/netcdf
to cmake
.
@@ -496,8 +535,9 @@
meshes with a billion cells on 10,000 processors). Using and
installing p4est is discussed here.
- To use p4est, pass the argument -DP4EST_DIR=/path/to/p4est
- to the cmake
command.
+ To use a self compiled version, pass the argument
+ -DP4EST_DIR=/path/to/p4est
to the
+ cmake
command.
@@ -508,10 +548,15 @@
PETSc is a
library that supports parallel linear algebra and many other things.
- To interface with it, add -DPETSC_DIR=/path/to/petsc
- -DPETSC_ARCH=architecture
to the argument list
- for cmake
. The values for these arguments must be the
- same as those specified when building PETSc.
+
+ PETSc
+ is already packaged by some Linux distributions and should be
+ found automatically if present. (Don't forget to install a
+ develpment version of the library). To use a self compiled
+ version of PETSc, add -DPETSC_DIR=/path/to/petsc
+ -DPETSC_ARCH=architecture
to the argument list for
+ cmake
. The values for these arguments must be
+ the same as those specified when building PETSc.
@@ -529,8 +574,10 @@
SLEPc is
a library for eigenvalue computations that builds on PETSc. Its
configuration works just like that for PETSc, except that the
- variable to set is SLEPC_DIR
(it uses the same
- architecture as specified in PETSC_ARCH
).
+ variable to set is SLEPC_DIR
and
+ SLEPC_ARCH
.
+ If SLEPC_ARCH
is left empty, cmake
will
+ use the same architecture as specified in PETSC_ARCH
.
For the interface with SLEPc to work, deal.II's
PETSc interface must also be configured correctly (see above).
-DTRILINOS_DIR=/path/to/trilinos
to the argument
- list for cmake
. Alternatively, you can
+
+ To interface with a self compiled version of Trilinos
+ add -DTRILINOS_DIR=/path/to/trilinos
to the
+ argument list for cmake
. Alternatively, you can
also set an environment variable TRILINOS_DIR
and cmake
will pick up this path.
@@ -584,18 +633,25 @@
UMFPACK is a sparse direct solver that we often
use in prototype codes where the goal is to simply get a linear
- system solved robustly. The default is to enable this interface,
- either using a version installed on your system of using a version
- that comes bundled with deal.II. It can be
- enabled using the -DDEAL_II_WITH_UMFPACK=OFF
argument.
+ system solved robustly.
+ The interface will be enabled by default, either using a version
+ installed on your system of using a version that comes bundled
+ with deal.II.
+ It can be disabled explicitly by using the
+ -DDEAL_II_WITH_UMFPACK=OFF
argument.
+ To use a self compiled version, pass the argument
+ -DUMFPACK_DIR=/path/to/umfpack
to the
+ cmake
command.
- UMFPACK has its own license. To use it with deal.II, please read it - and make sure that you agree with it. You can find the license of - UMFPACK here. We - include UMFPACK in the deal.II distributions courtesy of its author, - Timothy A. Davis. + UMFPACK has its own license. To use it with deal.II, please + read it and make sure that you agree with it. You can find + the license of UMFPACK + here. + We include UMFPACK in the deal.II distributions courtesy of + its author, Timothy + A. Davis.