Good day all,
I have been working on surface free energy (SFE) simulations for a little while now and I wanted to ask about the possible limitations of the my simulations methodology from the LAMMPS point of view.
Below is some context as to what I’m working on:
The SFE calculations are defined as a simple energy difference between the energy of the slab and the bulk material divided by twice the area. The formula is (E_slab-E_bulk)/2*A.
First I equilibrate the bulk in NPT and get E_bulk and then open the surface and extended the boundaries, equilibrate in NVT and get the E_slab. Occasionally, I lose atoms. I partially solved this issue by using a minimize right before I open the surface; however, with certain ReaxFF potentials I lose an atom even at 100 K.
This is where I assume the issues could happen:
To get around this issue I end the NVT run once an atom is lost. Then, I delete the atoms 3 Angstroms above the surface and find the top and bottom most atoms to reduce the boundary condition and reequilibrate the bulk in NPT. After this, I once again open the surface and equilibrate and get the energy difference. From my limited understanding I would not expect the difference in SFE values from simulations which did or did not lose an atom to be similar. However I see a difference of ~90% in SFE despite percentage difference between the cases where an atom is lost to not lost being ~0.02% in energy of the slab, the energy difference of slab and bulk ~15%, and area difference of ~2.8%.
It would be helpful to know what kind of numerical limitation I could be running into when dealing with this methodology and such a large SFE difference.
Sincerely,
Vikentiy
Your question is outside the scope of this forum. This is basically a question on how to do your research and that is a discussion you should have with your adviser or supervisor and possibly suitable collaborators with experience in that field. This is not really a question about how to “operate” LAMMPS. That said, from a quick glance it seems that your approach is rather hackish and doesn’t sound like it has a solid footing in physics. Is there some published precedence that this approach has been applied successfully to a similar study? Without having that or some confirmation from some expert in that specific area of research, it can be quite risky to continue.
Hello Alex,
Thank you for your response.
I understand this post may appear outside the scope of this forum. However, this question arose after thorough discussions with my supervisors and collaborators, and a careful review of the relevant MD literature, which ultimately brought me here.
The context is as follows: I have developed a script that restarts a simulation with a reduced atom count following an atom loss event, and I wanted to understand whether this approach introduces any computational artefacts that would not be immediately apparent to someone who did not write the LAMMPS source code.
Given your familiarity with LAMMPS, I was hoping you could help me understand why this method may be considered hackish, and perhaps suggest a more robust way to approach the problem.
V
I am not an expert in that kind of research, so my observations do not mean that I know how to do it better. In fact, most of what you write is too vague for me to make any sense of it.
There is a ongoing confusion that a familiarity with a software also means also a deep understanding of the physics and methodology. These are two different things. I always explain this by pointing out to the driver’s manual of a car. The drivers manual tells you where all the knobs and levers are and what they do, but it does not teach you how to drive. You can be a good mechanic (or programmer), but a lousy driver (or researcher). It also works the other way around, there are excellent drivers who have no idea of the mechanics (= users that know nothing about the implementation or the programming language).
From my perspective your attitude towards losing atoms is too cavalier. Rather than just stopping the simulation or doing some steps to suppress that, you need to fully understand why this happens. This can be due to the choice of starting geometry, potential parameters, simulation parameters or a combination of those. It is impossible to say from remote and there is no one-size-fits-all solution since the lost atoms are only a symptom that can have different causes. This is similar to when you go to a doctor with a fever. This can be (mostly) harmless or an indication of a serious sickness or something in between. Just taking a medication to suppress the fever can be ok in some cases, but it won’t cure any more serious problems. But the serious problem requires consulting with an expert. You won’t find that in an online forum.
Thank you for taking the time to elaborate — the car analogy is a fair one and I take the point.
To clarify, I am not approaching this casually. The self-restarting script was not intended as a permanent fix, but as a diagnostic tool to isolate whether the issue is geometry- or parameter-driven. I agree that suppressing the symptom without understanding the cause is not a sound methodology.
I raised the question here precisely because I was looking for additional perspectives beyond my immediate collaborators. If this forum is not the right place for that, I understand, and I appreciate the honest feedback.
Best regards,
V
Just look at the kind of questions that get answered and who is answering them and draw your own conclusions. There also is the “Guidelines” post explaining how to post and what to expect from the forum (and what not).