]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add a draft version of a file that will describe the installation of PETSc and Trilinos.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 17 Oct 2008 00:33:44 +0000 (00:33 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 17 Oct 2008 00:33:44 +0000 (00:33 +0000)
git-svn-id: https://svn.dealii.org/trunk@17253 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/readme-petsc-trilinos.html [new file with mode: 0644]

diff --git a/deal.II/doc/readme-petsc-trilinos.html b/deal.II/doc/readme-petsc-trilinos.html
new file mode 100644 (file)
index 0000000..5c0595f
--- /dev/null
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <title>The deal.II Readme on interfacing to PETSc and Trilinos</title>
+  <link href="screen.css" rel="StyleSheet">
+  <meta name="author" content="the deal.II authors <authors @ dealii.org>">
+  <meta name="copyright" content="Copyright (C) 2008 by the deal.II authors">
+  <meta name="date" content="$Date: 2008-10-14 05:36:48 -0500 (Tue, 14 Oct 2008) $">
+  <meta name="svn_id" content="$Id: readme.html 17202 2008-10-14 10:36:48Z heister $">
+  <meta name="keywords" content="deal.II">
+</head>
+
+<body>
+
+
+    <h1>Interfacing <acronym>deal.II</acronym> to PETSc and Trilinos</h1>
+
+    <p>    
+      <acronym>deal.II</acronym> can interface to the <a
+      href="http://www.mcs.anl.gov/petsc/" target="_top">PETSc</a> and
+      <a href="http://trilinos.sandia.gov" target="_top">Trilinos</a> 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.
+      </p>
+
+      <p>
+      <acronym>deal.II</acronym> has wrapper classes that provide almost the
+      same interfaces as the built-in <acronym>deal.II</acronym> 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 <acronym>deal.II</acronym>
+      with parallel computing capabilities.
+      </p>
+
+      <p>
+      The use of PETSc is optional, since <acronym>deal.II</acronym> 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
+      <code>./configure</code>. PETSc usually requires you to set the
+      environment variables <code>PETSC_DIR</code> and <code>PETSC_ARCH</code>
+      to a path to PETSc and denoting the architecture for which PETSc is
+      compiled. If these environment variables are set, then
+      <acronym>deal.II</acronym> 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
+      <code>--with-petsc=DIR</code> and
+      <code>--with-petsc-arch=ARCH</code> switches to
+      <code>./configure</code> can be used to override the values
+      of <code>PETSC_DIR</code> and <code>PETSC_ARCH</code> or if these
+      environment variables are not set at all. If you do have a PETSc installation
+      and have set the <code>PETSC_DIR</code> and
+      <code>PETSC_ARCH</code> environment variables but do not wish
+      <acronym>deal.II</acronym> to be configured for PETSc use, you
+      should specify <code>--with-petsc=no</code> as a flag during
+      configuration. 
+      </p>
+
+      <p>
+      Note that in order to use PETSc with <acronym>deal.II</acronym>
+      with the current version of <acronym>deal.II</acronym>, you
+      need to have at least PETSc version 2.3.1
+      installed. <acronym>deal.II</acronym> version 6.0 has been
+      tested up to PETSc release 2.3.3-p4.
+      </p>
+
+      <p>
+      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 <a
+      href="http://www-dimat.unipv.it/heltai/wikideal/index.php/Deal.II_Questions_and_Answers"
+      target="_top">Frequently Asked Questions page</a>, as well as
+      <a
+      href="http://ganymed.iwr.uni-heidelberg.de/pipermail/dealii/2007/001820.html">in
+      this posting to the mailing list</a>. 
+      </p>
+    </dd>
+
+
+    <a name="trilinos"></a>
+    <dt>Trilinos</dt>
+    <dd>
+      <p>
+      <acronym>deal.II</acronym> can also interface to the <a
+      href="http://trilinos.sandia.gov" target="_top">Trilinos</a> 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.
+      </p>
+
+      <p>
+      Unlike with <href="#petsc">PETSc support</a>, <acronym>deal.II</acronym>
+      does not currently have wrappers that allow Trilinos linear algebra
+      classes to be used with 
+      the same interface as <acronym>deal.II</acronym> 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 <code>TRILINOS_DIR</code>
+      environment variable to the path to an existing Trilinos installation,
+      or use the <code>--with-trilinos=/path/to/trilinos</code> switch of
+      the deal.II <code>./configure</code> 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 
+      <acronym>deal.II</acronym> is configured for, i.e. if you want deal.II
+      to use shared libraries, then Trilinos needs to use shared libraries as
+      well.
+      </p>
+
+    <hr>
+    
+    <address>
+      <a href="mail.html" target="body">The deal.II mailing list</a>
+      $Date: 2008-10-14 05:36:48 -0500 (Tue, 14 Oct 2008) $
+    </address>
+  </body>
+</html>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.