--- trunk/README 2006/01/17 16:16:58 873 +++ branches/development/README 2011/09/14 21:44:08 1632 @@ -1,74 +1,57 @@ -OOPSE +What is OpenMD? -OOPSE is an open-source Object-Oriented Parallel Simulation Engine. -It is primarily used to perform molecular dynamics simulations on -"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) or Sutton-Chen (SC) potentials. +OpenMD is an open source molecular dynamics engine which is capable of +efficiently simulating liquids, proteins, nanoparticles, interfaces, +and other complex systems using atom types with orientational degrees +of freedom (e.g. "sticky" atoms, point dipoles, and coarse-grained +assemblies). Proteins, zeolites, lipids, transition metals (bulk, flat +interfaces, and nanoparticles) have all been simulated using force +fields included with the code. OpenMD works on parallel computers +using the Message Passing Interface (MPI), and comes with a number of +analysis and utility programs that are easy to use and modify. An +OpenMD simulation is specified using a very simple meta-data language +that is easy to learn. -Simulations are started in OOPSE using two files: +Simulations are started in OpenMD 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. -What you need to compile and use OOPSE: +What you need to compile and use OpenMD: - 1) Good C, C++ and Fortran95 compilers. We've built and tested OOPSE + 1) Good C++ and C compilers. We've built and tested OpenMD on the following architecture & compiler combinations: - Architecture CC CXX F90 Notes - ------------------------- ---- ----- ----- ---------------------- - ix86-pc-linux-gnu icc icpc ifort (Intel versions 7-9) - powerpc-apple-darwin8.4.0 gcc g++ xlf (GNU v.4 / IBM XL v. 8.1) - x86_64-unknown-linux-gnu pgcc pgCC pgf95 (Portland Group v. 6.0) - sparc-sun-solaris2.10 cc CC f95 (Sun ONE Studio 10) - - We've successfully compiled OOPSE with the Pathscale c, c++, and - Fortran95 compilers on the x86_64-unknown-linux-gnu architecture, - but a bug in the exception handling on these compilers causes - OOPSE to abort (rather than providing a useful error message) when - an error is found in the meta-data file. - - 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. + Architecture CC CXX Notes + ------------------------- ---- ----- ---------------------- + ix86-pc-linux-gnu icc icpc (Intel v. 10) + i386-apple-darwin11.1.0 gcc g++ (GNU v.4.3) + i386-apple-darwin11.1.0 icc icpc (Intel v. 12) + x86_64-unknown-linux-gnu gcc g++ (Pathscale 3.2) - Compilers that are known to fail on OOPSE: g77, Gfortran, Older - Portland Group compilers (pgf77, pgf90). - - 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. - 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. + 3) Perl. - 4) MPI is optional for the single processor version of OOPSE, - but is required if you want OOPSE to run in parallel. + 4) MPI-2 is optional for the single processor version of OpenMD, but + is required if you want OpenMD to run in parallel. We like + OpenMPI. Other implementations of MPI-2 might work, but we haven't + tried. You can get Open MPI here: http://www.open-mpi.org/ - We like MPICH-1.2.*. Other implementations might work, but we - haven't tried. You can get MPICH here: - http://www-unix.mcs.anl.gov/mpi/mpich/ - INSTRUCTIONS 1) Get, build, and test the required pieces above. - 2) ./configure (or ./configure --with-mpi=/usr/local/mpich) + 2) ./configure 3) make 4) make install