[QE-users] Magnetic force theorem in DFT+U formalism

Timrov Iurii iurii.timrov at psi.ch
Fri Nov 15 10:13:25 CET 2024


Dear Kayahan,

I discussed this issue with Luca Binci who worked on the noncollinear DFT+U and this is what he replied:

"As long as the ground state total energy is the same, running the first calculation with noncolin=.true. (and specifying angle(1) and angle(2)) should bypass the problem. The alternative would be modifying the code, but that requires more time. The first calculation can be carried out with scalar-relativistic pseudos, even if noncolin=.true. (and the flag nspin=2 should be avoided)."

Greetings,
Iurii


----------------------------------------------------------
Dr. Iurii TIMROV
Tenure-track scientist
Laboratory for Materials Simulations (LMS)
Paul Scherrer Institut (PSI)
CH-5232 Villigen, Switzerland
+41 56 310 62 14
https://www.psi.ch/en/lms/people/iurii-timrov
________________________________
From: users <users-bounces at lists.quantum-espresso.org> on behalf of Saritas, Kayahan via users <users at lists.quantum-espresso.org>
Sent: Wednesday, November 13, 2024 20:36
To: users at lists.quantum-espresso.org <users at lists.quantum-espresso.org>
Subject: [QE-users] Magnetic force theorem in DFT+U formalism


Dear QE users,

I am trying to run the Force theorem example (see [1] below for the link) with DFT+U. The original example is using PBE. The calculation procedure is the following:

  1.  Run collinear SCF calculation
  2.  Use SCF collinear calculation density and potentials to run NSCF SOC calculations with different magnetization angles and lforcet=True and use the energy differences

I used Re atom in vacuum to test the procedure and here are the inputs I use:

For step 1:

&CONTROL

   calculation     = 'scf'

   outdir          = 'pwscf_output'

   prefix          = 'pwscf'

   pseudo_dir      = './'

   wf_collect      = .true.

/

&SYSTEM

   degauss         = 0.001

   ecutwfc         = 100

   ibrav           = 0

   input_dft       = 'pbe'

   nat             = 1

   nosym           = .false.

   nspin           = 2

   ntyp            = 1

   occupations     = 'smearing'

   smearing        = 'gauss'

   starting_magnetization(1) = 1

   tot_charge      = 2

/

&ELECTRONS

   conv_thr        = 1e-07

/



ATOMIC_SPECIES

   Re 186.2 Re.pz-spn-rrkjus_psl.1.0.0.UPF

ATOMIC_POSITIONS bohr

   Re      -1.66168343      -0.00000189       0.00000756

K_POINTS automatic

   1 1 1  0 0 0

CELL_PARAMETERS bohr

        18.89726133       0.00000000       0.00000000

         0.00000000      18.89726133       0.00000000

         0.00000000       0.00000000      18.89726133

HUBBARD atomic

U Re-5d 4

Then for step 2, I copied the entire SCF calculation folder into another folder and modified the input file as the following:

&CONTROL

   calculation     = 'nscf'

   outdir          = 'pwscf_output'

   prefix          = 'pwscf'

   pseudo_dir      = './'

   wf_collect      = .true.

/

&SYSTEM

   angle1(1)       = 90

   angle2(1)       = 0

   degauss         = 0.001

   ecutwfc         = 100

   ibrav           = 0

   input_dft       = 'pbe'

   lspinorb        = .true.

   lforcet         = .true.

   nat             = 1

   nbnd            = 14

   noncolin        = .true.

   nosym           = .true.

   ntyp            = 1

   occupations     = 'smearing'

   smearing        = 'gauss'

   starting_magnetization(1) = 1

   tot_charge      = 2

/

&ELECTRONS

   conv_thr        = 1e-07

/



ATOMIC_SPECIES

   Re 186.2 Re.rel-pz-spn-rrkjus_psl.1.0.0.UPF

ATOMIC_POSITIONS bohr

   Re      -1.66168343      -0.00000189       0.00000756

K_POINTS automatic

   1 1 1  0 0 0

CELL_PARAMETERS bohr

        18.89726133       0.00000000       0.00000000

         0.00000000      18.89726133       0.00000000

         0.00000000       0.00000000      18.89726133

HUBBARD atomic

U Re-5d 4

Notice, that between step 1 and 2 parameters in the &CONTROL and &SYSTEM cards are different and step 1 uses a scalar relativistic potential, while step 2 uses full relativistic potential from pslibrary.



Step 1 completes successfully, but the step 2 gives the following error:

     Error in routine read_scf (1):

     Reading ldaU ns

I used QE 7.4 to run these calculations. Both step 1 and step 2 are completed without any error if I use PBE only (no hubbard-U).



I am suspecting that the error is because in the NSCF-SOC calculation expects a Hubbard calculation manifold double in size (10x10 in noncollinear vs 5x5 in collinear in d-orbitals).



I am not sure if there are any fundamental reasons why the force theorem would not work in DFT+U formalism, because the above examples work when Hubbard-U is disabled (PBE only).



[1] https://gitlab.com/QEF/q-e/-/blob/f184591e9f34cfcc7767505a23977a92286e8ba6/PP/examples/ForceTheorem_example/run_example

Best,

Kayahan



Dr. Kayahan Saritas

R&D Associate, Materials Theory Group

Materials Sciences and Technology Division

Oak Ridge National Laboratory


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20241115/7fd603d7/attachment.html>


More information about the users mailing list