| 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
|
|---|
| 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 as follows
|
|---|
| 32 | MPICC="gcc -I/path/to/mpi/installation/include" MPILIBS="-L/path/to/mpi/installation/lib -Wl,-rpath=/path/to/mpi/installation/lib" ./configure andsoon
|
|---|
| 33 | Note that MPILIBS will be suffixed to LDFLAGS and configure looks for an libmpich in the given dirs.
|
|---|
| 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/
|
|---|