# Exx keywords

Exact exchange parameters

## Exx.beta

Mixing parameter beta. In HSE-like functionals, the exchange function is
defined as beta E_x\^{HF,SR}(o[mega](){HF}) + (1-beta)
E_x\^{PBE,SR}(o[mega](){PBE}) + E_x\^{PBE,LR}(o[mega](){PBE}). If
Exx.beta is unset or empty, the default value is used (i.e. 0.25 for
HSE06).

**type**: `scalar`

**default**: `0.25`

**example**: `Exx.beta = 0.33333`

## Exx.Gcutoff

Cutoff for the planewave expansion of the atomic orbital products. The
higher this value, the more accurate the results, but also the higher
the computational expenses. It is crucial to verify convergence in
Exx.Gcutoff in hybrid calculations.

**type**: `scalar`

**default**: `4`

**example**: `Exx.Gcutoff = 4.0`

## Exx.dmDistCut

The density matrix (DM) elements will be set to zero if the distance of
two atoms is larger than dmDistCut. Thus DM becomes sparser when
dmDistCut is shorter and the computation speed increases. The default is
25, but you can try 5-15 at your own risk. The acceleration is usually
noticeable if the k-sampling (Exx.qgridn) is quite large (e.g. \> \[5 5
5\]) and/or the unit cell is larger than Exx.dmDistCut itself.

**type**: `scalar`

**default**: `25`

**example**: `Exx.dmDistCut = 10`

## Exx.eta

Equivalent to Exx.SchwarzEta. The Exx matrix elements violating the
Schwarz criterion by more than Exx.SchwarzEta will be ignored. The
higher this value, the lower the computational expenses, but also less
accurate the results. Value larger than 1e-4 is not recommanded.

**type**: `scalar`

**default**: `1e-06`

**example**: `Exx.eta = 1e-6`

## Exx.omegaHF

Screening parameter o[mega](){HF}. In HSE-like functionals, the exchange
function is defined as beta E_x\^{HF,SR}(o[mega](){HF}) + (1-beta)
E_x\^{PBE,SR}(o[mega](){PBE}) + E_x\^{PBE,LR}(o[mega](){PBE}). If
Exx.omegaHF is unset or empty, the default value is used (i.e. 0.11 for
HSE06).

**type**: `scalar`

**default**: `0.11`

**example**: `Exx.omegaHF = 0.11`

## Exx.omegaPBE

Screening parameter o[mega](){PBE}. In HSE-like functionals, the
exchange function is defined as beta E_x\^{HF,SR}(o[mega](){HF}) +
(1-beta) E_x\^{PBE,SR}(o[mega](){PBE}) + E_x\^{PBE,LR}(o[mega](){PBE}).
If Exx.omegaPBE is unset or empty, the default value is used (i.e. 0.11
for HSE06).

**type**: `scalar`

**default**: `0.11`

**example**: `Exx.omegaPBE = 0.11`

## Exx.SchwarzEta

The Exx matrix elements violating the Schwarz criterion by more than
Exx.SchwarzEta will be ignored. The higher this value, the lower the
computational expenses, but also less accurate the results. Values
larger than 1e-4 are not recommanded. If it is not set, it will take the
value of Exx.eta.

**type**: `scalar`

**default**: `1e-06`

**example**: `Exx.SchwarzEta = 1e-6`

## Exx.blockSize

If the system is large, ex: more than 200 atoms, sparsity plays a role.
The Exx matrix is divided into a group of submatrices with size
(Exx.blockSize\*number of LCAO basis). With this division, the
memory-consumption is reduced and the speed might be accelerated since
some submatrices are super sparse. When your system is small, set it
equal or larger than basis number to maximize the speed. But if your
system is large, keep it to default value is good. Suggest 5\~10 times
bytes memory higher than blockSize\*(number of LCAO basis)\*16.

**type**: `scalar`

**default**: `256`

**example**: `Exx.blockSize = 256`

## Exx.qgridn

Exx.qgridn is a \[1x3\] array determining the q-sampling (reciprocal
space grid) of the Hartree-Fock exchange term. It is analogous to
kpoint.gridn. The grid is forced to be uniform and Gamma-centered. It is
equal to kpoint.gridn by default, but it may usually be choosen coarser
(not finer however) than the k-grid to reduce the computational cost.
This is useful for HSE-like functional computations thanks to the
short-range property of the Coulomb potential. q_i\*L_i \>= 15 is
recommneded for all HSE calculations where q_i the grid number and L_i
the length of the cell along the ith-axis.

**type**: `array`

**default**: `equal to kpoint.grid`

**size**: `[1,3]`

**example**: `Exx.qgridn = [4 4 4]`

## Exx.DMinput

The file path that saves LCAO density matrix. Must be assigned by the
user. Users can use the PBE density-matrix as initial guess for HSE06
calculations

**type**: `string`

**example**: `Exx.DMinput = './results/c_lcao_hse_scf'`

## Exx.VFinput

The file path that saves LCAO exact exchange matrix. Needed for band/dos
calculations

**type**: `string`

**default**: `rho.in`

**example**: `Exx.VFinput = './results/c_lcao_hse_scf'`

## Exx.highGcorr

Perform correction to the electron-repulsion integral for G vectors with
energies higher than Gcutoff.

**type**: `scalar`

**default**: `true`

**allowed**: `true,false`

**example**: `Exx.highGcorr = true`

## Exx.doPostExx

Upon convergence, RESCU recalculated the displaced form of the Fock
potential matrix without BvK zone folding. This can provide more
accurate results when k-sampling is coarse, but sufficient.

**type**: `scalar`

**allowed**: `true,false`

**example**: `Exx.doPostExx = true`
