OEP calculation for a Be atom

The optimized effective potential (OEP) framework allows one to use orbital-dependent functionals while remaining in the Kohn-Sham picture. In Octopus, the default OEP approximation is the Krieger-Li-Iafrate (KLI) scheme1, which is much faster than the full OEP solution2. In this tutorial we therefore start from a KLI calculation for an isolated Be atom, and then restart from that result to run the full OEP calculation. While we do here exact exchange (EXX) calculations, this can also be used for mGGA functionals with dependence on the kinetic energy density for instance.

KLI approximation

We begin with the KLI input:


CalculationMode = gs
FromScratch = yes

PseudopotentialSet = hgh_lda_sc
ExperimentalFeatures = yes

%Coordinates
 'Be' |  0 | 0 | 0
%

Spacing = 0.2
Radius = 10

XCFunctional = oep_x
OEPLevel = oep_kli

%Output
  potential
  density
%
OutputFormat = axis_x

The OEP-specific ingredients are:

We use here a moderate grid spacing for a fast but physical example (Spacing = 0.2) and we define a compact simulation box for this atom (Radius = 10).

This KLI calculation converges in 23 SCF iterations and provides the restart data for the following full-OEP step. The corresponding eigenvalues are:



SCF converged in   23 iterations

Some of the states are not fully converged!
Eigenvalues [H]
 #st  Spin   Eigenvalue      Occupation
   1   --    -4.174637       2.000000
   2   --    -0.309001       2.000000
   3   --    -0.056433       0.000000

Full OEP restarted from KLI

To perform the full OEP calculation, we now rerun Octopus in the same directory with:


CalculationMode = gs
FromScratch = no

PseudopotentialSet = hgh_lda_sc
ExperimentalFeatures = yes

%Coordinates
 'Be' |  0 | 0 | 0
%

Spacing = 0.2
Radius = 10

XCFunctional = oep_x
OEPLevel = oep_full

%Output
  potential
  density
%
OutputFormat = axis_x

OptimizeChebyshevFilterDegree = no
LRMaximumIter = 1
LRTolFinalTol = 1.0e-9

The important change is:

The final full-OEP eigenvalues are:



Some of the states are not fully converged!
Eigenvalues [H]
 #st  Spin   Eigenvalue      Occupation
   1   --    -4.172733       2.000000
   2   --    -0.309035       2.000000
   3   --    -0.062219       0.000000

The total energies of the two runs are very close because we considered a simple Be atom. More complicated molecules or solids show more pronounced differences between the approximate and exact solutions for the OEP equation.

The values shown here depend on numerical parameters such as Spacing, Radius, and the OEP solver settings. For practical workflows it is often convenient to converge first with KLI and then restart the full-OEP calculation from that result.

References


  1. J. B. Krieger, Y. Li, and G. J. Iafrate, Krieger-Li-Iafrate approximation for the exchange potential, Phys. Lett. A 146 256 (1990);  ↩︎

  2. S. Kuemmel and J. P. Perdew, Optimized effective potential made simple: Orbital functionals, orbital shifts, and the exact Kohn-Sham exchange potential, Phys. Rev. Lett. 90 043004 (2003);  ↩︎