Changes to basis required when using spin-orbit coupling

Elk Users
J Cumby
2013-08-08
2013-10-05
  • J Cumby
    J Cumby
    2013-08-08

    Dear All,

    I am trying to calculate energetics of different magnetic structures for a series of MX2O4 structures based on Schafarzikite (FeSb2O4). Calculations converge fine without spin-orbit coupling applied, but on turning on SOC, the potential seems to show charge-sloshing, preventing convergence. I have tried adjusting mixtype, beta0 (and broydpm where appropriate), nempty, swidth and reducebf with a number of different combinations/values, but none seem to solve the problem. Is there something else that I'm missing, which is critical to SOC-calculations?

    I'm using elk 1.4.22; one of my input files is shown below. Note also that I'm using a modified Sb.in, with 4s and 4p orbitals promoted to valence.

    Kind regards,
    James Cumby

    Input File

    tasks
      1
    nwrite
      10
    spinpol
     .true.
    spincore
     .true.
    spinorb
     .true.
    primcell
     .true.
    reducebf
       1.0          
    avec
    8.783816  0.000000  0.000000
    0.000000  8.783816  0.000000
    0.000000  0.000000  6.211584
    
    scale
      1.88972612456506198632        !Conversion of Ang to Bohr to allow entry of
                                    !unit cell as Ang.
    sppath
       './'                        
    atoms
      3                                                             : nspecies
      'O.in'                                                        : spfname
      16                                                            : natoms
       0.094917   0.639042   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.360958   0.094917   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.905083   0.360958   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.639042   0.905083   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.594917   0.860958   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.405083   0.139042   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.139042   0.594917   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.860958   0.405083   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.677411   0.177411   0.250000       0.00   0.00   0.00      : atposl, bfcmt
       0.822589   0.677411   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.322589   0.822589   0.250000       0.00   0.00   0.00      : atposl, bfcmt
       0.177411   0.322589   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.322589   0.822589   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.177411   0.322589   0.250000       0.00   0.00   0.00      : atposl, bfcmt
       0.677411   0.177411   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.822589   0.677411   0.250000       0.00   0.00   0.00      : atposl, bfcmt
      'Mn.in'                                                       : spfname
      4                                                             : natoms
       0.000000   0.500000   0.250000       0.00   0.00  -5.00      : atposl, bfcmt
       0.500000   0.000000   0.750000       0.00   0.00   5.00      : atposl, bfcmt
       0.000000   0.500000   0.750000       0.00   0.00   5.00      : atposl, bfcmt
       0.500000   0.000000   0.250000       0.00   0.00  -5.00      : atposl, bfcmt
      'Sb.in'                                                       : spfname
      8                                                             : natoms
       0.179161   0.167915   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.832085   0.179161   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.820839   0.832085   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.167915   0.820839   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.679161   0.332085   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.320839   0.667915   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.667915   0.679161   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.332085   0.320839   0.500000       0.00   0.00   0.00      : atposl, bfcmt
    
    ngridk
      3  3  4
    vkloff
      0.0  0.0  0.0
    trimvg
       .false.
    autolinengy
      .true.
    lradstp
       2
    swidth
       0.15
    maxscl
       500
    mixtype
       3
    beta0
       0.005
    nempty
       80
    gmaxvr
       15
    lmaxvr
       9
    lmaxapw
       10
    rgkmax
       8.0
    deband
      0.1
    xctype
       20 0 0       ! PBE Exc functional
    

    Sb.in

     'Sb'                                       : spsymb
     'antimony'                                 : spname
      -51.0000                                  : spzn
       221954.9018                              : spmass
      0.280056E-06    2.0000   35.7004   600    : sprmin, rmt, sprmax, nrmt
      17                                        : spnst
       1   0   1   2.00000    T                 : spn, spl, spk, spocc, spcore
       2   0   1   2.00000    T
       2   1   1   2.00000    T
       2   1   2   4.00000    T
       3   0   1   2.00000    T
       3   1   1   2.00000    T
       3   1   2   4.00000    T
       3   2   2   4.00000    T
       3   2   3   6.00000    T
       4   0   1   2.00000    F
       4   1   1   2.00000    F
       4   1   2   4.00000    F
       4   2   2   4.00000    F
       4   2   3   6.00000    F
       5   0   1   2.00000    F
       5   1   1   1.00000    F
       5   1   2   2.00000    F
       1                                        : apword
      0.1500   0  F                             : apwe0, apwdm, apwve
       0                                        : nlx
       6                                        : nlorb
       0   2                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
       1   2                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
       2   2                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
       2   3                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
     -1.4637   0  T
       0   3                                    : lorbl, lorbord
     -0.7300   0  T                             : lorbe0, lorbdm, lorbve
     -0.7300   1  T
     -5.6001   0  T
       1   3                                    : lorbl, lorbord
      0.1500   0  F                             : lorbe0, lorbdm, lorbve
      0.1500   1  F
     -3.7001   0  T
    
     
  • Hi James,

    Thanks for the detailed description of the problem.

    That's quite a large system. I'll run it on our cluster and see what happens.

    In the meantime, you could try Elk version 2.2.5 which is much faster and more stable than 1.4.22. Try using Broyden mixing (mixtype=3) -- with Markus Meinert's new Broyden parameter set this converges almost magically.

    Regards,
    Kay.

     
  • Addendum: also try setting 'msmooth=2' which should improve stability. This is only available in the latest versions of the code.

    Cheers, K.

     
  • Hi James,

    I managed to converge your system in 31 loops with the following elk.in:

    tasks
      0
    
    msmooth
      1
    
    nwrite
      10
    
    spinorb
     .true.
    
    primcell
     .true.
    
    reducebf
       1.0
    
    avec
     8.783816  0.000000  0.000000
     0.000000  8.783816  0.000000
     0.000000  0.000000  6.211584
    
    scale
      1.88972612456506198632        !Conversion of Ang to Bohr to allow entry of
                                    !unit cell as Ang.
    sppath
       '../../species/'
    
    atoms
      3                                                             : nspecies
      'O.in'                                                        : spfname
      16                                                            : natoms
       0.094917   0.639042   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.360958   0.094917   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.905083   0.360958   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.639042   0.905083   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.594917   0.860958   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.405083   0.139042   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.139042   0.594917   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.860958   0.405083   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.677411   0.177411   0.250000       0.00   0.00   0.00      : atposl, bfcmt
       0.822589   0.677411   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.322589   0.822589   0.250000       0.00   0.00   0.00      : atposl, bfcmt
       0.177411   0.322589   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.322589   0.822589   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.177411   0.322589   0.250000       0.00   0.00   0.00      : atposl, bfcmt
       0.677411   0.177411   0.750000       0.00   0.00   0.00      : atposl, bfcmt
       0.822589   0.677411   0.250000       0.00   0.00   0.00      : atposl, bfcmt
      'Mn.in'                                                       : spfname
      4                                                             : natoms
       0.000000   0.500000   0.250000       0.00   0.00  -5.00      : atposl, bfcmt
       0.500000   0.000000   0.750000       0.00   0.00   5.00      : atposl, bfcmt
       0.000000   0.500000   0.750000       0.00   0.00   5.00      : atposl, bfcmt
       0.500000   0.000000   0.250000       0.00   0.00  -5.00      : atposl, bfcmt
      'Sb.in'                                                       : spfname
      8                                                             : natoms
       0.179161   0.167915   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.832085   0.179161   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.820839   0.832085   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.167915   0.820839   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.679161   0.332085   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.320839   0.667915   0.000000       0.00   0.00   0.00      : atposl, bfcmt
       0.667915   0.679161   0.500000       0.00   0.00   0.00      : atposl, bfcmt
       0.332085   0.320839   0.500000       0.00   0.00   0.00      : atposl, bfcmt
    
    ngridk
      3  3  4
    
    vkloff
      0.0  0.0  0.0
    
    trimvg
       .false.
    
    autolinengy
      .true.
    
    mixtype
       3
    
    nempty
       5
    
    xctype
       20 0 0
    

    I used Elk version 2.2.5 and the species files of that release.

    Cheers,
    Kay.