[lammps-users] create_atoms with body particles

Dear Lammps Users,

I want to model body rounded/polyhedron particles (nano cubes) submerged in an lj particle fluid. Kind of like in this paper, but with body particles.

My plan was to have two atom types, one for my cubes (type 1) and one for my lj particles (type 2).

I assume, that it only makes sense to have one atom style (in this case body) so my lj particles also have to be body style particles. Is this correct?

I have one nano cube as a model in a data file which I read and then replicate (this works fine).

The question now is, how do I model the lj particles. I wanted to use the create_atoms command but I have some questions.

Is the create_atom command the way to go, or would it be better do define all the lj particles in the data file?

As a test I used the command like this to create one extra nano cube,

atom_style body rounded/polyhedron 1 10

read_data data.cubes

create_atoms 1 random 1 847857 NULL

But it does not seem to create the nano cube or at least the image suggests that (attached).

If I then use

fix 1 all nve/body

the following error occurs:

Reading data file …

orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000)

1 by 2 by 2 MPI processor grid

reading atoms …

1 atoms

1 bodies

read_data CPU = 0.001 seconds

Created 1 atoms

create_atoms CPU = 0.000 seconds

ERROR on proc 3: Fix nve/body requires bodies (src/BODY/fix_nve_body.cpp:44)

Is the created atom not a body particle? What have I created?

Best regards,

Konstantin

Ps.: I use the lammps-stable from the 29th of October 2020

Input file:

units nano

dimension 3

newton on

boundary p p p

atom_style body rounded/polyhedron 1 10

read_data data.cubes

create_atoms 1 random 1 48134 NULL

velocity all create 300 156164 dist gaussian mom yes rot yes

variable steps equal 1

comm_modify vel yes

neighbor 0.5 bin

neigh_modify every 1 delay 0 check yes

timestep 0.0005

#fix 1 all nve/body

dump image all image 100 image.*.png type type &

zoom 1.0 body type 1 1

thermo_style custom step

thermo 100

run ${steps}

Data file:

#LAMMPS data file for polygons: cubes, moment of inertia I = m edge^2/ 6

1 atoms

1 bodies

1 atom types

-20 20 xlo xhi

-20 20 ylo yhi

-20 20 zlo zhi

Atoms

1 1 1 5.401 0 0 0

#2 2 1 1 0 0 12

Bodies

1 3 79

8 12 6

90 90 90 0 0 0

3 3 3

3 -3 3

-3 -3 3

-3 3 3

3 3 -3

3 -3 -3

-3 -3 -3

-3 3 -3

0 1

1 2

2 3

3 0

4 5

5 6

6 7

7 4

0 4

1 5

2 6

3 7

0 1 2 3

4 5 6 7

0 1 5 4

1 2 6 5

2 3 7 6

3 0 4 7

4.0

Dear Lammps Users,

I want to model body rounded/polyhedron particles (nano cubes) submerged in an lj particle fluid. Kind of like in this paper, but with body particles.

My plan was to have two atom types, one for my cubes (type 1) and one for my lj particles (type 2).

I assume, that it only makes sense to have one atom style (in this case body) so my lj particles also have to be body style particles. Is this correct?

that is correct.

I have one nano cube as a model in a data file which I read and then replicate (this works fine).

The question now is, how do I model the lj particles. I wanted to use the create_atoms command but I have some questions.

Is the create_atom command the way to go, or would it be better do define all the lj particles in the data file?

at this moment, they all must be defined in the data file. there is no interface to either create_atoms or the set commands to define new body particles.

As a test I used the command like this to create one extra nano cube,

atom_style body rounded/polyhedron 1 10

read_data data.cubes

create_atoms 1 random 1 847857 NULL

But it does not seem to create the nano cube or at least the image suggests that (attached).

correct.

If I then use

fix 1 all nve/body

the following error occurs:

Reading data file …

orthogonal box = (-20.000000 -20.000000 -20.000000) to (20.000000 20.000000 20.000000)

1 by 2 by 2 MPI processor grid

reading atoms …

1 atoms

1 bodies

read_data CPU = 0.001 seconds

Created 1 atoms

create_atoms CPU = 0.000 seconds

ERROR on proc 3: Fix nve/body requires bodies (src/BODY/fix_nve_body.cpp:44)

that is the expected behavior

Is the created atom not a body particle?

no.

What have I created?

a single atom. just as the image shows.

axel.