M01 Introduction to MD++: Difference between revisions
| Line 75: | Line 75: | ||
Here we assume that the reader is familiar with basic Unix/Linux shell |
Here we assume that the reader is familiar with basic Unix/Linux shell |
||
commands.<ref>For those who are not familiar with Unix/Linux |
commands.<ref>For those who are not familiar with Unix/Linux |
||
environment, we suggest the book |
environment, we suggest the book ''A practical guide to Linux |
||
commands, editors and shell programming'' by Mark G. Sobell. You can |
commands, editors and shell programming'' by Mark G. Sobell. You can |
||
also easily find several good web sties |
also easily find several good web sties about the shell |
||
commands.</ref> Before you download MD++ code, we recommend |
commands.</ref> Before you download MD++ code, we recommend |
||
that you make a sub-directory '''Codes''' in your home directory. |
that you make a sub-directory '''Codes''' in your home directory. |
||
| Line 84: | Line 84: | ||
$ cd Codes |
$ cd Codes |
||
Save the MD++ package in this directory(~/Codes). Suppose the |
Save the MD++ package in this directory('''~/Codes'''). Suppose the |
||
downloaded file is '''md++-2007-01-07.tar.gz''', then we can |
downloaded file is '''md++-2007-01-07.tar.gz''', then we can |
||
extract it by, |
extract it by, |
||
| Line 95: | Line 95: | ||
$ cd MD++; mkdir runs |
$ cd MD++; mkdir runs |
||
To compile the codes in release(R)< |
To compile the codes in release(R) mode <ref>If '''build=R''', MD++ |
||
is compiled with the '''-O3''' option. By default('''build=D'''), MD++ compiles as debug mode with the '''-g''' option. In release mode, the executabale files run faster but the compilation time is slightly longer than debug mode</ref> in a Linux system, type |
|||
HREF="footnode.html#foot147"><SUP>3</SUP></A> mode in a Linux system, type |
|||
<BR><TT> |
|||
| ⚫ | |||
<BR></TT> |
|||
| ⚫ | |||
<BR> |
|||
| ⚫ | |||
| ⚫ | |||
<BR><TT> |
|||
| ⚫ | |||
<BR></TT> |
|||
| ⚫ | |||
<BR> |
|||
| ⚫ | |||
provided that cygwin is installed.<A NAME="tex2html4" |
|||
HREF="footnode.html#foot150"><SUP>4</SUP></A> You can also |
|||
| ⚫ | |||
<BR><TT> |
|||
| ⚫ | |||
<BR></TT> |
|||
| ⚫ | |||
<BR> |
|||
| ⚫ | |||
| ⚫ | |||
compiler. Use <TT>SYS=intel</TT> to activate the intel c/c++ compiler |
|||
<TT>icc</TT>, which produces a faster executable that |
|||
| ⚫ | |||
<TT>gpp</TT>. For more <TT>SYS</TT> values, see the file |
|||
<TT><IMG |
|||
| ⚫ | |||
WIDTH="17" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" |
|||
compiler. If you have the intel c/c++ compiler '''icc''' in your system, use '''SYS=intel''' to activate '''icc''', which produces much faster executables than GNU c++ compiler. For more '''SYS''' values, take a look at the file '''~/Codes/MD++/src/Makefie.base'''. |
|||
SRC="img1.png" |
|||
ALT="$\sim$">/Codes/MD++/src/Makefie.base</TT>. |
|||
You may get an TCL-related error during compilation. You can bypass this error using, ''e.g.'' |
|||
<BR> |
|||
| ⚫ | |||
$make SYS=cygwin TCL=no |
|||
<I>eam_gpp</I>, and <I>sw_gpp</I> in the <TT>bin</TT> |
|||
directory.<A NAME="tex2html5" |
|||
by suppressing TCL option. |
|||
| ⚫ | |||
<TT>fs_gpp</TT>, use |
|||
| ⚫ | |||
<BR><TT> |
|||
| ⚫ | |||
| ⚫ | |||
<BR></TT> |
|||
| ⚫ | |||
<BR> |
|||
The name of each execution file stands for the potential model used in |
The name of each execution file stands for the potential model used in |
||
the MD simulation. For example, <TT>fs</TT> stands for the |
the MD simulation. For example, <TT>fs</TT> stands for the |
||
Revision as of 16:36, 25 November 2007
Manual 01 for MD++
Introduction to MD++
Keonwook Kang and Wei Cai
Overview
MD++ is a molecular dynamics simulation package written in C++. It is originally developed by Wei Cai when he was a graduate student at MIT and still being updated to include more features. MD++ is supposed to run in a Unix/Linux environment. However, if you have cygwin,[1] a linux-like environment installed in your Windows machine, you can also enjoy MD++ there. Currently, this code is designed mainly for studying the atomic behavior in solid crystal materials. It can also be extended to study other systems, such as fluids, polymers and bio-molecules. This document is the first of a series of manuals written for those new to MD simulations. These manuals explain how to use MD++ with simple examples.
Installation
The latest version of MD++ code can be downloaded from the web site,
http://micro.stanford.edu/~caiwei/Forum/2004-12-12-MD++/.
Here we assume that the reader is familiar with basic Unix/Linux shell
commands.[2] Before you download MD++ code, we recommend
that you make a sub-directory Codes in your home directory.
$ mkdir Codes $ cd Codes
Save the MD++ package in this directory(~/Codes). Suppose the downloaded file is md++-2007-01-07.tar.gz, then we can extract it by,
$ tar -zxvf md++-2007-01-07.tar.gz
This command creates the MD++ sub-directory and extracts all the files into it. Go to the MD++ directory and make a runs directory if it does not exist.
$ cd MD++; mkdir runs
To compile the codes in release(R) mode [3] in a Linux system, type
$ make all build=R
In order to compile MD++ In a different system (such as Windows), you can specify the SYS variable in the command line, such as
$ make all build=R SYS=cygwin
provided that cygwin is installed. You can also compile MD++ code in an Apple/Machintosh computer, using
$ make all SYS=mac build=R
By default, SYS=gpp which corresponds to the GNU c++ compiler. If you have the intel c/c++ compiler icc in your system, use SYS=intel to activate icc, which produces much faster executables than GNU c++ compiler. For more SYS values, take a look at the file ~/Codes/MD++/src/Makefie.base.
You may get an TCL-related error during compilation. You can bypass this error using, e.g.
$make SYS=cygwin TCL=no
by suppressing TCL option.
After compilation, you have executable files such as fs_gpp, eam_gpp, and sw_gpp in the bin directory.<A NAME="tex2html5"
HREF="footnode.html#foot152">5</A>If you just want to compile one executable file, such as fs_gpp, use
$ make fs build=R
The name of each execution file stands for the potential model used in the MD simulation. For example, fs stands for the Finnis-Sinclair (FS) potential [<A
HREF="node6.html#fin:sin">2</A>], lj for the
Lennard-Jones (LJ) pair potential [<A
HREF="node6.html#lj">3</A>], eam for the
embedded-atom method (EAM) potential [<A
HREF="node6.html#daw:bask">4</A>], and sw
for the Stillinger-Weber (SW) potential [<A
HREF="node6.html#sti:web">5</A>,<A HREF="node6.html#bal:hal:til">6</A>]. Each potential model is
applicable to a set of atomic species. For example, the FS potential
was designed for body-centered-cubic (BCC) metals such as Mo, Ta and
W. The SW potential was designed for diamond-cubic semiconductors such
as Si and Ge.
The executable, md_gpp does not contain any potential
model. Hence it cannot be used to compute any material properties but
it can still be used to display atomic structures.
If you modify the source code (in the src directory), you
need to recompile MD++. we recommend you to clean the previous executables
and rebuild by,
$ make clean; make all build=R
To see more help on make, type
$ make help
To check if the installation and compilation is successful, try to run
a script in the Examples directory, e.g.
$ bin/fs_gpp scripts/Examples/example01-mo.script
If you want to stop an MD++ run, press ctrl+c or close
the visualization window.
- ↑ For download and installation, visit http://www.cygwin.com/. You must download and install the full package of cygwin. See http://micro.stanford.edu/~caiwei/Forum/2004-12-12-MD++/cygwin.html for installation instructions.
- ↑ For those who are not familiar with Unix/Linux environment, we suggest the book A practical guide to Linux commands, editors and shell programming by Mark G. Sobell. You can also easily find several good web sties about the shell commands.
- ↑ If build=R, MD++ is compiled with the -O3 option. By default(build=D), MD++ compiles as debug mode with the -g option. In release mode, the executabale files run faster but the compilation time is slightly longer than debug mode
MD++ Directories
Script File
Visualization Window Control
Bibliography
About this document ...