Menu

Can elk output spacegroup from elk input file?

Elk Users
2021-03-09
2021-03-10
  • Casey Eichstaedt

    Hello,

    My name is Casey Eichstaedt, and I am a Ph.D student in the Eguiluz research group at the University of Tennessee Knoxville. I currently using elk (ver 1.0.17 ). I have received the information for the atoms block and the avec block of the code from a user of Wien2k. I usually use the spacegroup utility to output these blocks in which I input the spacegroup. In this particular case, I was curious if there is anyway to see if the spacegroup (in our case R-3m) can be recovered using just the avec and atoms block. I know the output files SYMCRYS SYMSITE and SYMLAT are generated, but I am not too familiar with spacegroups to extract the relevant data. Any help on this matter would greatly be appreciated!

    I also have the cif file where I can generate the crystal structure, but for this particular compound, we would like to use a different convention than the spacegroup utitility generates.

    Thank you,

    Casey Eichstaedt

     
  • J. K. Dewhurst

    J. K. Dewhurst - 2021-03-10

    Hi Casey,

    A spacegroup is a set of transformations which form a 'group' in the mathematical sense. These transformations are stored in the file SYMCRYS.OUT and are of the form

    {α_S | α_R | t }
    

    where t is a translation, α_R is a spatial rotation and α_S is a spin rotation. These are applied from right to left. This set of transformations in SYMCRYS.OUT is the spacegroup, whereas R-3m is the Hermann-Mauguin (HM) symbol of the spacegroup. The HM symbol can be used to recover the set of operations (translations and spatial rotations). The 'spacegroup' code does this by first converting the HM symbol into a Hall symbol, which is easier for the computer to read. These symbols correspond to the generators of the group. They are converted to linear algebra operators (3x3 matrices and 3-vectors) and used to generate the group by forming all possible combinations.

    You could invert this process by determining which generators yield the set of operations in SYMCRYS.OUT and then figure out the HM symbol from those, but it will take some human effort to do so.

    Regards,
    Kay.

     
  • Lars Nordström

    Lars Nordström - 2021-03-10

    Dear Casey,

    I actually have created a python script which I think does what you want.
    .
    It reads your SYMCRYS.OUT and produce a format that is readable by Bilbao and their web-program "Identify Group" at https://www.cryst.ehu.es/cgi-bin/cryst/programs/checkgr.pl?tipog=gesp

    You just run it with
    python3 SymCrys2xyz.py
    in a directory where you have a SYMCRYS.OUT file.
    for BaTiO3 with lattice input in elk.in:

    scale
    7.46

    avec
    1.000000000 0.000000000 0.000000000
    0.000000000 1.000000000 0.000000000
    0.000000000 0.000000000 1.070000000

    atoms
    3 : nspecies
    'Ba.in' : spfname
    1 : natoms; atposl, bfcmt below
    0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
    'Ti.in' : spfname
    1 : natoms; atposl, bfcmt below
    0.50000000 0.50000000 0.48870000 0.00000000 0.000 0.00000000
    'O.in' : spfname
    3 : natoms; atposl, bfcmt below
    0.50000000 0.50000000 0.05625000 0.00000000 0.00000000 0.00000000
    0.50000000 0.00000000 0.53670000 0.00000000 0.00000000 0.00000000
    0.00000000 0.50000000 0.53670000 0.00000000 0.00000000 0.00000000

    The python script gives you as output:
    

    x,y,z
    -x,-y,z
    -x,y,z
    -y,-x,z
    -y,x,z
    y,-x,z
    y,x,z
    x,-y,z

    Cut and paste in Bilbao program and "Submit"-button gives as output enclosed SPCG-file.

    Good luck!
    Lars

     

    Last edit: Lars Nordström 2021-03-10
  • Casey Eichstaedt

    Hi Kay and Lars,

    Thank you so much for your speed of light response to my inquiry! This helps a lot! Also, thank you very much for developing such nice code! It is truly a gem in my research.

    I will work on utilizing the python code you sent and let you know if it works.

    Adolfo wishes his best to you!!

    Thanks,

    Casey

     
  • Lars Nordström

    Lars Nordström - 2021-03-10

    Dear Casey,

    I forgot to point out two points.

    1) The python-script assumes spin-orbit coupling. That is that rotations regards both orbital and spin space. But that is also assumed in tabulations of crystallographic space groups as those in the Bilbao crystallographic server. When spin polarized set up but without spin-orbit coupling the SYMCRYS.OUT file is too general for Bilbao as they take the form as described by Kay.

    2) Please be aware that if the atomic positions are obtained by lattice optimisation, the acccuracy of the positions might be too low which leads to that ELK obtain a lower symmetry. This is maybe more relevant for VASP calculations rather than WIEN2k, but anyway in principle, this can be compensated by increasing the default epslat value in elk.in.

    Please, send my regards to Adolfo!

    Best regards,
    Lars

     

Log in to post a comment.