Reference manual

Features of the main program of Superconducting-Toolkit, sctk.x, are as follows: Also, there is a script twingrid to generate the double k-point grid where Kohn-Sham orbitals for the calculation of the Coulomb interaction are computed.

Usage


$ mpiexec options PATH/sctk.x -in input_file
    

Input-file format

The format of the input file is as follows:

&CONTROL
  prefix = 
  outdir = 
  calculation = 
/
&KEL
  start_q =
  last_q =
  nci =
  laddxc =
  ecutfock =
  nq1 =
  nq2 =
  nq3 =
  lsf
/
&SCDFT
  temp =
  fbee =
  lbee =
  xic =
  nmf =
  nx =
  ne =
  emin =
  emax =
  electron_maxstep =
  conv_thr =
  fildyn =
  spin_fluc =
/
  
These parameters can be written in random order in each namelist. If a parameter is omitted, the default value is used.

Namelist CONTROL

ParameterTypeDefault valueDescription
prefixString"pwscf"It must be the same as prefix in the input of pw.x.
outdirString"./"It must be the same as outdir in the input of pw.x.
calculationString"kel"Type of calculation
lshift_qThree integers, 0 or 11,1,1Shift of the q grid along each reciprocal lattice vector. 0: no shift, 1: shifted by a half grid.

Namelist KEL

Parameters used for calculation = "kel".
ParameterTypeDefault valueDescription
start_qPositive integer1First q for computing screened Coulomb interaction and spin fluctuation
last_qPositive integerNumber of q in Irreducible BZLast q for computing screened Coulomb interaction and spin fluctuation
laddxc0 or 10Specify the approximation used in the calculation of screened Coulomb interaction. 0 : RPA, 1: Adiabatic LDA.
lsf0 or 10Whether the spin-fluctuation [3] is computed (1) or not (0)
ecutfockRealSame as pw.xCutoff of plane waves for the polarization function [Ry].
nq1, nq2, nq3Positive integerSame as k mesh of a2FsaveThe k mesh of the Kohn-Sham orbitals. It must be the same as the twingrid.x input.
nciPositive integer5The number of Matsubara frequencies of screened Coulomb interactions.

Namelist SCDFT

Parameters used when calculation = "scdft", etc.
ParameterTypeDefault valueDescription
tempPositive real number0.1Temperature (Kelvin).
fbeePositive integer1The first band in the gap equation.
lbeePositive integernbnd in pw.xThe last band in the gap equation.
xicReal number-1.0Parameter for gap-function extrapolation method. Ry unit. When this is lower than 0.0, gap function extrapolation is not used (in default this extrapolation is not used).
nmfInteger10The number of Matsubara frequencies in the calculation of the Coulomb kernel.
nxPositive integer100The number of auxiliary energy grid in the vicinity of the Fermi level.
nePositive integer50Used only in the calculation of quasi-particle DOS. The number of energy grid for quasi particle density of states.
eminPositive real number1.0e-7Minimum energy scale parameter for auxiliary energy grid. Ry unit.
emaxPositive real number5.0Used only in the calculation of quasi-particle DOS. The maximum energy where QPDOS is computed. meV unit.
electron_maxstepPositive integer100The maximum iteration number for solving the gap equation.
conv_thrPositive real number1.0e-15The convergence threshold for the gap equation. When the norm of the difference between the new and the old gap function becomes lower than it, the system is thought to be converged. Ry unit.
filedynString"matdyn"It must be the same as filedyn in ph.x.
spin_flucLogical.False.If .True., the spin-fluctuation [3] is included.
scdft_kernelPositive integer11: Lüders2005 [4], 2: Sanna2020 [5]
lz_coulombLogical.False.Coulomb renormalization [6]
l_vc_vsf0,1,22For $V_\textrm{C}(\omega)$ and $V_\textrm{sf}(\omega)$, 0:Ignore them (el-ph only), 1:Ignore $\omega$-dependence (static), 2:dynamical.
q_ffloReal(3)0.0,0.0,0.0Momentum of the order parameter in reciprocal fractional unit.
initial_deltaString"random-nodeless"Initial-guess type of k-dependent gap function. Choose from "random-nodeless", "random-nodal", "constant", "band-constant".

