# Recommendations¶

## Model Hamiltonian¶

### Relativistic model¶

By default we do not use relativistic effects. The best approximation is to use spin-orbit coupling, however that is computationally very expensive. The scalar relativistic option comes for free, and for light elements will give very similar results as non-relativistic theory, and for heavy ones better results w. r. t. experiment. We recommend to always use this (scalar ZORA). To go beyond to the spin-orbit level can be important when there are heavy elements with *p* valence electrons. Also the band gap appears quite sensitive for the spin-orbit effect.

### XC functional¶

The default functional is the LDA, that gives quite good geometries but terrible bonding energies. GGA functionals are usually better at bonding energies, and among all possibilities the PBE is a common choice. Using a GGA is not a lot more expensive than using plain LDA. For the special problem of band gaps there are a number Model Hamiltonians available (eg. TB-mBJ and GLLC-SC). The Unrestricted option will be needed when the system is not closed shell. For systems interacting through dispersion interactions it is advised to use the Grimme corrections. Unfortunately there is no clear-cut answer to this problem, and one has to try in practice what works best.

## Technical Precision¶

The easiest way to control the technical precision is via the NumericalQuality key. One can also independently tweak the precision of specific technical aspects, e.g.:

```
BeckeGrid
Quality Good ! tweak the grid
End
KSpace
Quality Good ! tweak the k-space grid
End
ZlmFit
Quality Normal ! tweak the density fit
End
SoftConfiment
Quality Basic ! tweak the radial confinement of basis functions
End
```

Here are per issue hints for when to go for a better quality (but it is by no means complete)

**BeckeGrid**: Increase quality if there are geometry convergence problems. Also negative frequencies can be caused by an inaccurate grid.**KSpace**: Increase quality for metals**ZlmFit**: Increase quality if the SCF does not converge.**SoftConfinment**: Increase quality for weakly bonded systems, such as layered materials

## Performance¶

The performance is influenced by the model Hamiltonian and basis set, discussed above. Here follow more technical tips.

### Reduced precision¶

One of the simplest things to try is to run your job with NumericalQuality Basic. For many systems this will work well, and it can be used for instance to pre-optimize a geometry. However, it can also cause problems such as problematic SCF convergence, geometry optimization, or simply bad results. See above how to tweak more finely the Technical Precision.

### Memory usage¶

Another issue that is the choice CPVector (say the vector length of you machine) and the number of k-points processed together during the calculation of the parameters. In the output you see the used value

```
=========================
= Numerical Integration =
=========================
TOTAL NR. OF POINTS 4738
BLOCK LENGTH 256
NR. OF BLOCKS 20
MAX. NR. OF SYMMETRY UNIQUE POINTS PER BLOCK 35
NR. OF K-POINTS PROCESSED TOGETHER IN BASPNT 5
NR. OF SYMMETRY OPERATORS (REAL SPACE) 48
SYMMETRY OPERATORS IN K-SPACE 48
```

If you want to change the default settings you can specify the `CPVector`

and `KGRPX`

keywords. The optimal combination depends on the calculation, on the machine. Example

```
CPVector 512
KGRPX 3
```

**Note**: bigger is not necessarily better.

### Reduced basis set¶

When starting work on a large unit cell it is wise to start with a DZ basis. With such a basis, one can test for instance the quality of the k-space integration. However, for most properties, the DZ basis is probably not very accurate. You can next go for the DZP (if available) or TZP basis set, but that may be a bit of overkill.

### Frozen core for 5d elements¶

The standard basis sets TZ2P are not optimal for third-row transition elements. Sometimes you need to relax the frozen core dependency criterion

```
Dependency Core=0.8 ! The frozen core overlap may not be exactly 1
```