[lammps-users] carbon nanotube simulations help

Hello all
I am doing simulations of CNTS, as of now I am trying to simulate a CNT as a cantilever beam and applying a load on the other end.
1)To fix one end of the tube I used ‘velocity set 0 0 0’ command for which lammps asked me to define a lattice. However I am using ‘read_data’ command to initialize the atom coordinates. So just to overcome the error I defined ‘lattice hcp’ arbitrarily.
Why do we need to define a lattice to use ‘velocity set’ command?
2) Is it fine to use ‘velocity set’ to fix one end of the tube(for cantilever purposes)?
3) Do I need to use ‘energy minimization’ using minimize command in each and every simulation that I do?
4) Is there a way to break the bonds in carbon nanotubes?

Regards
APC
|

1)To fix one end of the tube I used ‘velocity set 0 0 0’ command for which lammps asked me to define a >lattice. However I am using ‘read_data’ command to initialize the atom coordinates. So just to overcome >the error I defined ‘lattice hcp’ arbitrarily.
Why do we need to define a lattice to use ‘velocity set’ command?

The velocity doc page explains that this is a units issue. Do you want velocity
in box units or lattice units (lattice spacings per time). If the latter (the default)
then you need to define a lattice to set a length scale. If not, then use the
units box option on the vel command.

  1. Is it fine to use ‘velocity set’ to fix one end of the tube(for cantilever purposes)?

sure

  1. Do I need to use ‘energy minimization’ using minimize command in each and every simulation that I do?

it’s up to you

  1. Is there a way to break the bonds in carbon nanotubes?

Depends on the potential you use. If you are using AI-REBO, then
bonds break and form naturally due to the force field. There are
no fixed bonds.

Steve

Hello
The code that I have used in LAMMPS to simulate CNT as a cantilever beam is the following:

units real
boundary p p p
lattice hcp 1
atom_style atomic
read_data read3.cnt

pair_style airebo 2.5 1 1
pair_coeff * * CH.airebo C C C

group mobile type == 1
group load type == 2
group fixed type == 3

Equilibrate

velocity mobile create 300.0 4928459
fix 1 all nvt 300.0 300.0 10.0
velocity fixed set 0.0 0.0 0.0
timestep 0.03
run 100

Load

fix 3 load addforce 0.0 -25.0 0.0
dump mydump all atom 100 dump.cnt
run 3000

However the CNT did not behave like a cantilever, instead the group of atoms on which the force is applied moved as a group with no effect on the rest of the tube(I mean the tube did not bend). I could see only the bonds (lines) stretching between the ‘mobile’ and ‘load’ groups. No bond breaking occured. I am using VMD for post proc.

Regards
APC

You are thermostatting all your atoms with fix nvt, which means
their velocities will change. If you want to move
some atoms (e.g. the end) with a specified velocity
(or velocity 0.0), then you should not integrate them, or insure
their force and velocity are always 0.0.

Steve

Hi APC,

You should be using ‘metal’ instead of ‘real’ units if you are using the pair style ‘airebo’.

Regards,
Zhun-Yong

Hello

However the CNT did not behave like a cantilever, instead the group of
atoms on which the force is applied moved as a group with no effect on

your force is large and you "equilibrate" for only 100 steps and
then run for a few thousand steps. this is _nothing_. anything
happening so quickly is not able to propagate. please think about
time scales (and units).

the rest of the tube(I mean the tube did not bend). I could see only
the bonds (lines) stretching between the 'mobile' and 'load' groups.
No bond breaking occured. I am using VMD for post proc.

FYI, unless you use the DynamicBonds representation in VMD,
you will never see a bond break. VMD assumes by default that
you are doing a typical biosimulation where bonding patterns
don't change, so it will guess bonds on the initial loading
of a file if they are not defined and present already.

cheers,
   axel.