pylada / pylada-light

A physics computational framework for python and ipython
GNU General Public License v3.0
38 stars 24 forks source link

Using Decorations to Enumerate Alloy Configurations #61

Closed drewnovick closed 3 years ago

drewnovick commented 3 years ago

Hello! I'm a grad student in Vladan's group. I've been doing some work with alloys and was looking at the following code: pylada-light/tests/decorations/test_generator.py. I know this code was written a while ago, but if you do happen to remember a few things about it, I'd greatly appreciate some help.

I was using this code to produce all symmetry inequivalent structures for an FCC lattice with a supercell size of 2. In the results list in that code, I get something like: ['101002 01', '101012 01']. Am I right in assuming that the first number is the transformation matrix (or Hermite Normal Form Matrix) and the second is the decoration?

Second, is it possible to obtain the degeneracy of each of these configurations? For instance, if I were to produce all possible decorations and supercells for an n=2 FCC supercell, would it be possible to figure out how many of the results correspond to the first structure versus the second?

Thanks for your help! Drew

mdavezac commented 3 years ago

It's been a while indeed, so I could misremember things.

  1. That's right, the first item is the triangular part of the hermite normal form. The second is indeed the decoration, though I can't remember how to go from the bitstring to the actual lattice.
  2. There isn't really a way. The code is meant to find all decorations for all supercells up to a given size. I'm not sure multiplicity is well defined in that case. For a given supercell, your best bet might be to take inspiration from the inner loop of the main function, but keeping track of multiplicities as you generate decorations.
drewnovick commented 3 years ago

Hello, I appreciate your quick response. 1) Okay, great. Yes, I think I can figure out going from the bitstring to the lattice. 2) That sounds like a good place to start. Thanks for your help! Drew