ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/README
(Generate patch)

Comparing:
trunk/README (file contents), Revision 2 by gezelter, Fri Sep 24 04:16:43 2004 UTC vs.
branches/development/README (file contents), Revision 1465 by chuckv, Fri Jul 9 23:08:25 2010 UTC

# Line 1 | Line 1
1 < OOPSE
1 > What is OpenMD?
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).
3 > 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  
15 < Simulations are started in OOPSE using two files:
15 > Simulations are started in OpenMD using a single Molecular Dynamics (.md)
16 > file.   These files must start with the <OpenMD> tag and must
17 > have two sections:
18  
19 <  1) a C-based meta-data (.md) file, and
19 >  1) a C-based <MetaData> section, and
20  
21 <  2) a modified XYZ format for initial coordinate and velocity information.
21 >  2) a <Snapshot> block for initial coordinate and velocity information.
22  
23 < Detailed descriptions of the structures of these two files are
23 > Detailed descriptions of the structures of these files are
24   available in the "doc" directory.  Sample simulations are
25   available in the "samples" directory.
26  
27 < What you need to compile and use OOPSE:
27 > What you need to compile and use OpenMD:
28  
29 < 1) Good C, C++ and Fortran95 compilers.  We've built and tested OOPSE
29 > 1) Good C, C++ and Fortran95 compilers.  We've built and tested OpenMD
30      on the following architecture & compiler combinations:
31  
32 <    Architecture                CC     CXX     F90    Notes
33 <    -------------------------   ----   -----   -----  ----------------------
34 <    ix86-pc-linux-gnu           icc    icpc    ifort  (Intel versions 7 & 8)
35 <    powerpc-apple-darwin7.4.0   xlc    xlc++   xlf    (IBM XL v. 6.0/8.1)
36 <    mips-sgi-irix6.5            cc     CC      f90    (MIPSpro 7.4)
37 <    sparc-sun-solaris2.8        cc     CC      f95    (Forte Developer 7)
31 <    
32 <    We've successfully compiled OOPSE with gcc and g++, as well as
33 <    pgcc and pgCC in linux environments.  However, you will need to
34 <    use a Fortran *95* compler for the fortran side of OOPSE, and
35 <    pgf90 does not implement the required portions of the f95
36 <    language.  Fortran77 and Fortran90 (i.e. g77 and pgf90) are *not*
37 <    sufficient to compile the fortran portions of OOPSE.
32 >    Architecture                CC     CXX     F90     Notes
33 >    -------------------------   ----   -----   -----   ----------------------
34 >    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 < 2) The Scalable Parallel Random Number Generators Library (SPRNG). You
40 <    can obtain SPRNG here:  http://sprng.cs.fsu.edu/
41 <    SPRNG is a *requirement* for compiling OOPSE.
39 >    OpenMD uses features of the Fortran 95 language. The fortran
40 >    portions of our code will not compile if your compiler does not
41 >    support these particular features. Some (but not all) Fortran 90
42 >    compilers do support these features.
43  
44 < 3) MPI.  We like MPICH.  Other implementations might work, but we
45 <    haven't tried.  You can get MPICH here:
45 <    http://www-unix.mcs.anl.gov/mpi/mpich/
46 <    MPI is only required if you want a parallel version of OOPSE.
44 >    Compilers that are known to fail on OpenMD: g77, older versions of
45 >    gfortran, older Portland Group compilers (pgf77, pgf90).
46  
47 < 4) Assorted unix utilities (lexx, yacc, make) or their GNU
48 <    equivalents.  The Gnu version of make is pretty much a requirement on
49 <    SGI machines.  
51 <        
47 >    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 >    higher), Sun's f95. There may be others that work also.
50  
51 + 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 +
56 + 3) Perl.  Compilation dependencies in Fortran95 are somewhat
57 +    complicated, so the build process uses a perl script called
58 +    filepp to do this job.  You need perl for filepp, so you
59 +    need perl to build OpenMD.
60 +
61 + 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 +
66   INSTRUCTIONS
67  
68   1) Get, build, and test the required pieces above.
69 < 2) ./configure
69 > 2) ./configure  
70   3) make
71   4) make install
72  
73 < That's it.  Documentation will be forthcoming after the paper is
61 < published.
62 <
73 > That's it.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines