## method

Specify the type of electronic Hamiltonian for periodic SCF (pSCF) calculations.

**Input block**

**Short variant**

```
method:
[hamiltonian]
/
[functional]
```

**Extended variant**

`method:`

`functional: [functional]`

`hamiltonian: [hamiltonian]`

**Default**

`none`

**Example**

`method: mdks/pbe`

```
method:
hamiltonian: mdks
functional: pbe
```

### Note

- The explicit definition of [functional] is mandatory for all [hamiltonian]s of the Kohn–Sham type.

## geometry

Specify the coordinates and types of atoms in the reference unit cell.

**Input block**

**Extended variant**

`geometry:`

`[element-symbol] [x] [y] [z]`

**Default**

`none`

**Example**

```
geometry:
H -0.756690 +0.466877 0.000000
H +0.756690 +0.466877 0.000000
O +0.000000 -0.119015 0.000000
```

### Note

- Angstroms are used as default units for geometry.

- The geometry can be provided either in the Cartesian (xyz) format or in the Z-matrix format.

### Tip

- The default units can be changed by the keyword "geo-units".

## lattice

Specify the primitive Bravais lattice vectors for 1D, 2D, or 3D systems.

**Input block**

**Extended variant**

`lattice:`

```
#1D systems
a1: [x]
```

```
#2D systems
a1: [x] [y]
a2: [x] [y]
```

```
#3D systems
a1: [x] [y] [z]
a2: [x] [y] [z]
a3: [x] [y] [z]
```

**Default**

`none`

**Example**

```
#1D
lattice:
a1: 1.5
#2D
lattice:
a1: 1.0 0.0
a2: 0.0 1.2
#3D
lattice:
a1: 1.0 0.0 0.0
a2: 0.0 1.1 0.0
a3: 0.0 0.0 1.2
```

### Note

- Angstroms are used as default units for lattice.

### Tip

- The default units can be changed by the keyword "geo-units".

## basis

Specify atomic orbital basis sets.

**Input block**

**Short variant**

```
basis:
[basis-name]
```

**Extended variant**

`basis:`

`all : [basis-name]`

`[element-index] : [basis-name]`

`[element-symbol]: [basis-name]`

**Default**

`none`

**Example**

In this example, orbital ucc-pvdz basis is assigned to all elements.

`basis: ucc-pvdz`

In this example, the orbital basis "upc-1" is assigned first to all elements. Then, the basis is replaced by "ucc-pvdz" for the 4th element (as specified in the input block "geometry") and "dyall-vdz" for all bromine atoms.

```
basis:
all : upc-1
4 : ucc-pvdz
Br : dyall-vdz
```

### Note

- In relativistic calculations the orbital basis must be in an uncontracted form. All basis sets from the internal program library are of this form.

### Tip

- The complete list of available [basis-name]s can be found here.

## auxbas

Specify atomic auxiliary basis sets.

**Input block**

**Short variant**

```
auxbas:
[basis-name]
```

**Extended variant**

`auxbas:`

`all : [basis-name]`

`[element-index] : [basis-name]`

`[element-symbol]: [basis-name]`

**Default**

`none`

**Example**

In this example, the auxiliary basis "ucc-pvtz" is assigned to all elements.

`auxbas: ucc-pvtz`

In this example, the auxiliary basis "upc-1" is assigned first to all elements. Then, the basis is replaced by "ucc-pvdz" for the 4th element (as specified in the input block "geometry") and "dyall-vdz" for all bromine atoms.

```
auxbas:
all : upc-1
4 : ucc-pvdz
Br : dyall-vdz
```

### Note

- The use of auxiliary basis makes sense only in connection with an approximative evaluation of electron repulsion integrals (ERI) by means of the resolution-of-identity (RI) technique. This is controled by the keyword "acceleration" in the "peri" block.

- The names of matching orbital and auxiliary basis sets are identical. Therefore, one can omit the definition of auxiliary basis, provided the orbital basis was selected from the internal program library. In this case, the program will assign the auxiliary basis automatically.

## peri

Specify details associated with the evaluation of periodic electron repulsion integrals (PERI) and related two-electron Fock contributions.

**Input block**

**Short variant**

```
peri:
[peri]
```

**Extended variant**

`peri:`

`threshold: [real]`

`thr-relevant-omega: [real]`

`thr-gauss-extent: [real]`

`well-separated: [int]`

`lmax: [int]`

`box-length: [real]`

`acceleration: [string]`

**Default**

```
peri:
threshold: 1.e-11
thr-relevant-omega: 1.e-12
thr-gauss-extent: 1.e-9
well-separated: 2 (RI-J), 3 (CFMM)
lmax: 20
box-length: 2.0
acceleration: none
```

**Example**

`peri: ri-j`

```
peri:
threshold: 1.e-10
well-separated: 5
lmax: 15
box-length: 4.0
acceleration: cfmm
```

## grid

Specify atomic grids for the numerical evaluation of exchange-correlation DFT contributions.

**Input block**

**Short variant**

```
grid:
[grid]
```

**Extended variant**

`grid:`

`all: [string]`

`[element-symbol]: [string]`

`[element-index]: [string]`

