How to shock velocity (us) and the particle velocity (up), i.e.Hugoniot curve

Dear lammps users,
we carried out the simulation that the shock of water using the method of momentum mirror. Here are my simulation process.

First of all, The MD box of water moleculars was constructed and the MD box are 10 nm, 10 nm, and 20nm in the x, y, and z directions, respectively. we equilibrate the box in the NVT ensemble. After equilibration, The initial mass density and temperature are 0.99 g/cc and 300 K, respectively.

Second, For shock simulations, we assign an initial particle velocity, -up(-0.02A/fs), along the -z-axis to a water box (velocity all set 0.0 0.0 -0.02 sum yes units box), and let it impact a rigid momentum wall (fix rigidWall all wall/reflect zlo EDGE zhi EDGE units box).The resulting shock wave propagates in the opposite direction (+z-axis). up is equivalent to the piston velocity in piston-driven shock loading.

yet, Here are some prombes that bugging me for long time.

(1) Is this method of generating shock waves correct?

(2) How to caculate the shock velocity (us) in lammps, If it is obtained by post-processing method, what output data is needed in lammps? I get the information of caculation shock velocity from the literature “Shock velocity is obtained from the difference in the shock-front boundaries at two time frames. In each frame, the abrupt change in the density identifies the location of the shock front.” But I don’t know how to achieve it.



I’m CCing a person (Mitch) with shock simulation expertise. He can
likely answer some of your Qs.

One Q is what water model you are using. You would want to
use a flexible water model, not something like SHAKE, which I think
will conflict with the wall/reflect operation.