I am trying to follow along with the tutorial but I am having issues. Initially, the code works and the dislocation moves as seen in the video. However, after the top portion leaves the simulation cell, it doesn't follow the periodic boundary condition, which causes the rest of the atoms in the simulation cell to exit the cell as well. Any help would be appreciated.
Hello, I have a screw dislocation along y axis, I plan to glide it along x axis. The z direction is the normal to the glide plane. I want to apply shear stress in a plane perpendicular to z-axis and along the y-direction. Now the is these directions matching to the directions taken into account in the input file for this simulation is DislocationVelocity. Thanks, regards, Krishnendu
i have a question? to calculate the screw dislocation velocity, is that same procedure described in this tutorial (with screw dislocation input file)? i mean direction of application of force, setting of other parametrs?
Great question! The procedure for calculating the velocity of a screw dislocation would be very similar, I think, with a few caveats. The dislocation generation program I use here does not have a great screw dislocation structure (at least for FCC, I think). But, it can generate one in a cylindrical structure. Then, you will have to change several things to account for the new structure. It looks like the screw dislocation structure is oriented differently, so you will have to edit the atom groups so that the forces are set to zero on the correct groups of atoms. Along with that, you will have to change the definition of the force so that it is applied on the correct plane, and in the correct direction. Finally, the post processing script will need a bit of modification as well, as it is just calculating the travel of a dislocation in a specific direction, where the screw dislocation will be moving in a different direction, I think. So, there are quite a few things you will have to modify to look at a screw dislocation, but conceptually, the process should be very similar. If you do end up looking into this, I would be interested to hear how it works out!
I actually am not very familiar with Atomsk. But, if it can generate your geometry, then all you need to worry about is fixing the correct atoms, and applying the correct forces.
Thanks for watching! First make sure you have an output file to load. The "dump.minimize" was a file that I had written from a LAMMPS script. You can load any LAMMPS output, as well as many other formats.
Thank you, it is very useful. However, I have three questions: one is the boundary condition, why donot you constrain z direction, which sets as NULL. Two: why do you use NVE ensemble when applying shear stress? Third is about the OVITO visualization. I can not understand why the atoms below the dislocation core in Y direction do not move out of the simulation box? I am looking forward to your reply. Thank you very much for your time.
Thanks for watching! The z direction is allowed to relax because that direction is periodic anyway. This we are sure not to induce any extra stress. The NVE is used just so that we are not losing energy by trying to control the temperature. The friction in the dislocation motion will induce some thermal heating, but it is slow. Actually this setting does not make a huge difference in my experience. The lower half of atoms are fixed because of the group that is on the low-y boundary. The x force on those is set to zero so that they cannot move. We need to keep those fixed so that we can force the dislocation to move.
@@Jere5120 Thank you very much for your kind reply. I still do not understand the last question. If we visualize the dump.shear.unwrap file, it seems like that the lower mobile group atoms (Y coordinates ranging from ylo+14 to zero) do not move at all. I have thought these atoms should also move out of the box like the higher mobile group atoms. Could you help me to figure it out? It would be a huge help.
You are correct, the bottom group of atoms do not move at all. This is exactly what a dislocation is doing as it moves - one side of the dislocation is moving relative to the other. In our simulation we have dislocations repeatedly passing through our system so we get a pretty significant displacement of the top half with respect to the bottom half.
Thanks a lot for your video. I am working on the OVITO version 3.0.0. When I was running the script, it showed "Modifying the values of this property is not allowed, because it is currently shared by more than one property container or data collection. Please explicitly request a mutable version of the property by using the '_' notation". I tried to add '_' to the argument but it still didn't work. Could you help me with that? Thanks for your help.
Thanks again for your video. The problem can be solved by using Ovito version 2.9.0. It seems the version 3.0.0 add more modifiers and it makes the script is not suit for this version.
Hello! Thanks for watching! To answer your question, not exactly. OVITO can't really display a field output - of course, in atomistics all of your data is only at the atoms anyway. You can however color the atoms by their temperature, as long as you have output the per atom temperature in the output file that you are analyzing.
Hi Brad. How are you? Can you give me some ideas about evaluating dimensions( for example if I have a nanowire, its radius,length) ? it would be a huge help.
Hello! That's a good question. One way that you can go about measuring things in Ovito is by using the Inspect particles tool. It is in the far right tab right above your modifiers. If you control-click multiple atoms, it will give you distance vectors between them. So, you could use this to pick two ends of a nanowire to get the length, or pick atoms on opposite sides to get the diameter. That's the best way I know of, but if you find something that works better, let me know! Thanks!
Thank you for this nice video. It was really helpful. Just one question, what is the units of outputs, I mean position and time? Calculating the velocity for copper, for different shear stresses, I got the velocity like 0.001 to 0.004. comparing to literature, I don't think it is m/s. By the way, i used the command line to get the velocity. Again thank you.
+Farzad Foadian You are correct, the output will not give you meter per second. The output is actually in angstrom per time step. So, it will be specific to the time step set in the input file.
+anouar ettayk Hello and thanks for watching! The process for a phosphate glass should be the same as any material - first, you need to find a potential that works for your different base materials. Then, you need to create your structure. If it is an amorphous glass, you will want to create your atoms with a "create random" instead of creating it with a lattice. You will want to look at the lammps documentation for that command. Good luck!
Thanks for this helpful video and answering to questions. i have a same problem in screw dislocation. i created the box containing screw dislocation correctly with orientation X=[111] Y=[-1-12] Z=[1-10] which means the dislocation will move in y direction. but when i apply stress in x direction to box (rendering shear stress to box) the dislocation moves in both x and z direction (also box is collapsed). I applied the stress 100Mpa in lammps by: # define boundary conditions fix 1 upper setforce 0 0 NULL fix 2 lower setforce 0. 0. NULL fix 3 upper aveforce ${appforce} 0. 0. fix 4 upper rigid group 1 upper could you please help me what is wrong?
Thanks for watching! Unfortunately, I haven't played with screw dislocations much. The way you are applying the force looks right, I think. If the stress is collapsing your box, I would reduce it even more. See if you can find the smallest force that will still give you some motion. How did you generate the screw dislocation?
I think the stress is applied well. Tho most annoying problem is to move the dislocation in both direction (x and z). I am a bit confused. The dislocation must move in a direction that neighbour atoms are at the lowest distance (means x=[111]). Then the dislocation must move in x direction (not y direction as i mention above). but when i create the box in which dislocation line is in y (glide direction is x) Ovito (DXA) does not recognize the dislocation and it recognize the dislocation when it is lined in x direction (glide direction in y). what happen?! i created dislocation in Atomsk.
Very useful. But how can i get those document?
I am trying to follow along with the tutorial but I am having issues. Initially, the code works and the dislocation moves as seen in the video. However, after the top portion leaves the simulation cell, it doesn't follow the periodic boundary condition, which causes the rest of the atoms in the simulation cell to exit the cell as well. Any help would be appreciated.
Very useful. Look forward to your new video.
Hello,
I have a screw dislocation along y axis, I plan to glide it along x axis. The z direction is the normal to the glide plane. I want to apply shear stress in a plane perpendicular to z-axis and along the y-direction. Now the is these directions matching to the directions taken into account in the input file for this simulation is DislocationVelocity.
Thanks,
regards,
Krishnendu
i have a question?
to calculate the screw dislocation velocity, is that same procedure described in this tutorial (with screw dislocation input file)? i mean direction of application of force, setting of other parametrs?
Great question! The procedure for calculating the velocity of a screw dislocation would be very similar, I think, with a few caveats. The dislocation generation program I use here does not have a great screw dislocation structure (at least for FCC, I think). But, it can generate one in a cylindrical structure. Then, you will have to change several things to account for the new structure. It looks like the screw dislocation structure is oriented differently, so you will have to edit the atom groups so that the forces are set to zero on the correct groups of atoms. Along with that, you will have to change the definition of the force so that it is applied on the correct plane, and in the correct direction. Finally, the post processing script will need a bit of modification as well, as it is just calculating the travel of a dislocation in a specific direction, where the screw dislocation will be moving in a different direction, I think.
So, there are quite a few things you will have to modify to look at a screw dislocation, but conceptually, the process should be very similar. If you do end up looking into this, I would be interested to hear how it works out!
Thank you very much for your detailed explanation. i will try. meanwhile, what about atomsk software? That can also generate screw dislocation in FCC.
I actually am not very familiar with Atomsk. But, if it can generate your geometry, then all you need to worry about is fixing the correct atoms, and applying the correct forces.
Hello and Thanks.. I installed Ovito but i cant load any file. Actually where the files i dont know. For example where is "dump.minimize" file?
Thanks for watching! First make sure you have an output file to load. The "dump.minimize" was a file that I had written from a LAMMPS script. You can load any LAMMPS output, as well as many other formats.
Nice video. Sir did you make any video related to DPD simulation using lammps with an exmple?
Unfortunately, I do not have any DPD simulation tutorials using LAMMPS. I may make one in the future though - I'll have to look into it.
Thank you, it is very useful. However, I have three questions: one is the boundary condition, why donot you constrain z direction, which sets as NULL. Two: why do you use NVE ensemble when applying shear stress? Third is about the OVITO visualization. I can not understand why the atoms below the dislocation core in Y direction do not move out of the simulation box? I am looking forward to your reply. Thank you very much for your time.
Thanks for watching! The z direction is allowed to relax because that direction is periodic anyway. This we are sure not to induce any extra stress. The NVE is used just so that we are not losing energy by trying to control the temperature. The friction in the dislocation motion will induce some thermal heating, but it is slow. Actually this setting does not make a huge difference in my experience. The lower half of atoms are fixed because of the group that is on the low-y boundary. The x force on those is set to zero so that they cannot move. We need to keep those fixed so that we can force the dislocation to move.
@@Jere5120 Thank you very much for your kind reply. I still do not understand the last question. If we visualize the dump.shear.unwrap file, it seems like that the lower mobile group atoms (Y coordinates ranging from ylo+14 to zero) do not move at all. I have thought these atoms should also move out of the box like the higher mobile group atoms. Could you help me to figure it out? It would be a huge help.
You are correct, the bottom group of atoms do not move at all. This is exactly what a dislocation is doing as it moves - one side of the dislocation is moving relative to the other. In our simulation we have dislocations repeatedly passing through our system so we get a pretty significant displacement of the top half with respect to the bottom half.
Thanks a lot for your video. I am working on the OVITO version 3.0.0. When I was running the script, it showed "Modifying the values of this property is not allowed, because it is currently shared by more than one property container or data collection. Please explicitly request a mutable version of the property by using the '_' notation". I tried to add '_' to the argument but it still didn't work. Could you help me with that? Thanks for your help.
Thanks again for your video. The problem can be solved by using Ovito version 2.9.0. It seems the version 3.0.0 add more modifiers and it makes the script is not suit for this version.
Thanks again for watching. You are correct - the OVITO version will definitely have an effect, especially moving to version 3.
Hello,
I have a question,
Is "OVITO" possible to show the temperature field of model ?
Hello! Thanks for watching! To answer your question, not exactly. OVITO can't really display a field output - of course, in atomistics all of your data is only at the atoms anyway. You can however color the atoms by their temperature, as long as you have output the per atom temperature in the output file that you are analyzing.
Hi Brad. How are you? Can you give me some ideas about evaluating dimensions( for example if I have a nanowire, its radius,length) ? it would be a huge help.
Hello! That's a good question. One way that you can go about measuring things in Ovito is by using the Inspect particles tool. It is in the far right tab right above your modifiers. If you control-click multiple atoms, it will give you distance vectors between them. So, you could use this to pick two ends of a nanowire to get the length, or pick atoms on opposite sides to get the diameter. That's the best way I know of, but if you find something that works better, let me know! Thanks!
Thank you for this nice video. It was really helpful.
Just one question, what is the units of outputs, I mean position and time? Calculating the velocity for copper, for different shear stresses, I got the velocity like 0.001 to 0.004. comparing to literature, I don't think it is m/s. By the way, i used the command line to get the velocity.
Again thank you.
+Farzad Foadian You are correct, the output will not give you meter per second. The output is actually in angstrom per time step. So, it will be specific to the time step set in the input file.
how to simulate phosphate glasses with lammps
+anouar ettayk Hello and thanks for watching! The process for a phosphate glass should be the same as any material - first, you need to find a potential that works for your different base materials. Then, you need to create your structure. If it is an amorphous glass, you will want to create your atoms with a "create random" instead of creating it with a lattice. You will want to look at the lammps documentation for that command. Good luck!
Thank you. It`s very useful.
Thanks for this helpful video and answering to questions. i have a same problem in screw dislocation. i created the box containing screw dislocation correctly with orientation X=[111] Y=[-1-12] Z=[1-10] which means the dislocation will move in y direction. but when i apply stress in x direction to box (rendering shear stress to box) the dislocation moves in both x and z direction (also box is collapsed). I applied the stress 100Mpa in lammps by:
# define boundary conditions
fix 1 upper setforce 0 0 NULL
fix 2 lower setforce 0. 0. NULL
fix 3 upper aveforce ${appforce} 0. 0.
fix 4 upper rigid group 1 upper
could you please help me what is wrong?
Thanks for watching! Unfortunately, I haven't played with screw dislocations much. The way you are applying the force looks right, I think. If the stress is collapsing your box, I would reduce it even more. See if you can find the smallest force that will still give you some motion. How did you generate the screw dislocation?
I think the stress is applied well. Tho most annoying problem is to move the dislocation in both direction (x and z). I am a bit confused. The dislocation must move in a direction that neighbour atoms are at the lowest distance (means x=[111]). Then the dislocation must move in x direction (not y direction as i mention above). but when i create the box in which dislocation line is in y (glide direction is x) Ovito (DXA) does not recognize the dislocation and it recognize the dislocation when it is lined in x direction (glide direction in y). what happen?! i created dislocation in Atomsk.
Thanks!!!