Fix Pour Failing When Using "Rigid" Keyword

Hello everyone,

I’m currently using LAMMPS version 16Mar18 (I believe this is the latest version) and am running into some strange issue when using the “rigid” keyword with “fix pour”.

When I use the following set of commands (a more complete set of code is at the end of this email):

molecule doubles doubles.txt # Defined to have atom type 2; Please see end of email for molecule file
group dynamic type 2
fix myRigid dynamic rigid/small molecule mol doubles

fix 5 dynamic pour 10000 0 12345 region 5 mol doubles rigid myRigid rate 20.0 vol 1.0 1000

It runs then returns an error saying “Non-numeric atom coords. Simulation unstable.” Upon further investigation, after dumping the positions of atoms I notice that the x, y, and z coordinates of these are simply “nan”.

I believe this is an issue with either my use of either the “rigid” keyword or a mistake in my use of “fix rigid/small” because removing the “rigid” keyword from my “fix pour” command works properly.

The following is my input file reduced as much as I can without sacrificing potentially useful information:

Flow consisting of a system of only doubles

atom_style hybrid sphere molecular
atom_modify map array sort 10000 2.0
boundary f f p
newton off
comm_modify mode single vel yes
dimension 3

Opening Size

variable opening equal 6

Define regions

region 1 block -24 24 -0.6 0.6 0 460 side in
region 2 block -23.8 -((v_opening+1)/2) -0.4 0.4 0.9999 1 side in region 3 block ((v_opening+1)/2) 23.8 -0.4 0.4 0.9999 1 side in
region 4 union 2 2 3 side in

Create box and atoms at the bottom

create_box 2 1
create_atoms 1 random 2850 89755 4
create_atoms 1 single -((v_opening+1)/2) 0 1 create_atoms 1 single ((v_opening+1)/2) 0 1

Set masses and sizes

set type 1 mass 1.0
set type 2 mass 1.0
set type 1 diameter 1.0
set type 2 diameter 1.0

Define molecule for doubles

molecule doubles doubles.txt

Setting group ID’s

group static type 1
group dynamic type 2
group comb union static dynamic

Setting pair style and coefficients

pair_style gran/hertz/history 200000.0 NULL 50.0 NULL 0.5 0
pair_coeff 1 *
pair_coeff 2 2*

timestep 0.0001

Setting fixes for gravity vector, walls, and rigid structures

fix 1 dynamic nve/sphere
fix 2 dynamic gravity 1 vector 0 0 -1
fix 3 dynamic wall/gran hertz/history 200000.0 NULL 50.0 NULL 0.5 0 xplane -24 24
fix 3a dynamic wall/gran hertz/history 200000.0 NULL 50.0 NULL 0.0 0 yplane -0.6 0.6
fix 4 static freeze
fix myRigid dynamic rigid/small molecule mol doubles

thermo_modify lost ignore norm no
thermo 1000
neigh_modify check yes
neigh_modify exclude type 1 1

compute 1 comb property/local patom1 patom2 ptype1 ptype2
compute 2 comb pair/local dist fx fy fz force p1 p2 p3 p4
compute 3 dynamic property/local patom1 patom2 ptype1 ptype2
compute 4 dynamic pair/local dist fx fy fz force p1 p2 p3 p4

Pour rigid structures in

region 5 block -22.0 22.0 0.0 0.0 10 420 side in
fix 5 dynamic pour 10000 0 12345 region 5 mol doubles rigid myRigid rate 20.0 vol 1.0 1000
run 500000
unfix 5

The following is my molecule file (doubles.txt):

Molecule file for doubles

2 atoms

Coords

1 0.0 0.0 0.0
2 1.0 0.0 0.0

Types

1 2
2 2

Thank you for your time,
Justin