Skip to content

An automatic workflow to search for topological materials in 1651 magnetic space groups. Ref: J. Gao, et al. "Magnetic band representations, Fu-Kane-like symmetry indicators, and magnetic topological materials", Phys. Rev. B 106, 035150 (2022). https://doi.org/10.1103/PhysRevB.106.035150

Notifications You must be signed in to change notification settings

zjwang11/TopMat

Repository files navigation

1. TQC and TopMat in 1651 MSGs

The complete theory of topological quantum chemistry (TQC) in all 1651 magnetic space groups (MSGs).
The series of codes for searching for topological materials (TopMat) in 1651 MSGs.

A generate workflow for topologicl materials in 1651 magnetic space groups (MSGs) online http://tm.iphy.ac.cn/TopMat_1651msg.html

1) prepare the original POSCAR file (without magnetism).

2) phonopy --symmetry --tolerance 0.01 -c POSCAR

3) pos2msg (converting PPOSCAR to POSCAR_msg and initializing MAGMOM on magnetic atoms)

4) cp POSCAR_msg POSCAR; do spin-polarized VASP calculations with the given "MAGMOM" setting.

5) irvsp -sg sg#B [ -nb $m $n ] > outir (generating tqc.txt/tqc.data when using only maximal HSKPs)

6) solve compatibility relations (CR) and calculate symmetry indicators (SI) in 1651 magnetic space groups (using tqc.data).

a

2. MOM2MSG program

(A useful tool for a given magnetic configuration)
To find #MSG and standarize POSCAR according to the given magnetic configuration.
If you have any problem, please contact us by rhzhang@iphy.ac.cn

  • how to make:

    $  tar -zxvf src_mom2msg.tar.gz
    $  cd src_mom2msg
    $  make
    

1) prepare the original POSCAR file (without magnetism).

Here we take a POSCAR $NiF_2$ as an example (space group: 136):

$     NiF2
$     1.0
$             4.7100000381         0.0000000000         0.0000000000
$             0.0000000000         4.7100000381         0.0000000000
$             0.0000000000         0.0000000000         3.1180000305
$        Ni    F
$         2    4
$     Direct
$          0.000000000         0.000000000         0.000000000  
$          0.500000000         0.500000000         0.500000000  
$          0.303299993         0.303299993         0.000000000
$          0.196700007         0.803300023         0.500000000
$          0.803300023         0.196700007         0.500000000
$          0.696699977         0.696699977         0.000000000

2) add the magnetic configuration (Cart. coord.) in POSCAR as follows.

There is no need to write 0 0 0 for non-magnetic atoms.

$     NiF2
$     1.0
$             4.7100000381         0.0000000000         0.0000000000
$             0.0000000000         4.7100000381         0.0000000000
$             0.0000000000         0.0000000000         3.1180000305
$        Ni    F
$         2    4
$     Direct
$          0.000000000         0.000000000         0.000000000  -1 0 0
$          0.500000000         0.500000000         0.500000000   1 0 0
$          0.303299993         0.303299993         0.000000000
$          0.196700007         0.803300023         0.500000000
$          0.803300023         0.196700007         0.500000000
$          0.696699977         0.696699977         0.000000000

