How to treat cabon nanotube as a rigid body

Dear lammps users,

Now I am working on a problem about the movement of a carbon nanotube in fluid Ar.
The fluid Ar is confined between walls which have steady velocities.
In this way, a Couette flow can be built and I care about how the CNT moves in the fluid.
If I use a real CNT model which has C-C potentials, the timestep should be set around 1fs.
In order to accelerate the computation, I attempt to treat the CNT as a rigid body.
Then the timestep may be set to around 10fs which is decided by the Ar atoms, I guess (Am I wrong on this point?).
But when I run the input file below, the Error of “lost atoms” occur.
By the way, everything is fine when I consider the C-C potentials and the timestep is set as 1fs and do not use “fix rigid” for CNT.
Can you help me find out which part is wrong with the input file?

I’m looking forward to having your help.

Best wishes
Ruo-Yu Dong

3-d LJ flow simulation

dimension 3
boundary s p p
atom_style atomic
atom_modify map array
units metal

read_data data.ljcnt

potentials

pair_style hybrid lj/cut 7.7 rebo
pair_coeff * * rebo …/…/…/…/lammps/potentials/CH.airebo C NULL NULL NULL
pair_coeff 1 2* lj/cut 0.00369 3.573
pair_coeff 24 24 lj/cut 0.0102 3.405

define groups

group lower type 4
group upper type 3
group boundary union lower upper
group ar type 2
group cnt type 1
group nrigid subtract all cnt
neighbor 2.0 bin
neigh_modify delay 5 exclude group cnt cnt

main settings

fix 6 cnt rigid single
compute mobile ar temp/partial 1 0 1
velocity ar create 300.0 341233 temp mobile
fix 1 nrigid nve
fix 2 ar temp/rescale 100 300.0 300.0 5.0 1.0
fix_modify 2 temp mobile

Boundary

fix 3 boundary setforce 0.0 0.0 0.0
velocity upper set 0.0 1.0 0.0 units box
velocity lower set 0.0 -1.0 0.0 units box

Run

timestep 0.01
thermo 10
thermo_modify temp mobile

dump 3 all image 10 …/position/image..jpg type type view 0 0 zoom 1.6 adiam 1.2
dump_modify 3 first yes pad 7
dump 1 cnt custom 1 …/position/dump.cnt.
type id x y z
dump 11 ar custom 1 …/position/dump.ar.* type id x y z

run 5000

You have a complicated LAMMPS input file.

My advice is to keep simplifying your input-script file until the
system works without the "missing atoms" error.

I don't know your system very well, but I made some naive suggestions
how to simplify your input file. Hopefully you can discover the
problem yourself. See below...

If I use a real CNT model which has C-C potentials, the timestep should be
set around 1fs.
In order to accelerate the computation, I attempt to treat the CNT as a
rigid body.
Then the timestep may be set to around 10fs which is decided by the Ar
atoms, I guess (Am I wrong on this point?).

I don't know. What happens when you get rid of all of the carbon
atoms and only simulate the argon atoms? Are you able to use a 10fs
time-step in that case?

10fs seems to be too large to me.
If this does not work, try 5fs?

But when I run the input file below, the Error of "lost atoms" occur.
By the way, everything is fine when I consider the C-C potentials and the
timestep is set as 1fs and do not use "fix rigid" for CNT.

Here you changed two different things at the same time.

Try using a short time-step (1fs), and use "fix rigid". Does that work?
(I suspect this will succeed.)

Also, try removing "fix rigid" (keep the C-C potentials).
Can you use a larger time-step (10fs) in that case?
(I suspect the answer is no, but try it.)

Can you help me find out which part is wrong with the input file?

Perhaps the interaction with the argon atoms is too abrupt. (The
problem could be between the carbon nanotube and the argon atoms
(C-Ar), or between the argon atoms themselves (Ar-Ar).) I think this
is the relevant part from your input file (assuming carbon is is type
1 and argon is type 2):

pair_coeff * * rebo ../../../../lammps/potentials/CH.airebo C NULL NULL NULL
pair_coeff 1 2* lj/cut 0.00369 3.573
pair_coeff 2*4 2*4 lj/cut 0.0102 3.405

What happens if you turn off "fix rigid" and use a softer potential?
Try replacing these lines with:

pair_coeff * * lj/cut 1.0 5.0

(I know this potential is not the correct one for your system. You
should not use it for your final simulation, but it would be
interesting to see if using this potential solves the problem you were
having with the "missing atoms". You will have to minimize the system
and equilibrate it at constant pressure with a very small time-step
like 0.01fs before you run the simulation using a larger time step
like 4fs or 10fs. Try this and see if it helps.)

I don't know how helpful this was, but you will have to try different
things until the problem goes away.
Good luck.

Andrew

How soon do you start losing atoms after beginning the run?