LAMMPS Hanging on read_molecule command

Hi everyone,

I am attempting to simulate a simple CO2 molecule. However, LAMMPS is hanging when trying to read my molecule file sometimes. Specifically, when running the ‘in.co2’ script that I have copied at the end of this message, there are 3 possible outcomes.

  1. The script hangs after outputting:

LAMMPS (10 Feb 2015)
Created orthogonal box = (0 0 0) to (10 10 10)
1 by 1 by 1 MPI processor grid
Read molecule 1:
3 atoms with 2 types
2 bonds with 1 types
1 angles with 1 types
0 dihedrals with 0 types
0 impropers with 0 types

At this point, the script hangs, and must be killed.

  1. The script executes, and outputs the following (sample of only the first thermo output, the script completes with the same thermo output and no errors):

LAMMPS (10 Feb 2015)
Created orthogonal box = (0 0 0) to (10 10 10)
1 by 1 by 1 MPI processor grid
Read molecule 1:
3 atoms with 2 types
2 bonds with 1 types
1 angles with 1 types
0 dihedrals with 0 types
0 impropers with 0 types
Created 3 atoms
Finding SHAKE clusters …
0 = # of size 2 clusters
0 = # of size 3 clusters
0 = # of size 4 clusters
1 = # of frozen angles
Neighbor list info …
1 neighbor list requests
update every 1 steps, delay 0 steps, check yes
master list distance cutoff = 2.8
Setting up run …
SHAKE stats (type/ave/delta) on step 0
1 0.322222 0 6
1 180 0
Memory usage per processor = 6.86293 Mbytes
Step Temp TotEng PotEng
0 0 0 0
SHAKE stats (type/ave/delta) on step 1000
1 0.322222 0 6
1 180 0
1000 0 0 0


SHAKE stats (type/ave/delta) on step 100000
1 0.322222 0 6
1 180 0
100000 0 0 0

Loop time of 0.101181 on 1 procs for 100000 steps with 3 atoms

Pair time () = 0.00734854 (7.26278) Bond time () = 0.00727963 (7.19468)
Neigh time () = 0 (0) Comm time () = 0.0124381 (12.2929)
Outpt time () = 0.000585556 (0.578723) Other time () = 0.073529 (72.6709)

Nlocal: 3 ave 3 max 3 mi
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 0
Ave neighs/atom = 0
Ave special neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0

  1. The script runs and finishes, but the shake seems to fail early on:

LAMMPS (10 Feb 2015)
Created orthogonal box = (0 0 0) to (10 10 10)
1 by 1 by 1 MPI processor grid
Read molecule 1:
3 atoms with 2 types
2 bonds with 1 types
1 angles with 1 types
0 dihedrals with 0 types
0 impropers with 0 types
Created 3 atoms
Finding SHAKE clusters …
0 = # of size 2 clusters
0 = # of size 3 clusters
0 = # of size 4 clusters
1 = # of frozen angles
Neighbor list info …
1 neighbor list requests
update every 1 steps, delay 0 steps, check yes
master list distance cutoff = 2.8
Setting up run …
SHAKE stats (type/ave/delta) on step 0
1 1.17401 1.70357 6
1 99.1523 0
Memory usage per processor = 6.86293 Mbytes
Step Temp TotEng PotEng
0 0 0 0


SHAKE stats (type/ave/delta) on step 100000
1 nan nan 6
1 nan nan
100000 nan nan 0

Loop time of 0.093082 on 1 procs for 100000 steps with 3 atoms

Pair time () = 0.00688314 (7.39471) Bond time () = 0.00655746 (7.04483)
Neigh time () = 0 (0) Comm time () = 0.0131786 (14.158)
Outpt time () = 0.000461817 (0.49614) Other time () = 0.0660009 (70.9063)

Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 0
Ave neighs/atom = 0
Ave special neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0

Hi everyone,

I am attempting to simulate a simple CO2 molecule. However, LAMMPS is
hanging when trying to read my molecule file sometimes. Specifically, when
running the 'in.co2' script that I have copied at the end of this message,
there are 3 possible outcomes.

1. The script hangs after outputting:

LAMMPS (10 Feb 2015)
Created orthogonal box = (0 0 0) to (10 10 10)
  1 by 1 by 1 MPI processor grid
Read molecule 1:
  3 atoms with 2 types
  2 bonds with 1 types
  1 angles with 1 types
  0 dihedrals with 0 types
  0 impropers with 0 types

At this point, the script hangs, and must be killed.

this could happen, if your molecule file doesn't have an end of line
character at the end. it could also be a bug in the molecule file
reader code (i vaguely remember sending in a fix for something like
that) that has been corrected since. please try again with the latest
(stable) LAMMPS version.

2. The script executes, and outputs the following (sample of only the first
thermo output, the script completes with the same thermo output and no
errors):

LAMMPS (10 Feb 2015)
Created orthogonal box = (0 0 0) to (10 10 10)
  1 by 1 by 1 MPI processor grid
Read molecule 1:
  3 atoms with 2 types
  2 bonds with 1 types
  1 angles with 1 types
  0 dihedrals with 0 types
  0 impropers with 0 types
Created 3 atoms
Finding SHAKE clusters ...
  0 = # of size 2 clusters
  0 = # of size 3 clusters
  0 = # of size 4 clusters
  1 = # of frozen angles
Neighbor list info ...
  1 neighbor list requests
  update every 1 steps, delay 0 steps, check yes
  master list distance cutoff = 2.8
Setting up run ...
SHAKE stats (type/ave/delta) on step 0
  1 0.322222 0 6
  1 180 0

whoa there. you cannot use SHAKE on linear molecules. the solution for
the 180 degree angle is degenerate. you need to use on of the rigid
fixes.

axel.

The bigger problem is this:

Coords

1 0
2 0.32222222222 # 116pm / 3.6angstroms
3 0.64444444444

You need 3 values per atom, else the code

is storing garbage. There should be

an error check for this mis-formatting.

Steve

Thanks, this is very helpful info! It might be helpful if the documentation mentioned that ‘fix shake’ should not be used on linear molecules, not sure if that’s something everyone can be expected to know (I’m definitely not an expert, tho, maybe everyone else does know that ;)).

Thanks,
Aaron

Good point - I thought it was documented, but don’t see it.

I added it to the Restrictions section for fix shake.

Steve