Tutorial

The following tutorial should be done in SCTK/examples/Al/.

SCF calculation of the charge density

Input file: scf.in

Program: pw.x (QuantumESPRESSO)

$ export OMP_NUM_THREADS=1
$ mpiexec -np 29 PATH/pw.x -nk 29 -in scf.in > scf.out

Important parameters

calculation = “scf”

Self-consistent calculation is performed with pw.x.

Note

We can perform first whether Calculations of phonon and electron-phonon interaction or coulomb .

Calculations of phonon and electron-phonon interaction

Calculation of phonon frequency and deformation potential

Input file: ph.in

Program: ph.x (QuantumESPRESSO)

$ mpiexec -np 29 PATH/ph.x -nk 29 -in ph.in > ph.out

Important parameters

fildvscf = ‘dv’

The file name for the deformation potential. It will be used in the next step.

ldisp = .true.

We compute phonons on the uniform \({\bf q}\) grid.

lshift_q = .true.

We shift the \({\bf q}\) grid for avoiding the singularity at \(\Gamma\) point.

nq1, nq2, nq3

The \(q\) grid.

Calculation of electron-phonon interaction

Input file: elph.in

Program: ph.x (QuantumESPRESSO)

$ mpiexec -np 8 PATH/ph.x -nk 8 -in epmat.in > epmat.out

Important parameter

electron_phonon = “scdft_input”

compute the electron-phonon vertex from the deformation potential and the dynamical matrix that are already computed.

elph_nbnd_min, elph_nbnd_max

Since the electron-phonon interaction between the electronic states only in the vicinity of the Fermi surface affect the gap equation, we can reduce bands to decrease the numerical cost. The upper- and the lower limit of the bands that contain the Fermi level can be obtained by a program fermi_velocity.x in QuantumESPRESSO.

Calculation of screened Coulomb interaction/Spin-fluctuation

Non-SCF calculation with a dense k grid

Input file: nscf.in

Program: pw.x (QuantumESPRESSO)

$ mpiexec -np 32 PATH/pw.x -nk 32 -in nscf.in > nscf.out

Important parameter

calculation = “nscf”

Perform non self-consistent calculation.

la2f = .true.

Generate a file pwscf.a2Fsave which contains Kohn-Sham energy.

nbnd

For the calculating of the polarization function, we have to compute some empty states. We do not have to include so many empty state as the calculation of the insulator. Typically, the number of empty states becomes the same as the number of occupied states.

Calculation of wave functions for the screened Coulomb interaction

Input file: twin.in

Program: pw.x (QuantumESPRESSO)

$ bash PATH/twingrid.x 4 4 4 >> twin.in
$ mpiexec -np 32 PATH/pw.x -nk 32 -in twin.in > twin.out

Important parameter

calculation = “bands”

Generated \(k\) points by using twingrid.x and redirect it to the input file as above. This \(k\) mesh must be the same as nq1, nq2, and nq3 in the input of ph.x for Calculation of electron-phonon interaction. Then run pw.x with this input file.

Calculation of screened Coulomb interaction

Input file: sctk.in

Program: sctk.x

$ mpiexec -np 32 PATH/sctk.x -nk 32 -in sctk.in > kel.out

Important parameters

calculation = “kel”

Calculation of screened Couplmb / spin-fluctuation interaction.

nq1, nq2, nq3

They must be the same as the \({\bf k}\) in the previous step.

SCDFT SCF calculation

After all calculation in Calculations of phonon and electron-phonon interaction and Calculation of screened Coulomb interaction/Spin-fluctuation finished, we can start SCDFT calculation.

Input file: sctk.in (Should be modified)

Program: sctk.x

$ export OMP_NUM_THREADS=32
$ mpiexec -np 1 PATH/sctk.x < sctk.in > tc.out

Important parameters

calculation = “scdft_tc”

By changing this part, we change the type of calculation. Here, we obtain \(T_c\) by the bisection method.

Further analysis

By changing this part, we can perform the following analysis.

Input file: sctk.in (Should be modified)

Program: sctk.x

$ mpiexec -np 1 PATH/sctk.x < sctk.in

Important parameters

calculation = “lambda_mu_k”

Output data for FermiSurfer to plot \(\lambda_{n {\bf {\bf k}}}\).

calculation = “scdft”

Perform SCDFT calculation at a temperature, then output a file delta.dat which is used by the following post-processes.

temp

Temperature (Kelvin). If this is set to 0 or negative values, sctk.x employs the special algorithm for the exact zero Kelvein.

calculation = “deltaf”

Output data for FermiSurfer to plot \(\Delta_{n {\bf k}}\).

calculation = “qpdos”

Quasi particle DOS. It requires long computational time.

Note

There is another tutorial in SCTK/examples/MgB2/. Please note that in these tutorials, the number of \({\bf k}\) points and bands and the pseudopotentials are not sufficient for the production level.