Error involving hybrid Tersoff and LJ

Hello everyone,

I am modeling a double layered Boron Nitride nanotube. I am using LAMMPS March 16, 2018 version.

I am using Tersoff potential for the B-N interactions in the tubes. The van der Waals interactions between adjacent layers are captured by lj/cut. To specify the atoms properly, I use types 1 and 2 (1 for Boron and 2 for Nitrogen) for the inner layered tube. And then I use type 3 and 4 (3 for Boron and 4 for Nitrogen) in the outer layered tube. I specify that in the data file.

However when I am starting the simulation, the outer-layered tube is breaking right at the beginning. The inner layer tube remains unbroken though. I think I am making an error specifying the hybrid potential. Can anyone please help?

Thank you so much.

I am attaching the input script and log file below.

INPUT SCRIPT

dimension 3
units metal
atom_style full

read_data data.BNT_single

pair_style hybrid tersoff tersoff lj/cut 8.0
pair_coeff * * tersoff 1 BNC.tersoff B N NULL NULL
pair_coeff * * tersoff 2 BNC.tersoff NULL NULL B N

pair_coeff 1 3 lj/cut 0.004116 3.453
pair_coeff 1 4 lj/cut 0.00508 3.409
pair_coeff 2 3 lj/cut 0.00508 3.409
pair_coeff 2 4 lj/cut 0.006281 3.365

dump 1 all custom 100 SingleBNT.lammpstrj id type x y z
dump 2 inner custom 100 Inner_BNT.lammpstrj id type x y z
dump 3 outer custom 100 Outer_BNT.lammpstrj id type x y z
thermo 100

thermo_style custom step temp epair etotal press vol
minimize 1.0e-7 1.0e-9 100 10000

LOG FILE

LAMMPS (16 Mar 2018)

Fixing NPT, NVT, NVE in GNR

dimension 3
units metal
atom_style full

read_data data.BNT_single
orthogonal box = (-7 -7 -0.626) to (7 7 49.465)
1 by 1 by 1 MPI processor grid
reading atoms …
1200 atoms
0 = max # of 1-2 neighbors
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors

group inner type 1 2
400 atoms in group inner
group outer type 3 4
800 atoms in group outer

pair_style hybrid tersoff tersoff lj/cut 8.0
pair_coeff * * tersoff 1 BNC.tersoff B N NULL NULL
Reading potential file BNC.tersoff with DATE: 2013-03-21
pair_coeff * * tersoff 2 BNC.tersoff NULL NULL B N
Reading potential file BNC.tersoff with DATE: 2013-03-21

pair_coeff 1 3 lj/cut 0.004116 3.453
pair_coeff 1 4 lj/cut 0.00508 3.409
pair_coeff 2 3 lj/cut 0.00508 3.409
pair_coeff 2 4 lj/cut 0.006281 3.365

dump 1 all custom 100 SingleBNT.lammpstrj id type x y z
dump 2 inner custom 100 Inner_BNT.lammpstrj id type x y z
dump 3 outer custom 100 Outer_BNT.lammpstrj id type x y z
thermo 100

thermo_style custom step temp epair etotal press vol
minimize 1.0e-7 1.0e-9 100 10000
WARNING: Using ‘neigh_modify every 1 delay 0 check yes’ setting during minimization (…/min.cpp:168)
Neighbor list info …
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 10
ghost atom cutoff = 10
binsize = 5, bins = 3 3 11
5 neighbor lists, perpetual/occasional/extra = 5 0 0
(1) pair tersoff, perpetual, skip from (4)
attributes: full, newton on
pair build: skip
stencil: none
bin: none
(2) pair tersoff, perpetual, skip from (4)
attributes: full, newton on
pair build: skip
stencil: none
bin: none
(3) pair lj/cut, perpetual, skip from (5)
attributes: half, newton on
pair build: skip
stencil: none
bin: none
(4) neighbor class addition, perpetual
attributes: full, newton on
pair build: full/bin
stencil: full/bin/3d
bin: standard
(5) neighbor class addition, perpetual, half/full from (4)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 14.61 | 14.61 | 14.61 Mbytes
Step Temp E_pair TotEng Press Volume
0 0 -6739.887 -6739.887 946562.68 9817.836
100 0 -7871.7632 -7871.7632 205737.98 9817.836
Loop time of 2.45838 on 1 procs for 100 steps with 1200 atoms

