| 1 | gezelter | 1390 | OpenMD | 
| 2 | gezelter | 2 |  | 
| 3 | gezelter | 1390 | OpenMD is an open source molecular dynamics engine which is capable of | 
| 4 |  |  | efficiently simulating liquids, proteins, nanoparticles, interfaces, | 
| 5 |  |  | and other complex systems using atom types with orientational degrees | 
| 6 |  |  | of freedom (e.g. "sticky" atoms, point dipoles, and coarse-grained | 
| 7 |  |  | assemblies). Proteins, zeolites, lipids, transition metals (bulk, flat | 
| 8 |  |  | interfaces, and nanoparticles) have all been simulated using force | 
| 9 |  |  | fields included with the code. OpenMD works on parallel computers | 
| 10 |  |  | using the Message Passing Interface (MPI), and comes with a number of | 
| 11 |  |  | analysis and utility programs that are easy to use and modify. An | 
| 12 |  |  | OpenMD simulation is specified using a very simple meta-data language | 
| 13 |  |  | that is easy to learn. | 
| 14 | gezelter | 2 |  | 
| 15 | gezelter | 1390 | Simulations are started in OpenMD using a single Molecular Dynamics (.md) | 
| 16 |  |  | file.   These files must start with the <OpenMD> tag and must | 
| 17 | gezelter | 1055 | have two sections: | 
| 18 | gezelter | 2 |  | 
| 19 | gezelter | 1055 | 1) a C-based <MetaData> section, and | 
| 20 | gezelter | 2 |  | 
| 21 | gezelter | 1055 | 2) a <Snapshot> block for initial coordinate and velocity information. | 
| 22 | gezelter | 2 |  | 
| 23 | gezelter | 1055 | Detailed descriptions of the structures of these files are | 
| 24 | gezelter | 2 | available in the "doc" directory.  Sample simulations are | 
| 25 |  |  | available in the "samples" directory. | 
| 26 |  |  |  | 
| 27 | gezelter | 1390 | What you need to compile and use OpenMD: | 
| 28 | gezelter | 2 |  | 
| 29 | gezelter | 1390 | 1) Good C, C++ and Fortran95 compilers.  We've built and tested OpenMD | 
| 30 | gezelter | 2 | on the following architecture & compiler combinations: | 
| 31 |  |  |  | 
| 32 | gezelter | 1055 | Architecture                CC     CXX     F90     Notes | 
| 33 |  |  | -------------------------   ----   -----   -----   ---------------------- | 
| 34 | gezelter | 1390 | ix86-pc-linux-gnu           icc    icpc    ifort    (Intel v. 10) | 
| 35 |  |  | i686-apple-darwin10.0.0     gcc    g++     gfortran (GNU v.4.3) | 
| 36 |  |  | i686-apple-darwin10.0.0     icc    icpc    ifort    (Intel v. 11) | 
| 37 |  |  | x86_64-unknown-linux-gnu    gcc    g++     pathf95  (Pathscale 3.2) | 
| 38 |  |  |  | 
| 39 |  |  | OpenMD uses features of the Fortran 95 language. The fortran | 
| 40 | gezelter | 873 | portions of our code will not compile if your compiler does not | 
| 41 |  |  | support these particular features. Some (but not all) Fortran 90 | 
| 42 | gezelter | 1390 | compilers do support these features. | 
| 43 | gezelter | 2 |  | 
| 44 | gezelter | 1390 | Compilers that are known to fail on OpenMD: g77, older versions of | 
| 45 |  |  | gfortran, older Portland Group compilers (pgf77, pgf90). | 
| 46 | gezelter | 873 |  | 
| 47 | gezelter | 1390 | Compilers that are known to work on OpenMD: Intel's ifort, | 
| 48 |  |  | Pathscale's pathf95, IBM's xlf95, Portland-F¢s pgf95 (version 6 or-A | 
| 49 | gezelter | 873 | higher), Sun's f95. There may be others that work also. | 
| 50 |  |  |  | 
| 51 | gezelter | 511 | 2) GNU make (also known as gmake).  Regular make won't work. | 
| 52 |  |  | Really.  We've tried.  Don't bother with regular make. | 
| 53 |  |  | Seriously.  You need GNU make.  Did we mention that you | 
| 54 |  |  | need GNU make? | 
| 55 | gezelter | 2 |  | 
| 56 | gezelter | 508 | 3) Perl.  Compilation dependencies in Fortran95 are somewhat | 
| 57 |  |  | complicated, so the build process uses a perl script called | 
| 58 | gezelter | 511 | filepp to do this job.  You need perl for filepp, so you | 
| 59 | gezelter | 1390 | need perl to build OpenMD. | 
| 60 | gezelter | 508 |  | 
| 61 | gezelter | 1390 | 4) MPI-2 is optional for the single processor version of OpenMD, but | 
| 62 |  |  | is required if you want OpenMD to run in parallel. We like | 
| 63 |  |  | OpenMPI. Other implementations of MPI-2 might work, but we haven-F¢t-A | 
| 64 |  |  | tried.   You can get Open MPI here: http://www.open-mpi.org/ | 
| 65 | gezelter | 508 |  | 
| 66 | gezelter | 2 | INSTRUCTIONS | 
| 67 |  |  |  | 
| 68 |  |  | 1) Get, build, and test the required pieces above. | 
| 69 | gezelter | 1390 | 2) ./configure | 
| 70 | gezelter | 2 | 3) make | 
| 71 |  |  | 4) make install | 
| 72 |  |  |  | 
| 73 | gezelter | 508 | That's it. |