| 1 | OOPSE | 
| 2 |  | 
| 3 | OOPSE is an open-source Object-Oriented Parallel Simulation Engine. | 
| 4 | It is primarily used to perform molecular dynamics simulations on | 
| 5 | "strange" atom types that are not normally handled by other simulation | 
| 6 | packages.  This includes atoms with orientational degrees of freedom | 
| 7 | (point dipoles, sticky atoms), as well as transition metals under the | 
| 8 | Embedded Atom Method (EAM) or Sutton-Chen (SC) potentials. | 
| 9 |  | 
| 10 | Simulations are started in OOPSE using two files: | 
| 11 |  | 
| 12 | 1) a C-based meta-data (.md) file, and | 
| 13 |  | 
| 14 | 2) a modified XYZ format for initial coordinate and velocity information. | 
| 15 |  | 
| 16 | Detailed descriptions of the structures of these two files are | 
| 17 | available in the "doc" directory.  Sample simulations are | 
| 18 | available in the "samples" directory. | 
| 19 |  | 
| 20 | What you need to compile and use OOPSE: | 
| 21 |  | 
| 22 | 1) Good C, C++ and Fortran95 compilers.  We've built and tested OOPSE | 
| 23 | on the following architecture & compiler combinations: | 
| 24 |  | 
| 25 | Architecture                CC     CXX     F90    Notes | 
| 26 | -------------------------   ----   -----   -----  ---------------------- | 
| 27 | ix86-pc-linux-gnu           icc    icpc    ifort  (Intel versions 7-9) | 
| 28 | powerpc-apple-darwin8.4.0   gcc    g++     xlf    (GNU v.4 / IBM XL v. 8.1) | 
| 29 | x86_64-unknown-linux-gnu    pgcc   pgCC    pgf95  (Portland Group v. 6.0) | 
| 30 | sparc-sun-solaris2.8        cc     CC      f95    (Sun ONE Studio 10) | 
| 31 |  | 
| 32 | We've successfully compiled OOPSE with the Pathscale c, c++, and | 
| 33 | Fortran95 compilers on the  x86_64-unknown-linux-gnu architecture, | 
| 34 | but a bug in the exception handling on these compilers causes | 
| 35 | OOPSE to abort (rather than providing a useful error message) when | 
| 36 | an error is found in the meta-data file. | 
| 37 |  | 
| 38 | The GNU compilers, gcc and g++, work very well, but you will need to | 
| 39 | use a Fortran *95* compler for the fortran side of OOPSE, and | 
| 40 | pgf90 does not implement the required portions of the f95 | 
| 41 | language.  Fortran77 and Fortran90 (i.e. g77 and pgf90) are *not* | 
| 42 | sufficient to compile the fortran portions of OOPSE.   Gfortran | 
| 43 | does not yet build our fortran code, but g95 might.  If you use | 
| 44 | one of these compilers, please let us know of any build or runtime | 
| 45 | errors. | 
| 46 |  | 
| 47 | 2) GNU make (also known as gmake).  Regular make won't work. | 
| 48 | Really.  We've tried.  Don't bother with regular make. | 
| 49 | Seriously.  You need GNU make.  Did we mention that you | 
| 50 | need GNU make? | 
| 51 |  | 
| 52 | 3) Perl.  Compilation dependencies in Fortran95 are somewhat | 
| 53 | complicated, so the build process uses a perl script called | 
| 54 | filepp to do this job.  You need perl for filepp, so you | 
| 55 | need perl to build OOPSE. | 
| 56 |  | 
| 57 | 4) MPI is optional for the single processor version of OOPSE, | 
| 58 | but is required if you want OOPSE to run in parallel. | 
| 59 |  | 
| 60 | We like MPICH-1.2.*.  Other implementations might work, but we | 
| 61 | haven't tried.  You can get MPICH here: | 
| 62 | http://www-unix.mcs.anl.gov/mpi/mpich/ | 
| 63 |  | 
| 64 | INSTRUCTIONS | 
| 65 |  | 
| 66 | 1) Get, build, and test the required pieces above. | 
| 67 | 2) ./configure  (or ./configure --with-mpi=/usr/local/mpich) | 
| 68 | 3) make | 
| 69 | 4) make install | 
| 70 |  | 
| 71 | That's it. |