Monday, November 11, 2013

Cutting Out a Model

Quick Description: When making a new model, start from scratch can be a little difficult. Often, you may find yourself with an existing model that's approximately what you want. Maybe the size is wrong, maybe you want to work in a different direction or with a difference face of the crystal. Here's some general notes on how to correctly cut a model out of an existing system by obtaining the appropriate unit cell and expanding it to the size that suits you. If you are bringing two systems together (i.e. adsorbates on a surface) you will need to optimize the systems separately before bringing them together and optimizing the full system.

The Point: Manipulate an existing model into what you want.

Prerequisites: An existing model close to what you want.

Notes: Mostly in reference to this Matlab code, but even if you're not versed in this language, you might want to read the coding notes to get an idea of the substeps involved. The images aren't actually in the right order, but essentially, I was building a copper slab along the sqrt(3) directions.

Obtaining your true unit cell:

  1. Use existing atoms to mark the boundaries of your unit cell and grab their coordinates.
    • In Matlab, I use "plot_all" to view the system I'm working with and using the tag option and alt+clicking, I can get the rough coordinates of my atoms (rough referring to the fact that I actually grab the xyz values of where I click without autosnapping to the atom center itself).
  1. Use these coordinates to make your abc unit vectors (via subtracting).
    • In Matlab, I color change the rgb values manually and use the "plot_all" function to redisplay the atoms so that I can keep track of which one is which and subtract the correct vectors.
  2. Remember, not all of these atoms will actually be included in your unit cell. Delete the ones that you don't want to keep.
  3. Tile your unit cell to create the super cell you will actually run in VASP.
    • plot_super(atomic info, [a unit vector, b unit vector, c unit vector], [# a repeats, # b repeats, # c repeats]) outputs this super cell and plots it for you.
    • Double check that you're not overlapping copper atoms in the supercell using scatter3 to plot the xyz values of your atomic info. (It just makes it clearer if you have two units in roughly the same position because you didn't do step #2 properly).
  4. Adjust your unit vector.
    • xy coordinates should scale according to the integers you use to build your super cell from your unit cell.
    • z coordinate: The ones you have are currently great for model building, but in your actual POSCAR file you probably will want to have vacuum space.
  5. Make your new POSCAR file.
    • make_pos(atomic info, adjusted unit vectors, string of elements the order that they were used, 1) generates a POSCAR for you

1 comment:

  1. Most of the blogs pretend themselves as most usable and updated blogs with new information but sometime truth might different. I want to share some facts related to this subject which will help people to enhance their skills.
    ชุดปกติขาว

    ReplyDelete