You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Salvatore Filippone 5742ff8532 mld2p4-2:
mlprec/Makefile
 mlprec/mld_base_prec_type.F90
 mlprec/mld_d_gs_solver.f90
 mlprec/mld_d_prec_mod.f90

Started work to include Gauss-Seidel. Will need more work, and also to
be templated.
9 years ago
config confgiry.\ 9 years ago
docs mld2p4-2: 9 years ago
examples mld2p4-2: 9 years ago
mlprec mld2p4-2: 9 years ago
tests mld2p4-2: 9 years ago
Changelog *** empty log message *** 10 years ago
LICENSE mld2p4-2: 10 years ago
Make.inc.in mld2p4-2: 11 years ago
Makefile *** empty log message *** 11 years ago
README mld2p4-2: 9 years ago
autogen.sh mld2p4: 17 years ago
configure confgiry.\ 9 years ago
configure.ac configry fixes 9 years ago
install-sh mld2p4: 17 years ago
missing mld2p4: 17 years ago
mkdir.sh mld2p4: 17 years ago

README

This directory contains  the MLD2P4 set of preconditioners, version 2.0

WHAT'S NEW

Version 2.0.

   Finally moved to F2003, with the support of PSBLAS3.
   There are a few minor differences at user level: 
   1. In the configure step, you should specify the INSTALL directory
      of PSBLAS version 3.4, not the source directory;
   2. In the various makefiles, libmld_prec.a should now be used in
      addition (and in front of) libpsb_prec.a, and no longer in
      place of it.
   3. As for the basic usage, this is practically identical to the
      previous version(s).  
   
   You should use the same MPI/serial compilers that were used for the
   PSBLAS installation. 
   The Fortran 2003 support means that it is far easier to develop and
   integrate new solvers and smoothers; you need to take one of the
   existing solvers/smoothers as a model, develop your own by
   changing/replacing the model contents, and then pass the new object
   to the PREC%SET() method which will copy into the internals, as per
   the PROTOTYPE design pattern. Take a look at the test/newslv
   directory to see an example. It's easier done than said!

   Versions known to work: 
   UMFPACK:      5.4
   SuperLU:      4.3 and 5.0
   SuperLU_Dist: 3.3 and 4.2
   Note that with SuperLU_Dist you will probably need to add further
   link options, e.g. the ParMetis library or the openmp runtime;
   you can do this using the configure option --with-extra-libs

In version 1.1:
-  The MLD_SIZEOF() function has been redefined to be INTEGER(8), so
   as to be able to measure large data sets.
-  The internals of the multilevel preconditioner have been repackaged
   in a more structured fashion; no changes are needed in the user
   code.
-  Note that we now need version 2.3.1 of PSBLAS.
   

To compile:
0. Unpack the tar file in a directory of your choice (preferrably
   outside the main PSBLAS directory).
1. run configure --with-psblas=<ABSOLUTE path of the PSBLAS install directory>
   adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired.
2. Tweak Make.inc if you are not satisfied.

3. make; 

4. Go into the test subdirectory and build the examples of your choice.

Notes:

- The single precision version is  supported only by SuperLU; thus, even
  if you specify at configure to use UMFPACK or SuperLU_Dist, the
  corresponding preconditioner options will be available only from the
  double precision version.

- A program that was using the PSBLAS precoditioners needs no source
  code changes, but should be recompiled. If the new preconditioner
  (or preconditioner options, such as ILU(N) factorization) are
  required, only the type of the preconditioner object and its
  setup/build/free calls should be updated; the rest of the
  application continues to make use of the PSBLAS existing
  interfaces. 



CREDITS

developed by 
Salvatore  Filippone 
Pasqua     D'Ambra
Daniela    di Serafino
Alfredo    Buttari