Linear algebra procedures¶
The linear algebra library used by GetFEM is Gmm++ which is now a separate library. Please see the GMM++ user documentation.
Note that GetFEM includes (since release 1.7) its own version of SuperLU 3.0 (see
SuperLU web site) hence a direct sparse
solver is available out of the box. Note that an option of the ./configure
file allows to disable the included version of SuperLU in order to use a
pre-installed version.
A small interface to MUMPS is also provided (see MUMPS web1 or MUMPS web2). See the file
gmm/gmm_MUMPS_interface.h
. In order to use MUMPS, you have to indicates
some options to the configure shell:
--with-mumps-include-dir=" -I /path/to/MUMPS/include "
--with-mumps=" F90 libraries and libs of MUMPS to be linked "
alternatively, the option --enable-mumps
will search for an installed MUMPS library. Note that if both the sequential and the parallel version is installed on your system (especially on Debian and Ubuntu), the default version will be the parallel one. To select the sequential one it is necessary to add the option --with-mumps="-lsmumps_seq -ldmumps_seq -lcmumps_seq -lzmumps_seq"
.
For instance if you want to use the sequential version of MUMPS with double and complex double:
--with-mumps-include-dir=" -I /path/to/MUMPS/include "
--with-mumps=" ...F90libs... -L /path/to/MUMPS/lib -ldmumps -lzmumps -lpord
-L /path/to/MUMPS/libseq -lmpiseq "
where ...F90libs...
are the libraries of the fortran compiler used to compile
MUMPS (these are highly dependant on the fortran 90 compiler used, the
./configure
script should detect the options relative to the default fortran
90 compiler on your machine and display it – for example, with the intel
ifort
compiler, it is -L/opt/icc8.0/lib -lifport -lifcoremt -limf -lm
-lcxa -lunwind -lpthread
)