99.9% CPU use with 1 MPI tasks x no OpenMP threads

Minimization stats:
Stopping criterion = max iterations
Energy initial, next-to-last, final =
-6739.88701891 -7871.39485138 -7871.76320737
Force two-norm initial, final = 319.914 39.0399
Force max component initial, final = 18.3392 12.6077
Final line search alpha, max atom move = 0.000190616 0.00240323
Iterations, force evaluations = 100 345

MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total

You have a very large pressure in your system. Are you certain that your outer nanotube is wide enough?

Axel

Hello,

Thank you for your reply. The inter-layer spacing in the model is around ~3.37 Angstorm initially which is comparable to experimental data (~3.4 Ang). So think the tube spacing is wide enough. But I cannot seem to figure out why the structure is collapsing.

Regards,

Hello,

Thank you for your reply. The inter-layer spacing in the model is around
~3.37 Angstorm initially which is comparable to experimental data (~3.4
Ang). So think the tube spacing is wide enough. But I cannot seem to figure
out why the structure is collapsing.

then how do you explain this unreal gigantic pressure?
are you sure you are not mixing up diameter and radius?

try running only the outer tube and only the inner tube by itself and
see what kind of pressures and energies you get and compare the sum of
the energies to what you get for the combined system.

axel.

I have two tubes. The inner one has chirality (5,5) and the outer one (10,10). Both have lenght equal to 5 nm. The difference in their diamater is 0.69 nm or 6.9 Ang. So the interlayer spacing is ~3.4 Ang. I just verified.

I ran the individual tubes. For the outer tube the energy came around -5910 and for the inner -2926. So the energy sum is ~ -8836. For the combined case, the energy comes around -7871. I am attaching the log files below for the individual cases. The pressure values are much lower for individual cases (~-3.2 for outer and ~ -1.789 for inner in comparison to 205737.98 for combined ). The units are in metal.

The tubes do not collapse when run individually. Am I making any error in specifying the hybrid potential?

LOG FILE (INNER)

LAMMPS (16 Mar 2018)

Fixing NPT, NVT, NVE in GNR

dimension 3
units metal
atom_style full

read_data data.innerlayer
orthogonal box = (-50 -50 -70.6261) to (50 50 70.4648)
1 by 1 by 1 MPI processor grid
reading atoms …
400 atoms
0 = max # of 1-2 neighbors
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors

pair_style tersoff
pair_coeff * * BNC.tersoff B N
Reading potential file BNC.tersoff with DATE: 2013-03-21

dump 1 all custom 100 SingleBNT.lammpstrj id type x y z

thermo 100

thermo_style custom step temp epair etotal press vol
minimize 1.0e-7 1.0e-9 100 10000
WARNING: Using ‘neigh_modify every 1 delay 0 check yes’ setting during minimization (…/min.cpp:168)
Neighbor list info …
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.1
ghost atom cutoff = 4.1
binsize = 2.05, bins = 49 49 69
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair tersoff, perpetual
attributes: full, newton on
pair build: full/bin
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 8.85 | 8.85 | 8.85 Mbytes
Step Temp E_pair TotEng Press Volume
0 0 -2922.4636 -2922.4636 -11.9048 1410909.1
27 0 -2926.0895 -2926.0895 -3.2868535 1410909.1
Loop time of 0.04616 on 1 procs for 27 steps with 400 atoms

104.0% CPU use with 1 MPI tasks x no OpenMP threads

Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
-2922.46359328 -2926.08922423 -2926.08946114
Force two-norm initial, final = 13.2442 0.141308
Force max component initial, final = 1.92333 0.0156651
Final line search alpha, max atom move = 1 0.0156651
Iterations, force evaluations = 27 54

MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total

your box for the combined system is too small (c.f., orthogonal box = (-7 -7 -0.626) to (7 7 49.465)), barely accommodates the outer tube, and therefore, the outer tube is interacting with it’s periodic image. so is the high pressure. There could be other issues but the way you use hybrid potentials seem correct.

your box for the combined system is too small (c.f., orthogonal box = (-7 -7
-0.626) to (7 7 49.465)), barely accommodates the outer tube, and therefore,
the outer tube is interacting with it's periodic image. so is the high
pressure. There could be other issues but the way you use hybrid potentials
seem correct.

that should be easily fixable by switching from the default (p p p)
boundary setting to (m m m)

axel.