1 | # Project: ParallelCarParrinello
|
---|
2 | # Jan Hamaekers
|
---|
3 | # Frederik Heber
|
---|
4 | # 2005
|
---|
5 | #
|
---|
6 | # File: README
|
---|
7 |
|
---|
8 | ParallelCarParrinello
|
---|
9 |
|
---|
10 | Is a mathematical-physical programme to calucate via density functional theory
|
---|
11 | the molecular (Car&Parrinello) dynamics of a many electron system, especially
|
---|
12 | the linear response of the system to a external magnetic field in a perturbation
|
---|
13 | approach in terms of susceptibility and chemical shielding. It was developed mainly
|
---|
14 | by Jan Hamaekers with additional code by Frederik Heber at the Institute for
|
---|
15 | Numerical Simulation at the University of Bonn[3].
|
---|
16 |
|
---|
17 |
|
---|
18 |
|
---|
19 | INSTALLATION NOTES
|
---|
20 | ==================
|
---|
21 |
|
---|
22 | In general, note that the following command line variables will influence configure:
|
---|
23 | CC, CXX, CFLAGS, LDFLAGS, LD_LIBRARY_PATH, MPICC, MPILIBS, LIBS
|
---|
24 | Try specifying these tailored to your needs if checks of configure fail.
|
---|
25 |
|
---|
26 | MPI
|
---|
27 | ---
|
---|
28 |
|
---|
29 | In order to compile a parallel version an mpi package such as mpich is needed. If present there are two possibilities:
|
---|
30 | 1. Configure finds 'mpicc' which is basically just a link to gcc with includes, library paths and needed libs. Everything easy and fine.
|
---|
31 | 2. It does not, then you have to specify the paths by yourself by prepending the configure command with something such as the following
|
---|
32 | MPICC="gcc -I/path/to/mpi/installation/include" LDFLAGS="-L/path/to/mpi/installation/lib -Wl,-rpath=/path/to/mpi/installation/lib" LIBS="-lmpich" ./configure andsoon
|
---|
33 | Note that MPILIBS is the LDFLAGS for MPICC, whereas LIBS are additional libs appended at the very end (and the order of the libs is important, those at the end are those incorporated first and libmpich must be one of the first).
|
---|
34 |
|
---|
35 | WINDOWS
|
---|
36 | -------
|
---|
37 | On a windows system the following packages will be needed under a cygwin environment: cygwin, mpi, perl, gcc
|
---|
38 |
|
---|
39 | You need libfftw-2 from the fftw website[1] and also mpi[2], also you might need to compile both. MPI has to be in the path and know about its includes and libs (which it will most of the time)
|
---|
40 |
|
---|
41 |
|
---|
42 | LINUX
|
---|
43 | -----
|
---|
44 | If libfftw and alikes reside in a path which is not set via LD_... then use LDFLAGS ("-L/foo/bar/lib") and CFLAGS ("-I/foo/var/include") which are passed on to compiler and linker by (auto)make. After changing them you need to re-run configure. Also, if you receive error messages when launching such as "unable to finde shared object", try "ldd pcp" on the compiled executable. If a shared library cannot be found, you might want to add the path, where it resides, to the variable LD_LIBRARY_PATH.
|
---|
45 |
|
---|
46 | If the executables spills out errors such as "error while loading shared libraries: libdrfftw.so.2:" because you cannot set the LD_LIBRARY_PATH on a distant node, then add the search path in the executable by adding to LDFLAGS
|
---|
47 | LDFLAGS="... -Wl,-rpath,/path/to/fftw/lib"
|
---|
48 |
|
---|
49 | LINKS
|
---|
50 | =====
|
---|
51 | [1] http://www.fftw.org/ - FFTW website
|
---|
52 | [2] http://www-unix.mcs.anl.gov/mpi/mpich/ - MPICH website
|
---|
53 | [3] http://www.ins.uni-bonn.de/
|
---|