Add dislocation and use in lammps

Dear Lammps Users,
I saw a tutorial on inserting dislocations on the atomsk website ( Atomsk - Documentation ( It is mentioned that stress must be applied to stabilize or expand the dislocation. I can also calculate the stress calculated by them by Atomsk. However, I cannot read stress into Lammps by read_data. May I ask how to realize it.
Thank you

Hi @mmt_jiang,

Where? You’re providing a link to the table of contents of Atomsk documentation. There are 6 tutorials on how to add several types of dislocation on the website.

Why should you? The stress from atomsk is theoretical value from elastic stress theory. How and why would you want to use it as an LAMMPS input parameter?

This is not what the read_data command is made for.

As you’re not even mentioning the LAMMPS version you’re using, the system you are trying to study and what you are actually trying to achieve, it is complicated to help you any further. I suggest you take a detailed look at LAMMPS documentation and examples in the dedicated repository. Some of them will only work with recent versions of LAMMPS, so be careful to which one you use. You can also look at how to format of your post here. Best advice is also to look for guidance through in-person teaching that will provide direct comments and feedback on your questions and workflow with regard to your goals.

Thanks for your reply.
“stress must be applied” is mentioned in the last paragraph of Atomsk - Tutorial - Dislocation loop in Al ( It mentioned the importance of stress but atomsk cannot calculate the stress. It tell me that if I perform static relaxation or molecular dynamics, then the loop will close and collapse, leaving only perfect crystal. Actually, after calculation, the dislations disappear. So I want set the stress to stabilize the dislocation.
Atomsk - Documentation ( shows the stress of calculation in Part. Description (above Fig. 2). So I think the stress is that I need to stabilize the dislocation.
The lammps I use is 2 Aug 2023 version.

Again, without more information on your system and what you try to achieve it is complicated to provide meaningful information.

The resorption of the dislocation will depend on your model and simulation conditions. Very low temperature MD or static force computation can preserve your dislocation, while finite temperature simulation above the energy barrier of your model will resolve it. Up to now that is all we can say.

Sorry for the lack of information. The temperture I set is 300K. This is my calculation file.
Fe_2.eam.fs (738.7 KB)
in.test (2.3 KB)
Fe_screw1.lmp (2.8 MB)

Dear Lammps Users,
The information of my calculation has been provided. I hope to get your help deeply.
Look forward to your reply. Thanks.

Again, please consider my previous comments.

Your input is already a complicated one, and we have no idea about the end goals of your simulation. What kind of help do you expect us to provide?

I want to obtain stable dislocations in the model. We generally believe that the model is in a stable state after relaxation. That is to say, I want the dislocation structure after relaxation keep same as that I set. Alternatively, dislocation lines with a certain dislocation density can be introduced after relaxation.

Well, if the model relaxes at finite temperature or through energy minimization, then the dislocation is not stable with the interaction model chosen. EAM enforces crystalline structure by construction so this is not surprising.

However, it is always possible to exclude atoms from dynamics by creating a group and either setting their forces to 0 using fix setforce which is taken into account during minimization or excluding them from fix integration altogether by applying fix nvt only to the other atoms. But this might lead to nonphysical behavior, as Newton’s second law might not be applied anymore. Other solution might use spring forces with spring/self or compress the box so the pressure stops the atoms from relaxing the stress. But again, it’s up to you to learn the how-to and to think about a solution to your issue by weighting the pros and cons compared to your end goals.

Thank you very much for your answer. Unfortunately, the dislocations set up still disappear in steps following fix nvt (for instance, stretching the target after relaxation). It seems that this problem has not been fundamentally resolved.

You are looking at this backwards. LAMMPS doesn’t know what you want and it doesn’t know about dislocations and so on. It just follows the programmed algorithms where atoms follow the computed forces and what the computed forces are and how they are applied is something that you define in your input.

So if your input does not do what you expect to happen, this has two possible explanations:

  1. your input is not defining the interactions or propagations as they should be for this use case. In other words, your description of the model is not correct.
  2. your expectations are not correct, i.e. you have defined a model where the interactions dictate that the atoms don’t “want” to be where you put them.

At any rate, unless you can prove that there is a bug in LAMMPS, there is not much more that people here can tell you beyond what has already been stated. The rest is something that you have to work out by yourself or with the help of someone that that is familiar with and cares about your research. The fact that you don’t get the result you want does not automatically make it a LAMMPS issue.

1 Like