From 5c923dec5fcc51768fac425abe85333543d2afac Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 17 Oct 2008 00:33:44 +0000 Subject: [PATCH] Add a draft version of a file that will describe the installation of PETSc and Trilinos. git-svn-id: https://svn.dealii.org/trunk@17253 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/readme-petsc-trilinos.html | 126 +++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 deal.II/doc/readme-petsc-trilinos.html diff --git a/deal.II/doc/readme-petsc-trilinos.html b/deal.II/doc/readme-petsc-trilinos.html new file mode 100644 index 0000000000..5c0595ff12 --- /dev/null +++ b/deal.II/doc/readme-petsc-trilinos.html @@ -0,0 +1,126 @@ + + + + The deal.II Readme on interfacing to PETSc and Trilinos + + + + + + + + + + + +

Interfacing deal.II to PETSc and Trilinos

+ +

+ deal.II can interface to the PETSc and + Trilinos software + libraries. Both of these libraries provide lots of functions for + linear algebra, among other things, for example + implementations of a variety of linear solvers, as well as various + different sparse and dense matrix and vector formats. Trilinos + also has many subpackages that deal with problems that go far + beyond linear algebra, for example nonlinear solvers, automatic + differentiation packages, etc. Of particular interest to deal.II + is their ability to provide this functionality both on + sequential and parallel (using MPI) computers. PETSc is written + in C; Trilinos is written in C++ and can be considered to be a + more modern version of PETSc though both packages are under + continuing development at their respective national laboratories. +

+ +

+ deal.II has wrapper classes that provide almost the + same interfaces as the built-in deal.II linear + algebra classes. The main advantage of PETSc is the variety of its + algorithms, and that all of them can work in a parallel setting, + i.e. matrices and vectors can be distributed across a cluster of + computers that communicate via MPI, providing deal.II + with parallel computing capabilities. +

+ +

+ The use of PETSc is optional, since deal.II comes + with a complete implementation of linear algebra classes + itself. However, if you wish to use the PETSc wrappers, you can do so by + having a PETSc installation around at the time of calling + ./configure. PETSc usually requires you to set the + environment variables PETSC_DIR and PETSC_ARCH + to a path to PETSc and denoting the architecture for which PETSc is + compiled. If these environment variables are set, then + deal.II will pick them up during configuration, and + store them. It will then also recognize that PETSc shall be used, and + enable the wrapper classes. The + --with-petsc=DIR and + --with-petsc-arch=ARCH switches to + ./configure can be used to override the values + of PETSC_DIR and PETSC_ARCH or if these + environment variables are not set at all. If you do have a PETSc installation + and have set the PETSC_DIR and + PETSC_ARCH environment variables but do not wish + deal.II to be configured for PETSc use, you + should specify --with-petsc=no as a flag during + configuration. +

+ +

+ Note that in order to use PETSc with deal.II + with the current version of deal.II, you + need to have at least PETSc version 2.3.1 + installed. deal.II version 6.0 has been + tested up to PETSc release 2.3.3-p4. +

+ +

+ Installing both PETSc and deal.II together can be a bit of a challenge. A + good summary of the relevant steps can be found on the Frequently Asked Questions page, as well as + in + this posting to the mailing list. +

+ + + + +
Trilinos
+
+

+ deal.II can also interface to the Trilinos software + library. Trilinos, like PETSc, provides a large number of linear algebra + and other classes that can be used on . It is written in C++ and considered more modern than PETSc. +

+ +

+ Unlike with PETSc support, deal.II + does not currently have wrappers that allow Trilinos linear algebra + classes to be used with + the same interface as deal.II classes, though we hope + to have them in the future. However, our Makefiles are set up so that if + Trilinos use is configured in, header files are automatically found and + libraries are linked with. To do so, set the TRILINOS_DIR + environment variable to the path to an existing Trilinos installation, + or use the --with-trilinos=/path/to/trilinos switch of + the deal.II ./configure script. It should point to the path + of which the include and lib directories are subdirs. The Trilinos + installation needs to provide the same kind of libraries that + deal.II is configured for, i.e. if you want deal.II + to use shared libraries, then Trilinos needs to use shared libraries as + well. +

+ +
+ +
+ The deal.II mailing list + $Date: 2008-10-14 05:36:48 -0500 (Tue, 14 Oct 2008) $ +
+ + -- 2.39.5