Calculating the Velocity of Dislocation in LAMMPS

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024

ความคิดเห็น • 58

  • @lifescience8860
    @lifescience8860 ปีที่แล้ว

    Thanks very much for this nice tutorial. Is there a way to create the edge dislocation with a specific orientation?

  • @shahmiran254
    @shahmiran254 10 หลายเดือนก่อน

    Hei, I want to say that your videos are super helpful. Just landed here to ask you how you generate the potential files? You mentioned at one point to follow your previous video, can you guide me on how can I locate it? Thanks in advance!

  • @bendavis575
    @bendavis575 7 ปีที่แล้ว +1

    Thank you for this series! Do you know any database of LAMMPS input decks? I have explored the ICME site but am looking for more. Specifically, compression of carbon nanotubes. Thanks for any direction you have.

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว +1

      +Benjamin Davis Thanks for watching! I hope you found it helpful.
      To your question, the actual input deck for doing the compression of a CNT would be almost identical to the compression of a metal crystal. However, rather than creating the atoms in LAMMPS, you will want to generate the atom positions first, then load them. Actually, that is the process used in this video, except we are generating a dislocation inside a metal crystal.
      As far as generating a CNT for LAMMPS, the only program I know of offhand is Materials Studio, if you have access to it. However, the LAMMPS data files are a pretty straightforward text format, and worst case, you could write a little script to create a CNT for you.
      I hope this is helpful!

  • @amirulhakeem2060
    @amirulhakeem2060 2 ปีที่แล้ว

    Hello, thankyou for the video.
    Im new to LAMMPS and I have a question. Is the LAMMPS script in this video can be used for screw dislocation as well or I need to write a new one instead?
    Thankyou for your help, appreciate it!

  • @dylanevans6855
    @dylanevans6855 3 ปีที่แล้ว

    Hello, The video series has been very well put together. Can I get some help on a couple errors?
    "The code execution cannot proceed because msys-gfortran-5.dll was not found. Reinstalling the program may fix this problem."
    "The code execution cannot proceed because msys-2.0.dll was not found. Reinstalling the program may fix the problem."
    Clearly, I'm having trouble with msys... however, I just installed in on my computer, and am not certain why it is giving these issues. Are there other files I need to place in the directory to get it to run? I'm new to these types of software.

  • @nigelhew3324
    @nigelhew3324 6 ปีที่แล้ว +1

    Hi EnCodeVector, thank you for videos they are very informative. Can I ask why is it that you set the forces for the upper and lower group 0 for x and y but not the z?

    • @Jere5120
      @Jere5120  6 ปีที่แล้ว +1

      Thanks for watching! We actually allow the structure to relax in the z direction. Setting the x and y velocities to zero insures that they will hold their structure.

  • @angelizquierdo3265
    @angelizquierdo3265 5 ปีที่แล้ว +1

    Excellent video!!! I was wondering something. In this case the shear stress is set, but suppose we want to set the strain in order to generate a stress-stress plot. How would you compute the shear stress? Can it be taken from the pressure tensor or would they have to be taken from the force acting in the mobile region? Thanks a lot for the tutorial!!!

    • @Jere5120
      @Jere5120  4 ปีที่แล้ว

      Good question! I think there are many different ways you could do it. My initial thought is to have LAMMPS calculate the tensorial virial stress (in the documentation: compute stress/atom), and you could extract the shear stress from that.

  • @divyeshds20123
    @divyeshds20123 3 ปีที่แล้ว

    hello sir, I am trying to use the same python script for the latest version of ovito. it seems new ovito made some changes and because of which I am not able to use the same script. Is it possible for you to point out the issue/?

  • @qiangwang8937
    @qiangwang8937 4 ปีที่แล้ว

    Thank you for your great video! This is a very good introduction to beginners for DD. But I have a problem about running the code. In the downloaded Zip, I only have four .exe files (fcc, bcc, BCCdata, and mddp08) in the "Windows" folder. And when I run "fcc.exe" in the commander line, the generated DDinput file is an empty file. what would be the reason for this?

  • @neerajkumarbhoi660
    @neerajkumarbhoi660 5 ปีที่แล้ว

    Thank you so much for adding the video. The tutorials are very good.
    Please add some video related with metal matrix composite modeling (i.e. metal and interaction of ceramic or carbide phase and their material response).
    Thank you.

  • @km40343
    @km40343 5 ปีที่แล้ว

    Hello, Thanks for the nice video. I have a question. At the end of this (video tutorial) part during temperature equilibriation at a step of 1000 the pxx, pyy and pzz are 0.6725, 0.6090 and 0.3993 GPa respectively. Did it further decreased at the final equilibriation step of 60000? Thanking you, Best regards, Krishnendu

  • @Yuu-kz5jq
    @Yuu-kz5jq 5 ปีที่แล้ว +1

    Thank you for your video! But I have a problem about atom-dislocation.exe, where can I get this .exe? I cannot find any information on the Internet. Thank you!

    • @Jere5120
      @Jere5120  4 ปีที่แล้ว +1

      This is a program that you will have to compile from the Fortran source code located here: icme.hpc.msstate.edu/mediawiki/index.php/Atomistic_Dislocation_Generation
      Hopefully the guide there can help you get it compiled.

  • @yeasirmohammadakib2487
    @yeasirmohammadakib2487 4 ปีที่แล้ว

    Hello EncodeVentor,
    Thank you for your nice video tutorial. I am facing a problem when I am using the minGW cmd. the problem says "$ cd Dislocation/
    sh: cd: Dislocation/: No such file or directory", but I have created a Dislocation file in the directory. Could you please address the problem?

  • @jingwu667
    @jingwu667 6 ปีที่แล้ว

    Hi, thanks for your videos, these are very useful and delight. Is it possible to generate a dislocation loop inside a material instead of either edge or screw dislocations?

    • @Jere5120
      @Jere5120  6 ปีที่แล้ว

      Thanks for watching! Is it possible? Technically yes! However, in atomistics, it is very difficult to simulate a piece of material large enough to contain a whole dislocation loop. That would be a challenge to determine where to initialize the atoms as well - but, it is definitely possible.

  • @rezanamakian2496
    @rezanamakian2496 6 ปีที่แล้ว

    Hey Brad, thanks for your very nice videos. I have four questions about the input file.
    1) Is there any reference, criterion, physical reason, or recommendation to determine the thickness of the upper and lower planes or walls ?
    2) The boundary has been defined as "boundary p s p". So, my question is why do we have the following fixes in step2 with NULL value in the z direction ?
    ###################################################
    # step 2: equilibrate the temperature #
    ###################################################
    # boundary condition
    fix 3 lower setforce 0.0 0.0 NULL
    fix 4 upper setforce 0.0 0.0 NULL
    I mean that shouldn't they be as below since we have "boundary p s p" and set NULL in y direction ?
    # boundary condition
    fix 3 lower setforce 0.0 NULL 0.0
    fix 4 upper setforce 0.0 NULL 0.0
    3) In step 3, why is it necessary to set velocities to zero for the top and bottom walls ?
    # define velocity on boundary
    velocity upper set 0. 0. 0. units box
    velocity lower set 0. 0. 0. units box
    4) As shown below in step 3, is it possible to have a conflict between fix 1 and fix 3 since in fix 1 we set X: NULL Y: 0.0 Z: NULL and then we change it in fix 3 to X: ${appforce} Y: 0.0 Z: 0.0? (And again, I don't understand why we have NULL value for z direction in fix 2.)
    # define boundary conditions
    fix 1 upper setforce NULL 0. NULL
    fix 2 lower setforce 0. 0. NULL
    fix 3 upper aveforce ${appforce} 0. 0.
    fix 4 upper rigid group 1 upper

    • @Jere5120
      @Jere5120  6 ปีที่แล้ว +1

      Hello, and thanks for watching! Great questions.
      1) Really, the thickness of the boundaries simply needs to be such that it does not affect the results of the simulation. For this simulation, I experimented with a few different thicknesses, just to make sure changing the thickness did not have a significant affect on the results.
      2) Despite what it sounds like, the NULL setting in the setforce command actually means that the force is not set at all. So, we are allowing the particles to have force in the y direction.
      3) Initially, the particles may have velocity (thermal, or something). They shouldn't, technically, since we assigned the temperature only to the middle atoms, but if they do have any initial velocity, they will fly off - because they can't feel any force. So, we make sure that doesn't happen by setting the velocities to zero as well.
      4) This goes back to question 2, I think. We are not fixing the force in the x and z directions, thus, we can apply the force that we want with fix 3.
      Thanks for the good questions!

  • @muzakkiyputra4276
    @muzakkiyputra4276 6 ปีที่แล้ว

    Hi, thank you for the nice video. What a great and helpful tutorial! I am a total beginner in MD simulation. I want to simulate the behavior of dislocation loop in SiC ceramics and I think this tutorial is the best exercise to do. However, it seems that the Atomistic Dislocation Generation file is only for single element. Can you give any suggestion of how to generate dislocation in two elements system?

    • @Jere5120
      @Jere5120  6 ปีที่แล้ว

      Thanks for watching! That is a cool problem. If you can go through the code enough to understand it, it shouldn't be too hard to re-purpose it for multi-element structures. However, as you probably have noticed, it is a pretty complicated code. The basic idea is pretty simple though - create a discontinuity in the crystal structure by displacing a portion of the atoms by the burgers vector of the dislocation. With an edge dislocation, this means removing a half-plane of atoms to create the discontinuity. Then, we rely on LAMMPS to minimize the structure back to the realistic dislocation structure. Unfortunately I don't know of any existing tools, but that is the concept.

    • @muzakkiyputra4276
      @muzakkiyputra4276 6 ปีที่แล้ว

      Thank you for the reply. I got your point and yeah that is the thing that I am doing and yes it is very complicated. Meanwhile, I also tried to reproduce the stacking fault energy of 3C-SiC based on this tutorial (icme.hpc.msstate.edu/mediawiki/index.php/LAMMPS_Stacking_Fault_Energy). However, I don't understand some parts of it such as which data from the dump file did they plot to get the energy-displacement curve. Can you explain me a little bit? and it would be very nice if you could create another tutorial on obtaining stacking fault energy.
      Again, Thanks a lot!

  • @veera3413
    @veera3413 7 ปีที่แล้ว

    is it necessary to generate meam potential to run simulations? can we use already available potentials , like (eam, meam, fs) in NIST web site?

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      +veer jalligampala Thanks for watching and great question! The answer is kind of an "it depends". As in, it depends on what you want to do. For the most part, you can use existing potentials from the NIST site, or from literature. The kind of potential you use should be based on what you are trying to accomplish. If you are studying mechanical behavior in LAMMPS, I recommend the MEAM potential, as it has been shown to be very useful for modeling mechanical behavior at the nanoscale.
      One word of caution, not all MEAM potentials have been calibrated well for mechanical behavior. It is a good idea to look at the literature to see what kinds of properties a specific potential was calibrated to. Good luck!

    • @veera3413
      @veera3413 7 ปีที่แล้ว

      Thanks for your reply. i am very much impressed with your tutorial videos. i just came to know about MDDP through your videos incidentally. i started learning MDDP with the help of your videos. thanks for your efforts. i want to study fatigue behaviour at nano scale through MDDP. i am feeling that it would be difficult for me to develop meam potential. but i will try to understand meam pot develpoment through the videos you made. hope you will make many tutorials on nano scale modeling. once again heartful thanks to you.

  • @dereksun3789
    @dereksun3789 3 ปีที่แล้ว +1

    #Amazing!!!LOVE YOU!!!Nice English!!!RESPECT!!!#

  • @nigelhew3324
    @nigelhew3324 5 ปีที่แล้ว

    Is there a reason you use fix aveforce instead of fix setforce?

    • @Jere5120
      @Jere5120  5 ปีที่แล้ว

      Thanks for watching! So, the intent with using aveforce (along with setforce) was to treat the top plate of atoms as a rigid body. The setforce (fix 1) prevents those atoms from moving in the y-direction. Then, the aveforce takes the average force on all those atoms - which has now been constrained to be in the zx plane - and adds our applied force on top of that. So, each atom has the exact same force on it, but we are not constraining the z force in particular. Ideally, the z direction will remain relaxed. Having said that, I was not the original author of this script, and I have recently been working with a similar system and I am wondering why there is also a fix rigid command - it seems like the other two fixes already create a rigid system.

  • @science_10523
    @science_10523 7 ปีที่แล้ว

    for lammps program can we take positions from any other input file? files can be generated from other software.
    REPLY

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      +Anirban Das Thanks for watching! There are a couple of different ways to import starting positions into lammps. Probably you want to use the "data" format which can include system cell and atom positions as well as covalent bonds, if you have them. I recommend looking at the lammps manual for a description of the format. lammps.sandia.gov/doc/read_data.html Typically, I will use python or another scripting language to write these input files, but I think some gui programs may have the capability to write them as well.

    • @science_10523
      @science_10523 7 ปีที่แล้ว

      thank you for the reply. I am using Fortran and C codes for generating atomic positions. these files will be used for lammps programs. can this be done?

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      +Anirban Das Absolutely. The data file lammps reads is actually just a text file, so it only takes a few lines of code typically to write out your atom positions.

  • @chetnatiwari5482
    @chetnatiwari5482 5 ปีที่แล้ว

    Your videos are very informative for me as I am a beginner in lammps. Please include a video on melting of nanomaterial with different sizes and shapes. Is it possible in Lammps ??

    • @AshishSingh-wu9ii
      @AshishSingh-wu9ii 5 ปีที่แล้ว

      hi i am also working in this field and also begineer

    • @Jere5120
      @Jere5120  4 ปีที่แล้ว

      This is an interesting idea. Can you give me an example of a nanomaterial that you are thinking of?

  • @shuo_tonny_tao1725
    @shuo_tonny_tao1725 5 ปีที่แล้ว

    Hi, I follow exactly the instructions in this video but I get a ERROR MSG when I try to do "lmp_serial -in dislocation_velocity.in". The ERROR MSG says:
    ERROR: Unknown pair style meam (../force.cpp:262)
    Last command: pair_style meam
    I don't know why.

    • @Jere5120
      @Jere5120  5 ปีที่แล้ว

      Hello! Thanks for watching. "pair_style meam" uses the fortran version of the MEAM potential. If you have a recent version of LAMMPS, this pair style is no longer included in the default build. Try using "meam/c" instead.

    • @shuo_tonny_tao1725
      @shuo_tonny_tao1725 5 ปีที่แล้ว

      @@Jere5120 Hi, I tried "pair style mean/c", it still says unknown pair style

    • @Jere5120
      @Jere5120  5 ปีที่แล้ว

      Make sure it is "meam/c".
      Do you get the same error message?

    • @shuo_tonny_tao1725
      @shuo_tonny_tao1725 5 ปีที่แล้ว

      @@Jere5120
      ERROR: Unknown pair style meam/c (../force.cpp:262)
      Last command: pair_style meam/c

    • @Jere5120
      @Jere5120  5 ปีที่แล้ว

      It looks like you don't have meam at all. You might need to try downloading it again, or try to find a previous version.

  • @pawillia90
    @pawillia90 7 ปีที่แล้ว

    Thank you for these videos! They've been very helpful. I unfortunately am having some issues when attempting this tutorial.
    When running the "atom-dislocation" executable from the command prompt, in addition to the DEALLOCATE, I get the following error:
    Error termination. Backtrace:
    Could not print backtrace: libbacktrace could not find executable to open
    #0 0x6f8aecb4
    #1 0x6f8a11ce
    #2 0x6f88105c
    #3 0x402da9
    #4 0x41d8a8
    #5 0x401287
    I found that I still fot the .pad file, so I ignored this additional error and continued. However, when running lamps, I got the "atoms lost" error after about 103000 timesteps in the #step 3...# phase of the input deck. I lowered the variable "runTime" to 100000. I was then able to complete the lammps execuatable, but when examing the output files in Ovito found that there were fewer atoms (around 2000) and 200 frames.
    I'm thinking these discrepancies are due to the backtrace error. Would you have any suggestions?

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      +pawillia90 Thanks for watching! I am glad they have been helpful. As far as the lost atoms error in lammps, that doesn't surprise me too much at that run time, depending on your applied stress. The reason is that the longer it runs, the larger the "unwrapped" coordinate gets and I have found that the numerical noise tends to do some wild things eventually. Of course, you would want to double check that this is what was happening. As far as the number of frames in the output files - you will want to check your "dump" command in your lammps script, but I would expect 200 frames for 100000 timesteps in "dump.shear.unwrap", since the default for the script is one written frame per 500 steps. But, as far as the number of atoms, there could be a problem. Are you saying there were 2000 fewer atoms in the output file than in the input file?

  • @deepakkpawar7770
    @deepakkpawar7770 7 ปีที่แล้ว

    Hii
    Can you comment on the following error
    At line 2546 of file Dislocation.f90
    Fortran runtime error: Attempt to DEALLOCATE unallocated 'itype'

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      Thanks for watching! Actually, this error does not seem to affect the running of the program. And, it may or may not show up depending on the compiler you use to compile the fortran code. But, basically, this error is thrown at the very end of the program as it is trying to deallocate memory, and it tries to deallocate memory that has not actually been allocated. It shouldn't (in my experience) affect the performance of the code.

    • @deepakkpawar7770
      @deepakkpawar7770 7 ปีที่แล้ว

      Hey, Thanks ...one more question i need to ask is how can i get potential files Cu.library.meam and Cu.parameter.meam which need to required for the simulation ...quite new to LAMMPS ....Thanks in advance

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      Good question. So, LAMMPS includes one version of the copper potential with the program. You can find them in the "potentials" subfolder. Instead of those file names though, you will need to change them to "library.meam" and "Cu.meam" respectively. If you run into issues with LAMMPS finding those files, you can copy them from the "potentials" subfolder into your working directory.

    • @deepakkpawar7770
      @deepakkpawar7770 7 ปีที่แล้ว

      Getting this error on this command ./lmp_serial < in.DislocationVelocity
      ERROR: Unknown pair style meam (../force.cpp:244)
      Last command: pair_style meam
      I am using the following library.meam file
      github.com/lammps/lammps/blob/master/potentials/library.meam

    • @Jere5120
      @Jere5120  7 ปีที่แล้ว

      Hmm. It looks like the "MEAM" potential is not built into your version of LAMMPS. I am not exactly sure why this is, but I have had this error from other people as well. If you need the MEAM potential, you may have to build LAMMPS yourself - it is not *too* difficult, and there are decent instructions on the LAMMPS site (lammps.sandia.gov/doc/Section_start.html#making-lammps). If you are just running the MEAM potential just for this tutorial, you can substitute a different potential just for the exercise.
      I am hoping to make a video on building LAMMPS at some point, but I can't guarantee when that will be.