1 |
gezelter |
381 |
OOPSE |
2 |
mmeineke |
377 |
|
3 |
gezelter |
381 |
OOPSE is an open-source Object-Oriented Parallel Simulation Engine. |
4 |
|
|
It is a mongrel code which uses no less than 4 programming languages |
5 |
|
|
(although it is primarily written in C++ and Fortran95). Input files |
6 |
|
|
are handled using the (included) Bizarre Atom Simulation Syntax (BASS) |
7 |
|
|
library. The BASS library can handle atoms that don't fit the |
8 |
|
|
standard picture of what the rest of the world uses for atoms |
9 |
|
|
(i.e. our atoms can be "lumpy"; they have orientational degrees of |
10 |
|
|
freedom). We can also handle some transition metal simulations using |
11 |
|
|
the Embedded Atom Method (EAM) and other similar force fields. OOPSE |
12 |
|
|
doesn't yet do force fields with charges, although it does handles |
13 |
|
|
dipoles quite easily. |
14 |
|
|
|
15 |
|
|
What you need to compile and use OOPSE: |
16 |
|
|
|
17 |
|
|
0) A strong stomach. Mixed-language code can get ugly. |
18 |
|
|
|
19 |
|
|
1) Good C++ and Fortran95 compilers. We've built and tested OOPSE using |
20 |
|
|
the Intel compilers (ifc and icc) on Linux machines. Outside of our |
21 |
|
|
setup, you're pretty much on your own... |
22 |
|
|
|
23 |
|
|
2) MPI. We like MPICH. Other implementations might work, but we |
24 |
|
|
haven't tried. You can get MPICH here: |
25 |
|
|
http://www-unix.mcs.anl.gov/mpi/mpich/ |
26 |
|
|
|
27 |
|
|
3) The f90 bindings for MPI. These are built by MPICH if it finds a |
28 |
|
|
f90 compiler. There might be others out there for other |
29 |
|
|
implementations, but we haven't tested. Try starting here: |
30 |
|
|
http://duvel.lowtem.hokudai.ac.jp/~jim/software/f90_mpi_lib.html |
31 |
|
|
|
32 |
|
|
4) The Scalable Parallel Random Number Generators Library (SPRNG). You |
33 |
|
|
can obtain SPRNG here: http://sprng.cs.fsu.edu/ |
34 |
|
|
|
35 |
|
|
INSTRUCTIONS |
36 |
|
|
|
37 |
|
|
1) Get, build, and test the required pieces above. |
38 |
|
|
2) ./configure |
39 |
|
|
3) make |
40 |
|
|
4) make install |
41 |
|
|
|
42 |
|
|
That's it. Documentation is for wimps. |