`...`

**Default**

`grid: solids`

**Example**

`grid: large`

```
grid:
C: solids
7: large
```

### Note

- It is strongly recommended to use "solids" option for all atoms, since it does not use adaptive grids for either angular or radial parts.

- There can be multiple instances of [element-symbol] and [element-index] in the grid block.

- While lines in the grid block can be mixed, they are always processed in the following order: "all", "element-symbol", and "element-index" keywords.

- The order of processing the data matters, since the latter lines rewrite the data of the former lines. This way one can easily set the same grid for all carbons except the carbon number 7 (see example).

## kmesh

Define the momentum-space grid by specifying the number of k points in each dimension.

**Input line****Default**

```
kmesh:
[int]x[int]x[int]
```

`kmesh: 1x1x1`

**Example**

`kmesh: 11x11x7`

### Note

- The k-point grid is always centered on the gamma point.

### Tip

- For studies of 2D systems, it is sufficient to have only 1 k point in the non-periodic dimension, e.g. one can choose a grid of 15x15x1.

### Warning

- All three integers must be positive odd numbers.

## convergence

Specify the convergence threshold for pSCF iterations.

**Input line****Default**

```
convergence:
[real]
```

`convergence: 1.0e-05`

**Example**

`convergence: 2.5e-5`

### Tip

- We recommend to set the threshold value to ~1.0e-4 in cases when a loose SCF convergence is sufficient, such as in initial guess calculations, etc. For productive runs, however, the thresholds setup within the range 1.0e-5—1.0e-6 is advised. Tight convergence in the SCF is considered for thresholds below 1.0e-7.

## maxiterations

Specify the maximum number of pSCF iterations.

**Input line****Default**

```
maxiterations:
[integer]
```

`maxiterations: 30`

**Example**

`maxiterations: 25`

## thr-basis-proj

Specify the threshold for projecting out redundant basis functions in the orthonormal basis used in the SCF calculations.

**Input line****Default**

```
thr-basis-proj:
[real]
```

`thr-basis-proj: 1.0e-07`

**Example**

`thr-basis-proj: 1.0e-8`

### Note

- The SCF algorithm uses Lowdin Canonical Orthonormalization which allows for identifying and removing basis functions (in the orthonormal basis) that are redundant and cause issues with overcompleteness (linear dependences)

### Warning

- Too small (or zero) threshold causes numerical instabilities in some systems where standard GTO basis sets are overcomplete when used for solids.

- Setting the threshold too large in the relativistic 4C calculations can cause breaking of the RKB condition.

## nc-model

Specify the nuclear charge distribution model.

## cscale

Scale the speed of light by a factor.

**Input line****Default**

```
cscale:
[real]
```

`cscale: 1.0`

**Example**

`cscale: 20.0`

### Note

- The scaling factor should be a positive real number. By setting cscale < 1.0, the speed of light decreases and periodic systems turn into a hyper-relativistic regime where all relativistic terms become amplified. On the other hand, by setting cscale > 1.0 the speed of light increases and periodic systems approach their non-relativistic limit.

### Warning

- Due to numerical reasons, the users are advised to set the cscale parameter within the limits: 0.1 < cscale < 50.0.

## soscale

Scale the spin-orbit operators by a factor.

**Input line****Default**

```
soscale:
[real]
```

`soscale: 1.0`

**Example**

`soscale: 0.0`

### Note

- The scaling factor should be a positive real number. By setting soscale = 0.0, one can switch off the spin-orbit interaction completely.

### Warning

- Due to numerical reasons, the users are advised to set the soscale parameter within the limits: 0.0 <= soscale <= 1.0.

## checkpoint

Specify the frequency of data checkpointing during pSCF iterations.

**Input line****Default**

```
checkpoint:
[integer]
```

`checkpoint: 5`

**Example**

`checkpoint: 2`

### Tip

- The importance of more frequent checkpointing -- storing intermediate SCF data to disk for the later reuse as a restart -- increases with the system size.

## metal-bands

Specify the number of bands that are not automatically assumed to be fully occupied (or unoccupied).

**Input line****Default**

```
metal-bands:
[integer]
```

`metal-bands: 10`

**Example**

`metal-bands: 0`

### Note

- This only affects the disk/memory access and storage that are needed when the occupancy of bands is not known for all k points.

- For instance, for many core orbitals, we can assume full (double) occupation for all k points - the SCF solver can handle such cases on-the-fly without accessing the disk.

- The number set here should not affect majority of calculations, for gapped systems it is possible to set it to 0 to avoid disk access and memory usage altogether.

## memory

Specify the available RAM memory (in GB) for each computational node that is used for storing k-space matrices.

**Input line****Default**

```
memory:
[integer]
```

`memory: 32`

**Example**

`memory: 64`

### Note

- If the memory required for storing k-space matrices exceeds this number, the matrices will be stored to disk instead.

## Latest Publications

### Book chapter on relativistic real-time electron dynamics

### Book chapter on relativistic theory of EPR and (p)NMR

## Useful Links

## Our Contacts

Department of Chemistry

UiT The Arctic University of Norway

Tromsø, NO-9037 Norway

Email: info@respectprogram.eu