Good afternoon LAMMPS Users
I am simulating atomic deposition on a graphite surface and had a question regarding compute MSD.
I’m using fix deposit to insert atoms above the surface and I’d like to compute the Mean Squared Displacement of only the diffusing atoms. I have used compute MSD successfully before with this system when not using fix deposit. Following the documentation, I have the deposited atoms put into a group separate from Graphite and then compute MSD of only that group. Also, I’m dumping atom ID and position for the group to a dump file for post processing.
Looking at the docs page for MSD to states that atoms not in the compute group are given a displacement of 0.0. Since the adatoms are not present at times until deposition, does this mean they are also given MSD of 0 at time=0 (and all times until they’re inserted)? I ask because I noticed my MSD for the system was unrealistic (over 100k at timestep 50), even though the system itself is behaving as expected. To check, I looked at the dumped position data and the one atom had moved less than 0.1 angstroms in the given time period. I pegged the problem to be that LAMMPS assumes the initial position of each adatom is (0,0,0) before insertion. Then, at the first timestep the atom is inserted, it’s displacement becomes the current position’s distance from the origin, which is incorrect.
I have developed post-processing codes for MSD so it’s not essential that I find a solution, but I’d like to know for my own curiosity. Is it possible for LAMMPS to ‘flag’ the timestep and position when the atom is first inserted to call that the initial position for MSD calculation rather than using the origin at time=0?
Mechanical Engineering & Mechanics