Defining a Piston with a reflective wall

Please reply to the list, not to me, thanks.

1.http://lammps.sandia.gov/doc/change_box.html

  1. You missed a region, “create_atoms 2 region box”

Actually, the zhi surface is usually just a free surface in shock simulations. Why do you need a reflect wall there? It is going to cause you quite a few troubles when the shockwave reaches the zhi surface.

Ray

Well I had been running it as a free surface but layers of atoms were just coming off the top of the box. I thought I would try reflecting the particles as if there were an interface there, in order to see how the shock wave propagated back through the system. Maybe that is not a good idea.

I am wanting to generate a shock wave and observe the changes in the lattice (not really trying to reproduce anything specific, just curious how the lattice would behave).

That indicates the surface was not even stable, if atoms were vaporizing off from the surface. It is highly likely due to you having atoms right on top of the boundary. When the free surfaces were created by assigning the boundary condition as non-periodic, atoms right on top of the boundary were assigned to either the zlo or the zhi side, so you actually have a bad surface configuration (actually two bad zlo and zhi surfaces). Try defining your box so that it is shifted by some small value in z - that will fix the problem.

Ray

Ray, I am not having much luck with shifting in the z-direction.

region box1 block 0 10 0 10 0 52
region box block 0 10 0 10 0 50
create_box 2 box1
create_atoms 2 region box

I was hoping to just use this to shift the surface, but when I visualize it, it looks the same to me.

I tried using the change_box command as well:

Something like:

change_box all zlo 0 zhi 52

and with that it returns an error for illegal command.

Shift the box and the atoms included:

region box block 0 10 0 10 0.1 52.1

create_box 2 box
create_atoms 2 box

Is this command in addition to the other commands? Sorry, I do not understand why we just shift all the atoms by 0.1 I think because the original issue does not fully make sense to me, I can’t fully understand the new commands.

It seems like you are saying I should use:

region box1 block 0 10 0 10 0 52

region box block 0 10 0 10 0.1 52.1

create_box 2 box1

create_atoms 2 region box

And then with this in my script, the atoms wont be outside the boundary. Shoudn’t it be from 0.1 to 51.9?

Run a search on the mailing list for the terms “shift box” and you will find very rich discussions.

lattice fcc 3.52 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 origin 0 0 0
region box block 0 10 0 10 0.1 50.1
create_box 2 box
create_atoms 2 box

This is it. Nothing else.