1 |
< |
abandon all hope ye who compile here. |
1 |
> |
OOPSE |
2 |
|
|
3 |
< |
I'm the main Trunk version. |
3 |
> |
OOPSE is an open-source Object-Oriented Parallel Simulation Engine. |
4 |
> |
It is a mongrel code which uses no less than 5 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 handily. |
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 |
20 |
> |
using the Intel compilers (ifc and icc) on Linux machines. Outside |
21 |
> |
of our 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: |
34 |
> |
http://archive.ncsa.uiuc.edu/Apps/CMP/RNG/RNG-home.html |
35 |
> |
|
36 |
> |
INSTRUCTIONS |
37 |
> |
|
38 |
> |
1) Get, build, and test the required pieces above. |
39 |
> |
2) ./configure |
40 |
> |
3) make |
41 |
> |
4) make install |
42 |
> |
|
43 |
> |
That's it. Documentation is for wimps. |