# shock

Dear All,
I am using LAMMPS (14 Feb 2014) and have some questions about shock simulation:
1.To generate planar shock waves in NEMD simulations, we usually use fix wall/piston command to drive a piston at a specific particle velocity onto a stationary simulation cell. According to manual, we can set the position of the piston via keyword ‘pos’ .Now,I have a question:
‘fix walls all wall/piston zlo pos 5.0 0.0 0.0 vel 0.0 0.0 10.0 units box’, we know the z coordinate at which the piston begins is 5.Does it mean the thickness of the piston at z coordinate is 5? Are the atoms in 0~5 coordinate rigid atoms?

2.Also, I set the pos as 0,such as ‘fix walls all wall/piston zlo pos 0.0 0.0 0.0 vel 0.0 0.0 10.0 units box’, it seems there isn’t any significant difference about the result of shock simulation. I wonder whether there are some other differences between these two commands?

3.Another way to generate shock wave is to impacta simulation cell onto a piston at a specified particle velocity.To construct the piston, we can use fix wall/reflect via ‘fix walls all wall/reflect zlo 0.0’
Also,we can use ‘fix walls all wall/piston zlo pos 0.0 0.0 0.0 vel 0.0 0.0 0.0’
Can these two command reach the same result when reflecting atoms?

4.fix wall/piston and fix wall/reflect usually are used in conjuction with fix nve. Can these setting keep the energy in the shock hugoniot state like fix msst or fix nphug?

Best regards,

Dear All,
I am using LAMMPS (14 Feb 2014) and have some questions about shock
simulation:
1.To generate planar shock waves in NEMD simulations, we usually use fix
wall/piston command to drive a piston at a specific particle velocity
onto a stationary simulation cell. According to manual, we can set the
position of the piston via keyword 'pos' .Now,I have a question:
'fix walls all wall/piston zlo pos 5.0 0.0 0.0 vel 0.0 0.0 10.0 units
box', we know the z coordinate at which the piston begins is 5.Does it mean
the thickness of the piston at z coordinate is 5? Are the atoms in 0~5
coordinate rigid atoms?

No, it is an imaginary wall with nothing at all. All it does is to flip
the signs of z direction velocities, as explained in the doc page.

2.Also, I set the pos as 0,such as 'fix walls all wall/piston zlo pos 0.0
0.0 0.0 vel 0.0 0.0 10.0 units box', it seems there isn't any significant
difference about the result of shock simulation. I wonder whether there are
some other differences between these two commands?

If there is nothing from 0-5 angstroms, then it makes no differences at
all, except the impact will occur faster if the piston is closer to your
real atoms.

3.Another way to generate shock wave is to impacta simulation cell onto a
piston at a specified particle velocity.To construct the piston, we can
use fix wall/reflect via 'fix walls all wall/reflect zlo 0.0'
Also,we can use 'fix walls all wall/piston zlo pos 0.0 0.0 0.0 vel 0.0
0.0 0.0'
Can these two command reach the same result when reflecting atoms?

Yes, they are very similar. It all depends on what kind of reference frame
you wish to have. With wall/piston you have the "impactee" as the
reference, while with wall/reflect the referece frame is the wall.

4.fix wall/piston and fix wall/reflect usually are used in conjuction with
fix nve. Can these setting keep the energy in the shock hugoniot state like
fix msst or fix nphug?

No, they are different. fix nve does nothing to the energies, while msst
and nphug maintains the equations of motion to satisfy the Hugoniot
conditions.

Ray

Hello,Ray.
I have tried two different setting:
1.fix walls all wall/piston zlo pos 5.0 0.0 0.0 vel 0.0 0.0 10.0
2.fix walls all wall/piston zlo pos 0.0 0.0 0.0 vel 0.0 0.0 10.0
Actually, I set the box from 0 to 200 angstroms.There are atoms from 0-5 angstroms rather than nothing as you said. Although it seems there isn’t any significant difference about the result of shock simulation betwwen these two commands. I wonder whether there are some other differences between these two commands? For the first command, I set ‘fix walls all wall/piston zlo pos 5.0 0.0 0.0 vel 0.0 0.0 10.0’.I wonder how the atoms (from 0 to 5, on the left of the moving piston) interact one another when the piston is moving?
Best regards,

According to the doc page, "Currently the face keyword can only be zlo. This creates a piston moving in the positive z direction. Particles with z coordinate less than the wall position are reflected to a z coordinate greater than the wall position. ", meaning the following two things:

1. face zlo does not determine where the piston is, however, it merely limits the piston to move in the +z direction.

2. position of the piston is determined by the pos keyword, which defaults to zero but can be set to anything. Anything on the left of the wall are reflected to the right of the wall.

Visualize your system carefully and you should see the above is true.

Ray

Hi All,

May I ask a question following this thread regarding the meaning of the “args” of keywords “pos” and “vel” in “fix wall/piston command?” The doc says that

``````*"pos* args = z
z = z coordinate at which the piston begins (distance units)
*vel* args = vz
vz = final velocity of the piston (velocity units)"

``````
``````which seems: pos needs only one argument z, and vel needs only one argument vz (the z component of the piston).

``````
``````But in the Example part of the doc:  fix walls all wall/piston zlo pos 1.0 0.0 0.0 vel 0.0 0.0 10.0 units box

``````
``````There are three args for each, what is the meaning of them?

``````
``````Thank you very much,
Lili

``````