From: bangerth Date: Sat, 18 Oct 2008 11:46:06 +0000 (+0000) Subject: Move the PETSc and Trilinos documentation out of line. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6d336f65dbb6f2a3f17de6e6bf05295e7f5ca51;p=dealii-svn.git Move the PETSc and Trilinos documentation out of line. git-svn-id: https://svn.dealii.org/trunk@17276 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/readme-petsc-trilinos.html b/deal.II/doc/readme-petsc-trilinos.html index 5c0595ff12..613665c6fb 100644 --- a/deal.II/doc/readme-petsc-trilinos.html +++ b/deal.II/doc/readme-petsc-trilinos.html @@ -16,47 +16,60 @@

Interfacing deal.II to PETSc and Trilinos

+

About PETSc, Trilinos, and the deal.II + interfaces

+

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. + 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, uncertainty propagation + engines, 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 + deal.II has wrapper classes to the linear algebra + parts of both packages 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. + algebra classes. We use these interfaces for parallel computations based + on MPI since the native deal.II linear algebra classes lack this ability. +

+ + +

Configuring the interfaces to PETSc and Trilinos

+ +

+ The use of PETSc and Trilinos is optional. To use the wrapper classes, + you first have to install these packages and + point deal.II's ./configure to the + installation directories. This happens in similar ways for the two + packages:

+ +
PETSc
+

- 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 + 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 + enable the wrapper classes. +

+ +

+ Alternatively, 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 @@ -85,27 +98,12 @@ href="http://ganymed.iwr.uni-heidelberg.de/pipermail/dealii/2007/001820.html">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. -

+
Trilinos

- 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 + As above, 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 @@ -116,6 +114,22 @@ well.

+

+ deal.II and its tutorial programs use several of the + Trilinos sub-packages. Configuring Trilinos with a command + like the following should do the trick: + +

+../configure --enable-shared \
+      --with-cflags=-fPIC --with-cxxflags=-fPIC --with-fflags=-fPIC \
+      --enable-thyra --enable-stratimikos --enable-rtop --enable-teuchos \
+      --enable-sacado --enable-ml --enable-ifpack --enable-epetra \
+      --enable-belos --enable-aztecoo \
+      --prefix=/home/bangerth/bin/trilinos-9.0.1
+      
+ +

+
diff --git a/deal.II/doc/readme.html b/deal.II/doc/readme.html index 5c18aa6ec1..5054087213 100644 --- a/deal.II/doc/readme.html +++ b/deal.II/doc/readme.html @@ -58,7 +58,7 @@ 2.2 (though only with static instead of shared libraries);
  • Linux on x86, with Portland Groups (PGI) pgCC compiler version 7.1 and 7.2; -
  • Cygwin/Windows with +
  • Cygwin/Windows with cygwin1.dll versions 1.5.xx, and gcc 3.3 and 3.4 under Windows XP and NT. @@ -550,61 +550,13 @@
    Petsc
    +

    deal.II can interface to the PETSc - library. PETSc's provides 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. - 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. + library. The simplest way to do so is to set the PETSC_DIR + and PETSC_ARCH environment variables. More information and + configuration options can be found here.

    @@ -613,29 +565,13 @@
    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 sequential or parallel - computers. 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. + deal.II can also interface to Trilinos. The + simplest way to use these interfaces is to + pass --with-trilinos=/path/to/trilinos + to deal.II's ./configure script. More + configuration options can be found here.