Data files

The following files are read/written by sctk.x:

{prefix}.xml

It contains information about lattice constant, etc. It is generated by pw.x.

{prefix}.a2Fsave

It contains the Kohn-Sham energy, information of k mesh, and symmetry operations. It is generated by pw.x with la2f=.true.

{prefix}.save/wfc*.dat

It contains Kohn-Sham orbitals at each k point. * should be the index of k point. It is generated by pw.x.

{prefix}.vel*

It contains coefficients of the Chebyshev interpolation of the screened Coulomb interaction at each q point. * should be the index of q point. It is generated by sctk.x with calculation="kel".

{prefix}_ph0/{prefix}.q_*/{prefix}.elph*

It contains electron-phonon interactions and phonon frequencies at each q point. * should be the index of q point. It is generated by ph.x with electron_phonon="scdft_input".

{prefix}_lambda.frmsf, {prefix}_mu.frmsf

Data files for FermiSurfer for displaying the mass-renormalization factor $\lambda_{n {\bf k}}$ on the Fermi surface. It is generated by sctk.x with calculation="lambda_mu_k".

{prefix}.scgap

It contains the superconducting gap functions $\Delta_{n {\bf k}}$, associated Kohn-Sham energy $\xi_{n {\bf k}}$, integration weights, band indices, k-indices, and the renormalization $Z_{n {\bf k}}$. It is generated by sctk.x with calculation="scdft".

{prefix}.qpdos

First column: quasiparticle energy (meV unit), Second column: quasiparticle density of states (Ry-1 unit). It is generated by sctk.x with calculation="qpdos".

{prefix}_delta.frmsf, {prefix}_Z.frmsf

Data files for FermiSurfer for displaying the superconducting gaps $\Delta_{n {\bf k}}$ and the renormalization $Z_{n {\bf k}}$ on the Fermi surface. It is generated by sctk.x with calculation="deltaf".

Type of calculation

We can specify the type of calculation by inputting the following string into the parameter calculation.

kel : Screened Coulomb interaction / spin-fluctuation

The following files must be put on the directory where the program runs. The following files are generated in the directory where the program runs.

lambda_mu_k : Electron-phonon parameter at each orbital

The following files must be put on the directory where the program runs. The following files are generated in the directory where the program runs.

scdft : SCDFT calculation at specific temperature

The following files must be put on the directory where the program runs. The following files are generated in the directory where the program runs.

scdft_tc : Calculation of transition temperature with bisection method

The following files must be put on the directory where the program runs. The following files are generated in the directory where the program runs.

qpdos : Quasi-particle density of states

The following files must be put on the directory where the program runs. The following files are generated in the directory where the program runs.

deltaf : Output FermiSurfer file of gap function

The following files must be put on the directory where the program runs. The following files are generated in the directory where the program runs.

ultrasonic : Ultrasonic attenuation

The following files must be put on the directory where the program runs.

twingrid.x

This script generates the double k-point grid for pw.x. The output orbitals of this pw.x run are used by sctk.x with calculation="kel".

Usage


$ bash PATH/twingrid.x nk1 nk2 nk3 dk1 dk2 dk3 >> input_file_for_pw
    
nk1, nk2, nk3 indicate the number of k points along each reciprocal lattice vector. dk1, dk2, dk3 are 0 or 1, and specify whether the grid is shifted by a half grid (1) or not (0) along each reciprocal lattice vector.
Typically dk1 = dk2 = dk3 = 1 is used. For hexagonal or simple tetragonal lattices, it is recommended to set 1 only along the z axis and 0 for the others.

Standard output

The standard output is as follows:

K_POINTS crystal
Total_number_of_k
k_vector1 1.0
k_vector2 1.0
k_vector3 1.0
  :
    
It generates two k grids; the first one contains the $\Gamma$ point, and the other is translated by a half grid. In the above usage, the standard output of this utility is redirected to the end of the input file of pw.x.