[lammps-users] Simulating impact of a rigid nanoparticle using the fix rigid command

Dear all,

I am trying to simulate the impact of a rigid nanoparticle onto a metallic substrate, using the fix rigid command.

Here is how I define the rigid particle, as well as the substrate:

region lowerblock block -INF INF -INF INF -INF {z_substrate} units box* *region particle block -INF INF -INF INF {z_substrate} INF units box
group particle region particle
group substrate region lowerblock

fix rigid_particles particle rigid single
neigh_modify exclude group particle particle

Then I set an initial velocity for the rigid particle as follows:

velocity particle set 0.0 0.0 -7.75 units box

Finally, I perform an nvt integration on the substrate only:

fix perform_nvt substrate nvt temp 300.0 300.0 0.1

Now, the above setup does not yield the expected result, in that the particle does not actually behave as a rigid body, but instead some atoms get ejected from it upon impact. This eventually leads to an early end of ths simulation due to some atoms being lost.

The simulation looks much better if I turn the fix rigid off, i.e. if I simulate the impact of a metallic nanoparticle made of the same metal as the substrate. So the problem must be coming from the way I use the fix rigid command.

Could you please let me know if you see anything wrong in what I’m doing?

Thanks for your advice.

Best regards,
Thomas

Dear all,

I am trying to simulate the impact of a rigid nanoparticle onto a metallic
substrate, using the fix rigid command.

Here is how I define the rigid particle, as well as the substrate:

region lowerblock block -INF INF -INF INF -INF \{z\_substrate\} units box region particle block \-INF INF \-INF INF {z_substrate} INF units box
group particle region particle
group substrate region lowerblock

fix rigid_particles particle rigid single
neigh_modify exclude group particle particle

Then I set an initial velocity for the rigid particle as follows:

velocity particle set 0.0 0.0 -7.75 units box

Finally, I perform an nvt integration on the substrate only:

fix perform_nvt substrate nvt temp 300.0 300.0 0.1

Now, the above setup does not yield the expected result, in that the
particle does not actually behave as a rigid body, but instead some atoms
get ejected from it upon impact. This eventually leads to an early end of
ths simulation due to some atoms being lost.

have you tried reducing the time step?

The simulation looks much better if I turn the fix rigid off, i.e. if I
simulate the impact of a metallic nanoparticle made of the same metal as the
substrate. So the problem must be coming from the way I use the fix rigid
command.

i think the problem originates in the physics of your problem.
there are some fundamental differences between a rigid and a non-rigid
object. in a non-rigid object, energy can be dissipated through
deformation, thus the "edge atoms" will experience much smaller
forces than in a rigid object where the edge has the whole mass
of the rigid object behind it. this is the difference between a knife
made from, say, wax or steel.

cheers,
    axel.

Axel's points are valid. Does the rigid body move
as a rigid body before the impact? If it comes apart
and the simulation crashes (loses atoms) after the impact,
then it is likely that you are doing the collision too fast
and/or with too big a timestep.

Steve