blob: 09fa662ccb822c94253de2bad00515b3838a8fbc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
This directory contains code for solving elliptic systems on our
($S^2$ topology) multipatch system in ../patch/.
The main files are as follows:
Jacobian.{hh,cc}
These define a Jacobian class. This is a generic interface
(a C++ abstract base class) to set up a Jacobian matrix and
solve linear systems with this matrix as the right hand side
matrix.
dense_Jacobian.{hh,cc}
These define a dense_Jacobian class (to store a Jacobian matrix
in a Fortran dense-matrix format) and a dense_Jacobian__LAPACK
class (to solve linear systems using LAPACK routines). These
classes are derived from (and hence share the generic interface
of) the Jacobian class.
row_sparse_Jacobian.{hh,cc}
These define a row_sparse_Jacobian class (to store a Jacobian
matrix in a row-oriented sparse-matrix format) and a
row_sparse_Jacobian__ILUCG class (to solve linear systems using
an ILUCG). These classes are derived from (and hence share the
generic interface of) the Jacobian class.
lapack.h
Header file defining C/C++ prototypes for a few LAPACK routines.
lapack_wrapper.F77
Wrapper routines around a few LAPACK routines, to avoid problems
with C <--> Fortran passing of character-string arguments.
ilucg.h
Header file defining C/C++ prototypes for ILUCG routines
ilucg.f77
ILUCG (Incomplete LU-decomposition / conjugate gradiant)
subroutine. I don't know the original author of this routine;
it was provided to me by Tom Nicol, UBC Computing Center,
in c.1985.
ilucg_wrapper.F77
Wrapper routines around the ILUCG routines, to avoid problems
with C <--> Fortran passing of Fortran logical return results.
|