--- trunk/README 2004/09/24 04:16:43 2 +++ trunk/README 2006/09/26 21:55:29 1055 @@ -5,15 +5,17 @@ packages. This includes atoms with orientational degr "strange" atom types that are not normally handled by other simulation packages. This includes atoms with orientational degrees of freedom (point dipoles, sticky atoms), as well as transition metals under the -Embedded Atom Method (EAM). +Embedded Atom Method (EAM) or Sutton-Chen (SC) potentials. -Simulations are started in OOPSE using two files: +Simulations are started in OOPSE using a single Molecular Dynamics (.md) +file. These files must start with the tag and must +have two sections: - 1) a C-based meta-data (.md) file, and + 1) a C-based section, and - 2) a modified XYZ format for initial coordinate and velocity information. + 2) a block for initial coordinate and velocity information. -Detailed descriptions of the structures of these two files are +Detailed descriptions of the structures of these files are available in the "doc" directory. Sample simulations are available in the "samples" directory. @@ -22,41 +24,51 @@ What you need to compile and use OOPSE: 1) Good C, C++ and Fortran95 compilers. We've built and tested OOPSE on the following architecture & compiler combinations: - Architecture CC CXX F90 Notes - ------------------------- ---- ----- ----- ---------------------- - ix86-pc-linux-gnu icc icpc ifort (Intel versions 7 & 8) - powerpc-apple-darwin7.4.0 xlc xlc++ xlf (IBM XL v. 6.0/8.1) - mips-sgi-irix6.5 cc CC f90 (MIPSpro 7.4) - sparc-sun-solaris2.8 cc CC f95 (Forte Developer 7) + Architecture CC CXX F90 Notes + ------------------------- ---- ----- ----- ---------------------- + ix86-pc-linux-gnu icc icpc ifort (Intel versions 7-9) + i386-apple-darwin8.7.1 icc icpc ifort (Intel version 9.1) + powerpc-apple-darwin8.7.0 gcc g++ xlf95 (GNU v.4 / IBM XL v. 8.1) + x86_64-unknown-linux-gnu gcc g++ pathf95 (GNU v.4 / Pathscale 2.5) + sparc-sun-solaris2.10 cc CC f95 (Sun ONE Studio 10) - We've successfully compiled OOPSE with gcc and g++, as well as - pgcc and pgCC in linux environments. However, you will need to - use a Fortran *95* compler for the fortran side of OOPSE, and - pgf90 does not implement the required portions of the f95 - language. Fortran77 and Fortran90 (i.e. g77 and pgf90) are *not* - sufficient to compile the fortran portions of OOPSE. + We've also successfully compiled OOPSE with the Portland Group c, c++, + and Fortran95 compilers on the x86_64-unknown-linux-gnu architecture. + + OOPSE uses features of the Fortran 95 language. The fortran + portions of our code will not compile if your compiler does not + support these particular features. Some (but not all) Fortran 90 + compilers do support these features. None of the Fortran 77 + compilers can be used to compile OOPSE. - 2) The Scalable Parallel Random Number Generators Library (SPRNG). You - can obtain SPRNG here: http://sprng.cs.fsu.edu/ - SPRNG is a *requirement* for compiling OOPSE. + Fortran compilers that are known to fail on OOPSE: g77, Gfortran, + Older Portland Group compilers (pgf77, pgf90). - 3) MPI. We like MPICH. Other implementations might work, but we - haven't tried. You can get MPICH here: - http://www-unix.mcs.anl.gov/mpi/mpich/ - MPI is only required if you want a parallel version of OOPSE. + Fortran compilers that are known to work on OOPSE: Intel's ifort, + Pathscale's pathf95, IBM's xlf95, Portland's pgf95 (version 6 or + higher), Sun's f95. There may be others that work also. - 4) Assorted unix utilities (lexx, yacc, make) or their GNU - equivalents. The Gnu version of make is pretty much a requirement on - SGI machines. - + 2) GNU make (also known as gmake). Regular make won't work. + Really. We've tried. Don't bother with regular make. + Seriously. You need GNU make. Did we mention that you + need GNU make? + 3) Perl. Compilation dependencies in Fortran95 are somewhat + complicated, so the build process uses a perl script called + filepp to do this job. You need perl for filepp, so you + need perl to build OOPSE. + + 4) MPI is optional for the single processor version of OOPSE, + but is required if you want OOPSE to run in parallel. + + We like Open MPI. Other implementations might work, but we + haven't tried. You can get Open MPI here: http://www.open-mpi.org/ + INSTRUCTIONS 1) Get, build, and test the required pieces above. - 2) ./configure + 2) ./configure (or ./configure --with-mpi=/usr/local/openmpi) 3) make 4) make install -That's it. Documentation will be forthcoming after the paper is -published. - +That's it.