[gmx-users] How to make carbon nanotube infinite?

Justin A. Lemkul jalemkul at vt.edu
Tue Nov 24 17:28:53 CET 2009

Cun Zhang wrote:
> hi, Justin. Thank you for your patience !
> I'm still in trouble with infinite CNT simulation.
> I'm trying to simulate the interaction of  a infinite (16,0) CNT(CNT_A) 
> with 832 atoms and water. I'm using x2top to generate the CNT.itp with 
> share-bonds. The idea is that I generate a (16,0) CNT(CNT_B) with 960 
> atoms ( more 4 layer  than CNT_A. Each layer has 32 atoms ).
> When I use CNT.itp generated by  CNT_A and x2top, it works. But when I 
> use the CNT.itp which has share-bonds information, it can't work.
> The process I'm doing CNT simulation is as follows:
> # the CNT_new.pdb is a (16,0) CNT with 960 atoms.
> # I add the custom forcefield parameters to tmp.top, and change the 
> number of a charge group to 32, then rename it CNT.itp at the end.
> x2top -f CNT_new.pdb -o tmp.top -ff gmx -nopbc -nopairs -noparam -name 
> CNT  
> bash sharebond_script   # create share bonds

The script below is renumbering and removing atoms.  Why are you doing this?  I 
thought the purpose of CNT_new was to generate a larger structure?

> editconf -f CNT.pdb -o -box 3.8 3.8 5.614

Now you are manipulating CNT.pdb - is this the correct next step?  If this 
actually pertains to CNT_new.pdb, then the box size is insufficient to hold the 
larger structure.  But now I'm just confused as to what you're doing.

> genbox -cp out -cs -p CNT -o b4em.pdb  #The simulation box size can be 
> seen in b4em.pdb
> pymol b4em.pdb  #remove water. After editing it,I save it as b4em.pdb 
> too.Now the information about box size is losing. I don't know why.I'm 
> not familar with it :)
> editconf -f b4em.pdb -o b4em -box 3.8 3.8 5.614 # Add the information 
> about box size
> vim CNT.top     #change the number of water to make it the same as b4em.pdb
> grompp -f em -o em -c b4em -p CNT -maxwarn 5
> mpirun -np 4 mdrun_mpi -v -s em -e em -o em -c after_em

Does energy minimization work?  What did the potential energy and maximum force 
converge to?  Again, what is the purpose of "-maxwarn 5"?  Are there errors that 
grompp is generating that you are simply trying to bypass?  This is generally a 
bad idea.


> grompp -f grompp -o pr -c after_em -p CNT -maxwarn 5
> mpirun -np 4 mdrun_mpi -v -s pr -e pr -o pr -c after_pr
> The sharebond_scrip code:
> #!/bin/bash
> sed -e '/^ *83[3-9].*UNK/d' -e '/^ *8[4-9][0-9].*UNK/d' -e '/^ 
> *9[0-9][0-9].*UNK/d'  CNT.itp >tmp # remove the atoms whose number is 
> larger than 832 in [ atoms ].
> for((i=833;i<=960;i=i+1))   # change the number(i) of atoms which is 
> larger than 832 to i-832.
> do
>     j=$((i-832))
>     N=$((3-${#j}))
>     L='   '   
>     j=${L:1:N}$j
>     sed -i "s/ $i / $j /" tmp
> done
> awk '!a[$0]++' tmp>CNT.itp # make the CNT.itp file have no repetitive rows
> I upload a log file for more information in there ( 
> http://4message.net/blog/wp-content/uploads/2009/11/CNT.tar.bz2 )


Justin A. Lemkul
Ph.D. Candidate
ICTAS Doctoral Scholar
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080


More information about the gromacs.org_gmx-users mailing list