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: Either of the following two steps, Calculations of phonon and electron-phonon interaction and Calculation of screened Coulomb interaction/Spin-fluctuation, can be performed first.
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 q grid.
- lshift_q = 1, 1, 1: We shift the q grid for avoiding the singularity at the $\Gamma$ point.
- nq1, nq2, nq3: The q grid.
Calculation of electron-phonon interaction
Input file: epmat.in
Program: ph.x (QuantumESPRESSO)
$ mpiexec -np 8 PATH/ph.x -nk 8 -in epmat.in > epmat.out
Important parameters
- 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 only the electron-phonon interaction between the electronic states
in the vicinity of the Fermi surface affects 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 parameters
- calculation = "nscf":
Perform non self-consistent calculation.
- la2f = .true.:
Generate a file pwscf.a2Fsave which contains the Kohn-Sham energy.
- nbnd:
For the calculation of the polarization function,
we have to compute some empty states.
We do not have to include so many empty states
as in the calculation of insulators.
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 parameters
- calculation = "bands":
Generate k points by using
twingrid.x and redirect it to the end of 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 Coulomb / spin-fluctuation interaction.
- lshift_q = 1, 1, 1: We shift the q grid for avoiding the singularity at the $\Gamma$ point.
- nq1, nq2, nq3:
They must be the same as the k grid in the previous step.
SCDFT SCF calculation
After all calculations in Calculations of phonon and electron-phonon interaction and
Calculation of screened Coulomb interaction/Spin-fluctuation are finished,
we can start the 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 the parameter calculation, we can perform the following analyses.
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 k}}$.
- calculation = "scdft":
Perform SCDFT calculation at a temperature,
then output a file {prefix}.scgap which is used by the following post-processes.
- temp:
Temperature (Kelvin).
If this is set to 0 or a negative value,
sctk.x employs the special algorithm for the exact zero Kelvin.
- 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
k points and bands and the pseudopotentials are
not sufficient for the production level.
New: user-contributed examples of Pb with production-level parameters are provided in SCTK/examples/Pb.
Large computing resources are needed for running these contributions.