I plan to use a virtual half-plane indenter to perform the nano-indentation operation as shown in the figure below. After reading the fix indent plane in the lammps manual, I found that the planar indenter is really an axis-aligned infinite-extent wall exerting the same force on atoms in the system ,The following is the command line I wrote. What I want to ask is how to modify it to achieve the effect of the intermediate half-plane indenter.
variable zzero equal 106
variable vel equal 0.1
variable name equal “v_zzero - v_velstepdt”
variable depth equal “v_velstepdt”
Other users might have different suggestions – I would recommend building an actual physical indenter and pressing it into the structure. I would do the following:
Build a block of atoms of the desired size and shape (reusing Ni in this case to save on force field definitions – I doubt the short-range details of the particles are important) and group it (under indenter let’s say). You might have success using region and create_atoms commands to do this, or you could build the indenter with some external software like Moltemplate
(Advanced) Use neigh_modify exclude group indenter indenter to save lots of unnecessary force calculations inside the indenter – but if you don’t know why you are doing this then you’d better be very careful
Use velocity or set indenter vel commands to give it the desired velocity
Use fix 1 setforce indenter 0 0 0 to prevent the indenter’s shape and velocity from changing
Use fix 2 nve indenter to make the indenter move
Use fix 3 nvt everything_else etc. etc. to make the substrate react to the indenter’s action
Hopefully this will give you the results you want – as always, whether or not those results are scientifically correct is up to you to verify.
atomsk interface.cfg -remove-property q lammps
Thank you very much for your reply. I will verify it next.
In addition, I want to ask whether you can control the semi-infinite plane of the initial indenter to a certain area by modifying the source code of fix_indent.cpp and fix_indent.h. If you can, please provide your valuable comments on how to modify the source code.
thank you very much again!
I think modifying the fix indent source code is by far the worst possible option. It is not as trivial as you might think, since if you restrict the area that is pushing atoms, how are you going to stop atoms from “wrapping around”? And not preventing that would result in a very unphysical model not to mention that you would have problems to determine forces for those atoms.