Torsion and Bending PBC in MD++
Torsion and Bending PBC in MD++
Seunghwa Ryu and Wei Cai
This tutorial describes how Torsion/Bending Periodic Boundary Conditions (t-PBC and b-PBC) are implemented in MD++. We provide several MD++ script files and describe how to use them in detail. The theoretical background is published in
Torsion and Bending Periodic Boundary Conditions for Modelling the Intrinsic Strength of Nanowires, Journal of Mechanics and Physics of Solids, 56, 3242, (2008). (PDF)
Compile executable file
First, you need to install MD++ on your computer by following the instructions on MD++ Manuals. Suppose the root directory of your MD++ installation is ~/Codes/MD++. For convenience, let us define an environment variable,
export MDPP=~/Codes/MD++
You will also need the ${MDPP}/cookies directory (not included in the standard MD++ distribution), where additional source files such as md_torsion.cpp are located.
To turn on the t-PBC and b-PBC utility, modify src/Makefile so that
TOB = yes
In this tutorial, we will use gold nanowire (modelled by the EAM potential) as an example. We can compile the executable file (e.g. on mc-cc.stanford.edu) by
cd ${MDPP}
make eam build=R SYS=mc-cc
This will create executable eam_mc-cc in the ${MDPP}/bin directory.
Make handle atoms
As the example, let us run the following test case,
cd ${MDPP}
bin/eam_mc-cc scripts/work/au/au-nw-torsion.tcl 0
The important parts of this script file (activated in this run) is reproduced below.
# Create the nanowire ... MD++ allocmultiple = 2 makeperfcrystal $ND $NL $lattconst make_nanowire $R ... openwindow ... # Conjugate gradient relaxation relax_fixbox MD++ finalcnfile = "nw-relaxed.cn" writeall = 1 writecn
# Create handles for applying t-PBC MD++ torsionsim = 1 torquespec = \[ 0.02 0.5 0 \] maketorquehandle
# Molecular Dynamics simulation setup_md MD++ T_OBJ = 1000 totalsteps = 1000 initvelocity run MD++ finalcnfile = "handle-annealed.cn" writeall = 1 writecn
# Conjugate gradient relaxation (again) relax_fixbox
MD++ finalcnfile = "handle-annealed-relaxed.cn" writeall = 1 writecn