From: bangerth XXXXXX HOW EXACTLY DO I DO
- THIS??? XXXXX
argument to cmake
.
+ threading off by passing the -DDEAL_II_WITH_THREADS=OFF
+ argument to cmake
.
+ BLAS + (the Basic Linear Algebra Subroutines) and + LAPACK + (Linear Algebra Package) are two packages that support + low-level linear algebra operations on vectors and dense + matrices. Both of these libraries should be found automatically + whenever available. +
+
+ FunctionParser
+ is a library that allows to enter functions in text form and have them
+ interpreted at run time. This is particularly useful in input
+ parameter files. cmake
will usually find the version of
+ this library that comes bundled with deal.II.
+ The function parser library has its own license; if you want to use
+ it with deal.II, please read it and make sure that you agree with it.
+ You can find it
+ here. We
+ include FunctionParser in the deal.II distributions courtesy of its author,
+ Juha Nieminen.
+
+ 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.
+
+ METIS is a library that
+ provides various methods to partition
+ graphs. deal.II uses it in programs like the
+ step-17 tutorial to partition a mesh for parallel computing.
+ To enable it, pass -DMETIS_DIR=/path/to/metis
to
+ the cmake
command. deal.II
+ supports METIS 5 and later.
+
+ Note: A more modern way to support parallel computations is
+ shown in the step-40 tutorial program and is based on
+ the p4est
library instead of METIS. See below on
+ installing p4est
.
+
+ p4est
+ is a library that deal.II uses to
+ distribute very large meshes across multiple processors (think
+ 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 disable the Trilinos interfaces in cases where cmake
- automatically finds it, use -DDEAL_II_WITH_PETSC=OFF
+ automatically finds it, use -DDEAL_II_WITH_TRILINOS=OFF
More details about compatibility and
configuration can be found here.
- If you want to use an external installation of UMFPACK, but UMFPACK was
- installed as
- part of /usr
or /opt
, instead of local
- directories in a home directory for example, you can use configure
- switches --with-umfpack-include, --with-umfpack-libs
.
+ 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.
- Note that UMFPACK has its own license; if - you want 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 + 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.
- In order to generate partitionings of triangulations, we have - functions that - call METIS library. METIS is a library that - provides various methods to partition graphs, which we use to - define which cell belongs to which part of a - triangulation. The main point in using METIS is to generate - partitions so that the interfaces between cell blocks are as - small as possible. This data can, in turn, be used to - distribute degrees of freedom onto different processors when - using PETSc and/or SLEPc in parallel mode. -
- -
- As with PETSc and SLEPc, the use of METIS is optional. If you
- wish to use it, you can do so by having a METIS installation
- around at the time of calling
- ./configure
by either setting
- the METIS_DIR
environment variable denoting the
- path to the METIS library, or using the
- --with-metis
flag.
-
- (deal.II) version 7.2 (and higher) support
- METIS 5.x.x only; earlier releases are no longer
- supported.
METIS is not needed when
- using p4est
to parallelize programs, see below.
-
- p4est is a library that deal.II uses to
- distribute very large meshes across multiple processors (think
- meshes with a billion cells on 10,000 processors). Using and
- installing p4est is discussed here.
- To configure deal.II with p4est, you will
- need to use the --with-path=/path/to/path
- switch to the ./configure
script.
-
If --with-blas=blasname
and/or
- --with-lapack=lapackname
is given, provide wrappers
- around some of the BLAS and LAPACK functions, and link with the
- respective libraries. It will make sure that we link with the
- required FORTRAN libraries. If no argument is given to
- --with-blas
, then a BLAS library
- libblas.a
or libblas.so
is searched for
- in the default locations of your system, and similarly for LAPACK.
If your BLAS or LAPACK libraries are not in the standard search
- path of your linker, you have to tell the linker where to find them.
- The path is not given as an argument to
- --with-blas
. Rather, you set the variable
- LDFLAGS
accordingly or make sure that the path is in
- your LD_LIBRARY_PATH
or similar. For details, please
- look up the documentation of your linker. An example configuration
- for Linux is:
- ./configure --with-blas=myblas LDFLAGS=-L/my/lib/ --
This example will search for a library
- libmyblas.a
or libmyblas.so
in the
- directory /my/lib
and elsewhere in the system library
- paths.
Some versions of BLAS and LAPACK need additional libraries
- to be linked with. Such an example is the
- automatically tuned
- linear algebra software (ATLAS). The BLAS version of this
- package also needs declarations from libatlas.a
,
- so it must be included. Using the standard library names of
- atlas, the include for BLAS reads
-
- ./configure --with-blas='f77blas -latlas' -- assuming that the library files
libf77blas.a
and
- libatlas.a
or the respective shared libraries
- *.so
are in libraries included in
- LD_LIBRARY_PATH
. LAPACK generated by ATLAS is
- included in a similar fashion.
- --with-hdf5=
and point it to
- the h5pcc or h5cc script inside your hdf5 installation.
-
- For a detailed description of how to compile HDF5 and linking with
- deal.II, see this
- page.
-