]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
More and complete words on use and installation of HSL functions.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 6 Feb 2001 09:52:53 +0000 (09:52 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 6 Feb 2001 09:52:53 +0000 (09:52 +0000)
git-svn-id: https://svn.dealii.org/trunk@3864 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/contrib/hsl/include/hsl/hsl.h
deal.II/doc/development/makefiles.1.html
deal.II/doc/external-libs/hsl.html [new file with mode: 0644]
deal.II/doc/news/2001/c-3-1.html
deal.II/doc/news/news.html
deal.II/doc/readme.html
deal.II/lac/include/lac/sparse_direct.h

index e502b367db8a8d9423c151c76eedf9f2b07275cb..73ce7a1c85e896933784f2d7b69a8049f72d4df4 100644 (file)
  * here provide services for the direct solution of sparse systems of
  * linear equations. For a thorough discussion of these functions, as
  * well as for a way to download them, please see
- * @url{http://www.cse.clrc.ac.uk/Activity/HSL}.
+ * @url{http://www.cse.clrc.ac.uk/Activity/HSL}. For a description of
+ * the steps necessary for the installation of HSL subroutines, read
+ * the section on external libraries in the deal.II ReadMe file.
  *
- * @author Wolfgang Bangerth, 2000
+ * @author Wolfgang Bangerth, 2000, 2001
  */
 namespace HSL 
 {
index dd09c0351f18868a934da4ad880744938449057a..15e6fdc8f12cd4de52886824fe37360960a675fb 100644 (file)
            <code>yes</code> indicates whether some subroutines from
            the HSL have been explicitely installed and shall be used
            by the library. <code>no</code> otherwise.
+          (See the
+          <a href="../readme.html#external-libs" target="body">ReadMe</a>
+          file for more information on installation of HSL subroutines.)
            </p>
       </dd>    
     </dl>
            Path to the place where the HSL subroutine functions are
            linked into a library. Note that this library is only
            available if it is installed explicitely by the user.
+          (See the
+          <a href="../readme.html#external-libs" target="body">ReadMe</a>
+          file for more information on installation of HSL
+           subroutines.)
            </p>
       </dd>
 
       <dd> <p>
            Path and name of the library that contains the HSL
            subroutines explicitely installed.
+          (See the
+          <a href="../readme.html#external-libs" target="body">ReadMe</a>
+          file for more information on installation of HSL
+           subroutines.)
            </p>
       </dd>
     </dl>
            If some HSL files are
            installed, this path points to includes for the
            declaration of C bindings to these functions.
+          (See the
+          <a href="../readme.html#external-libs" target="body">ReadMe</a>
+          file for more information on installation of HSL
+           subroutines.)
            </p>
       </dd>
 
diff --git a/deal.II/doc/external-libs/hsl.html b/deal.II/doc/external-libs/hsl.html
new file mode 100644 (file)
index 0000000..7f413f9
--- /dev/null
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+   "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+  <head>
+    <link href="../screen.css" rel="StyleSheet" title="deal.II Homepage" media="screen">
+    <link href="../print.css" rel="StyleSheet" title="deal.II Homepage" media="print">
+    <title>The deal.II Readme</title>
+    <meta name="author" content="Wolfgang Bangerth <deal@iwr.uni-heidelberg.de>">
+    <meta name="keywords" content="deal.II">
+  </head>
+
+  <body>
+
+
+    <h1>Using and installing instructions for functions from the
+    Harwell Subroutine Library (HSL)</h1>
+
+    <p>
+    The <a href="http://www.cse.clrc.ac.uk/Activity/HSL"
+    target="_top">Harwell Subroutine Library (HSL)</a> is a collection of
+    Fortran77 files that implement various methods to solve linear
+    systems of equations, but also cover various other aspects of
+    mathematical algorithms. <acronym>deal.II</acronym> is presently
+    able to use two of the sparse direct solvers implemented in that
+    library:
+    <ul>
+    <li> <p> MA27: A modified Gauss elimination method for sparse
+         symmetric indefinite systems.</p>
+    <li> <p> MA47: A frontal elimination method for sparse symmetric
+         indefinite systems.</p>
+    </ul>
+    Within <acronym>deal.II</acronym>, they are used by the classes 
+    <code>SparseDirectMA27</code> and <code>SparseDirectMA47</code>
+    (see the online reference in the LAC sublibrary for more
+    information).
+    </p>
+
+    <p>
+    With respect to the integration of these functions into
+    <acronym>deal.II</acronym>, there are two problems: Firstly, for
+    license reasons, we can not, however, include these solvers in the
+    standard distribution of the library, so you have to download them
+    yourself, if you want to use them. Secondly, these functions are
+    usually downloaded as single files, rather than as a complete
+    library, so one does not usually build up a whole library against which
+    a <acronym>deal.II</acronym> program could be linked, but is left
+    with the individual files.
+    </p>
+
+    <p>
+    Our solution to this problem is as follows:
+    <ul>
+    <li> <p>
+         If you want to use any of these subroutines, then you have to
+         download them from the <a href="http://www.cse.clrc.ac.uk/Activity/HSL"
+        target="_top">HSL server</a>. Note that the license is rather
+         restrictive.
+        </p>
+
+        <p>
+        For MA27, you have to have the main file, while for MA47
+        there are two files, one for the main algorithm and one with
+        support functions.
+        </p>
+
+    <li> <p>
+         Drop these files into the directory
+         <code>deal.II/contrib/hsl/source</code>, with names
+        <code>ma27.f</code> (for MA27), and <code>ma47.f</code> and
+         <code>ma47dep.f</code> (for MA47). There should already be a
+         file called <code>ma27sup.f</code>. Note that the exact names
+         (including letter case) of the files matter.
+        </p>
+
+    <li> <p>
+         Run (or re-run) the <code>./configure</code> script in the
+         top level directory of <acronym>deal.II</acronym>. It should,
+         at one point, print a message which functions from HSL it has
+         found. This sets some flags for subsequent compilations 
+        (preprocessor defines <code>HAVE_HSL_MA27,
+         HAVE_HSL_MA47</code> and Makefile variable
+         <code>USE_CONTRIB_HSL=yes</code>) that 
+         these functions have been found and can be used, rather than
+         dummy functions that only display an error and abort the
+         program if called.
+        <p>
+
+    <li> <p>
+         Compile the library (a description of how to do so is found
+         in the <a href="../readme.html" target="body">ReadMe</a>
+         file). If you had already made it, first clean the directory
+         by calling <code>make clean</code> in the top level directory.
+        </p>
+    </ul>
+    </p>
+
+    <p>
+    Note that if the respective functions have not been found at
+    configure time, then the classes using them are still available to
+    programs, but when called will issue an error message and abort
+    the program with an exception.
+    </p>
+
+    <p>
+    If HSL functions have been found, then we also have some Fortran77
+    code in the system. Of course, the requires that some F77 compiler
+    has been found at configure time, but note that this also changes
+    the libraries that need to be linked to the program. For example,
+    on Sun, these are the libraries <code>-lF77 -lsunmath
+    -lM77</code>. Usually, the right set of additional libraries
+    should be detected automatically at configure time, and the
+    respective flags should also be set correctly without user
+    interaction.
+    </p>
+
+    <hr>
+    
+    <address>
+      <a href="mail.html">The deal.II mailing list</a>
+      $Date$
+    </address>
+  </body>
+</html>
index 2b9b1253a6c95b96cb2b512cd3a5c4e9d37b4539..57fc7a7e2add24abb7f76b9367aa7792e1f579f6 100644 (file)
@@ -30,6 +30,9 @@ documentation, etc</a>.
        New: There is now some support to include and use routines from the 
        <a href="http://www.cse.clrc.ac.uk/Activity/HSL" 
        target="_top">Harwell Subroutine Library</a>.
+       (See the <a href="../../readme.html#external-libs" target="body">ReadMe</a>
+       file for more information on installation of HSL
+       subroutines.)
        <br>
        (WB 2001/01/30)
        </p>
@@ -80,7 +83,13 @@ documentation, etc</a>.
        New: There is now some support to include and use routines from the 
        <a href="http://www.cse.clrc.ac.uk/Activity/HSL" 
        target="_top">Harwell Subroutine Library</a>, and support
-       classes for the sparse direct solvers MA27 and MA47.
+       classes 
+       <code class="class">SparseDirectMA27</code> and
+       <code class="class">SparseDirectMA47</code>
+       for the sparse direct solvers MA27 and MA47.
+       (See the <a href="../../readme.html#external-libs" target="body">ReadMe</a>
+       file for more information on installation of HSL
+       subroutines.)
        <br>
        (WB 2001/01/30)
        </p>
index 1aa5b34ac44973bdeb35f06e667657ef93dd6e0a..de0744eeb7c00710e254a501aeefe71a4389dac9 100644 (file)
 
     <dir>
     <dl>
+      <dt>
+          <strong>Support for Subroutines from the Harwell Subroutine 
+                 Library (HSL)</strong>
+      </dt>
+      <dd>
+          The <a href="http://www.cse.clrc.ac.uk/Activity/HSL" 
+          target="_top">Harwell Subroutine Library (HSL)</a> is a
+          library that, among much other functionality, offers some
+          sparse direct solvers. We have added support for an
+          interface to these solvers to the library.
+          (See the <a href="../readme.html#external-libs" target="body">ReadMe</a>
+          file for more information on installation of HSL
+          subroutines.)
+      </dd>
+
       <dt>
           <strong>Changes between the upcoming version 3.1 and the
          main branch</strong>
index 7665d391d2640d565ba64664068b39fb83922d3e..cf64eb8cd87ce8a473278fc1a4c6ddd48696771c 100644 (file)
 
       <li>
       <p>
-      It is also possible to use some subroutines from the ...
+      It is also possible to use some subroutines from the
+      <a href="http://www.cse.clrc.ac.uk/Activity/HSL"
+      target="_top">Harwell Subroutine Library (HSL)</a> to make use
+      of some sparse direct solvers. For a description of how to
+      include these functions, see
+      <a href="external-libs/hsl.html" target="body">this page</a>.
       </p>
     </ul>
     </p>
index 3f89fd2f07775e263405ad68ca09213d588cb061..fa9fd118810761ca6de8b786910c3a37c5bfd35c 100644 (file)
@@ -35,6 +35,9 @@
  * etc. It also manages allocation of the right amount of temporary
  * storage required by these functions.
  *
+ * For a description of the steps necessary for the installation of
+ * HSL subroutines, read the section on external libraries in the
+ * deal.II ReadMe file.
  *
  * @section3{Interface and Method}
  *

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.