|fresh checkout||compile||compile(optional)||indirect dependencies|
Python 2.3 is needed by the script that generates Fortran module dependencies, which is used in the build process.
Newer Python versions may be required by other scripts, e.g. storing regression tests to MySQL required Python 2.5.
DOUG builds with Fortran 95 and C compiler. GNU toolchain is used for development.
- gfortran -- GNU Fortran is primarly used in development, currently version 4.4
- ifort -- Intel Fortran is used on some clusters
- g95 -- this compiler was used to test DOUG before
- Make sure you have g95, which assumes default integer to be 32 bits. Even passing -i4 flag to g95 is not a solution for DOUG.
DOUG mainly tested with OpenMPI. Other MPI implementations should work without problems.
Two libraries are mandatory: UMFPACK and METIS.
A set of routines for solving unsymmetric sparse linear systems, Ax=b, using the Unsymmetric MultiFrontal method.
UMFPACK is used by complete solver for local problems in Additive Schwarz preconditioner. It is available as SuiteSparse package on some linux distros. The source is at http://www.cise.ufl.edu/research/sparse/umfpack/, but you also need UFConfig and AMD to compile it.
METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices.
The source is at http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
- version 4.0 is required, DOUG does not work with 5.0
- If compilation fails because of __log2 you need to apply the patch http://www.math-linux.com/IMG/patch/metis-4.0.patch
Fortran XDR (eXternal Data Representation) is the third format that DOUG accepts as input and output.
- Download from http://meteora.ucsd.edu/~pierce/fxdr_home_page.html