3) src_mom2msg/mom2msg > outdir (get the #MSG, SG#B, POSCAR_msg and msgout.txt )

POSCAR_msg: Additional $He$ atoms are generated by unitary(#+1) and anti-unitary(#-1) operations

$     SG#B 14   OG( 58. 6. 476 )
$          1.0
$          4.710000038     0.000000000     0.000000000
$          0.000000000     4.710000038     0.000000000
$          0.000000000     0.000000000     3.118000031
$      Ni  F    He
$        2   4   8
$     Direct
$       0.00000000  0.00000000  0.00000000  # cart -1.00000  0.00000  0.00000
$       0.50000000  0.50000000  0.50000000  # cart  1.00000  0.00000  0.00000
$       0.30329999  0.30329999  0.00000000 
$       0.19670001  0.80330002  0.50000000 
$       0.80330002  0.19670001  0.50000000 
$       0.69669998  0.69669998  0.00000000 
$       0.11000000  0.12000000  0.15000001  # +1 
$      -0.11000000 -0.12000000 -0.15000001  # +1 
$       0.39000000  0.62000000  0.34999999  # +1 
$       0.61000000  0.38000000  0.65000001  # +1 
$      -0.11000000 -0.12000000  0.15000001  # -1 
$       0.11000000  0.12000000 -0.15000001  # -1 
$       0.61000000  0.38000000  0.34999999  # -1 
$       0.39000000  0.62000000  0.65000001  # -1 

msgout.txt:

$
$     ###M ≡ G + AG, where M is a magnetic space group, G is its unitary part, and A is an antiunitary symmetry###
$     ###Magnetic moment geometric classification:     collinear
$
$     #spg_symm :    16
$     #  1    unit
$       1  0  0    0.000000
$       0  1  0    0.000000
$       0  0  1    0.000000   +1
$     #  2    unit
$      -1  0  0    0.000000
$       0 -1  0    0.000000
$       0  0 -1    0.000000   +1
$     #  5   anti-unit
$      -1  0  0    0.000000
$       0 -1  0    0.000000
$       0  0  1    0.000000   -1
$     #  6   anti-unit
$       1  0  0    0.000000
$       0  1  0    0.000000
$       0  0 -1    0.000000   -1
$     #  9   anti-unit
$       1  0  0    0.500000
$       0 -1  0    0.500000
$       0  0 -1    0.500000   -1
$     # 10   anti-unit
$      -1  0  0    0.500000
$       0  1  0    0.500000
$       0  0  1    0.500000   -1
$     # 13    unit
$      -1  0  0    0.500000
$       0  1  0    0.500000
$       0  0 -1    0.500000   +1
$     # 14    unit
$       1  0  0    0.500000
$       0 -1  0    0.500000
$       0  0  1    0.500000   +1
$
$     #symm_mag,  #symm:     8    16
$
$     Magnetic SG type : Type III (translationgleiche)

outdir:

$    
$                                Int.      Sch.    #SG   #symm 
$     Crystalline SG(org.):  P4_2/mnm    D4h^14    136     16
$     unitary  part (only):    P2_1/c     C2h^5     14      4
$     unitary +antiunitary:      Pnnm    D2h^12     58      8
$          
$     Moment classification:  collinear
$
$     Magnetic SG type : Type III (translationgleiche)        
$     Magnetic SG number (OG) :   476
$      SG#B 14   OG( 58. 6. 476 )                                   
$     He: 
$       0.11000000  0.12000000  0.15000001
$      -0.11000000 -0.12000000 -0.15000001
$       0.39000000  0.62000000  0.34999999
$       0.61000000  0.38000000  0.65000001
$      -0.11000000 -0.12000000  0.15000001
$       0.11000000  0.12000000 -0.15000001
$       0.61000000  0.38000000  0.34999999
$       0.39000000  0.62000000  0.65000001

4) run phonopy (obtain the PPOSCAR with additional He atoms)

$ phonopy --symmetry --tolerance 0.01 -c POSCAR_msg

4) pos2msg (obtain this #MSG's all magnetic configurations)

Paste PPOSCAR with additional $He$ atoms into the website http://tm.iphy.ac.cn/TopMat_1651msg.html with #SG 58 and #MSG 476.

INPUT:

$     generated by phonopy
$        1.0
$          4.7100000380999996    0.0000000000000000    0.0000000000000000
$          0.0000000000000000    4.7100000380999996    0.0000000000000000
$          0.0000000000000000    0.0000000000000000    3.1180000305000002
$     Ni F He
$        2    4    8   
$     Direct
$       0.0000000000000000  0.0000000000000000  0.0000000000000000
$       0.5000000000000000  0.5000000000000000  0.5000000000000000
$       0.3032999930000000  0.3032999930000000  0.0000000000000000
$       0.1967000070000000  0.8032999930000000  0.5000000000000000
$       0.8032999930000000  0.1967000070000000  0.5000000000000000
$       0.6967000070000000  0.6967000070000000  0.0000000000000000
$       0.1100000000000000  0.1200000000000000  0.1500000100000000
$       0.8900000000000000  0.8800000000000000  0.8499999900000000
$       0.3900000000000000  0.6200000000000000  0.3499999900000000
$       0.6100000000000000  0.3800000000000000  0.6500000100000000
$       0.8900000000000000  0.8800000000000000  0.1500000100000000
$       0.1100000000000000  0.1200000000000000  0.8499999900000000
$       0.6100000000000000  0.3800000000000000  0.3499999900000000
$       0.3900000000000000  0.6200000000000000  0.6500000100000000

OUTPUT:

$     POSCAR_msg:
$     SG#B  14   OG (    58.6.476)   BNS (      58.398)
$       1.0
$         0.00000000000000   -4.71000003810000    0.00000000000000
$         4.71000003810000    0.00000000000000    0.00000000000000
$         0.00000000000000    4.71000003810000    3.11800003050000
$        Ni    F   He
$         2    4    8
$     Direct
$         0.00000000000000    0.00000000000000    0.00000000000000
$         0.00000000000000    0.50000000000000    0.50000000000000
$         0.69670000700000    0.30329999300000    0.00000000000000
$         0.69669997700000    0.19670000700000    0.50000000000000
$         0.30329999300000    0.80330002300000    0.50000000000000
$         0.30330002300000    0.69669997700000    0.00000000000000
$         0.03000001000000    0.11000000000000    0.15000001000000
$         0.96999999000000    0.89000000000000    0.84999999000000
$         0.72999999000000    0.39000000000000    0.34999999000000
$         0.27000001000000    0.61000000000000    0.65000001000000
$         0.27000001000000    0.89000000000000    0.15000001000000
$         0.72999999000000    0.11000000000000    0.84999999000000
$         0.96999999000000    0.61000000000000    0.34999999000000
$         0.03000001000000    0.39000000000000    0.65000001000000
$
$     INCAR:
$     LSORBIT = T
$     LNONCOLLINEAR = T
$     SAXIS = 0 0 1
$     MAGMOM= 3  3  0  3 -3  0 300*0.0
$
$     KPOINTS:
$     MKPOINTS used for magnetic space group
$       8
$     rec
$         0.50000000    0.00000000    0.50000000    1.0    ! A
$         0.00000000    0.00000000    0.50000000    1.0    ! B
$         0.50000000    0.50000000    0.00000000    1.0    ! C
$         0.00000000    0.50000000    0.50000000    1.0    ! D
$         0.50000000    0.50000000    0.50000000    1.0    ! E
$         0.00000000    0.00000000    0.00000000    1.0    ! GM
$         0.50000000    0.00000000    0.00000000    1.0    ! Y
$         0.00000000    0.50000000    0.00000000    1.0    ! Z

Use POSCAR_msg (REMOVING He atoms) and INCAR to do noncolinear VASP calculations and get irreducible representations by IRVSP.

3. symmat program

(A useful tool is used to calculate the dielectric constants, (spin) Berry curvature and (spin) Hall conductivity directly from the DFT calculations. Since the symmetry is used, only the k points in the irreducible Brillouin zone (IBZ) are computed.
If you have any problem, please contact us by chenhao_liang@iphy.ac.cn

  • how to make:

    $  tar -zxvf symmat.tar.gz 
    $  cd symmat
    $  ifort symmat.f90 -o Symmat
    
  • how to use: $ symmat -mu $mu (or -noe $nocc)

By default, the dielectric constant is computed. function of tags: -noe $occ (set the occ and unocc band)

-mu $mu (or you can set the fermi energy in $mu by -mu)

-nb $band1:$band2 (calulate the berry curvature ... for given bands from $band1 to $band2)

-spin (set as default, calculate spin berry curvature and SHE (for NONCOLLINEAR) with tag -spin)

-test ( pi mat for given bands from $band1 to $band2 )

Update:

version 1.1 , 2025.6.15 : for KPOINTS using KLINE. Now, you can calculate the berry curvature along a given k_line. (just set line mode in 'KPOINTS')

About

An automatic workflow to search for topological materials in 1651 magnetic space groups. Ref: J. Gao, et al. "Magnetic band representations, Fu-Kane-like symmetry indicators, and magnetic topological materials", Phys. Rev. B 106, 035150 (2022). https://doi.org/10.1103/PhysRevB.106.035150

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •