mirror of https://gitlab.com/QEF/q-e.git
333 lines
7.5 KiB
Modula-2
333 lines
7.5 KiB
Modula-2
input_description -distribution {Quantum ESPRESSO} -package PWscf -program pwcond.x {
|
|
|
|
toc {}
|
|
|
|
intro {
|
|
This program computes the transmittance of a system and/or its
|
|
complex band structure.
|
|
It is controlled through the following variables
|
|
in the namelist inputcond.
|
|
|
|
Structure of the input data:
|
|
============================
|
|
|
|
&INPUTCOND
|
|
...
|
|
/
|
|
}
|
|
|
|
namelist INPUTCOND {
|
|
|
|
var outdir -type CHARACTER {
|
|
info {
|
|
temporary directory (as in PWscf)
|
|
}
|
|
}
|
|
|
|
var prefixt -type CHARACTER {
|
|
info {
|
|
prefix for the file (as in PWscf) containing all the
|
|
regions (left lead + scatt. reg. + right lead)
|
|
}
|
|
}
|
|
|
|
var prefixl -type CHARACTER {
|
|
info {
|
|
prefix for the file containing only the left lead
|
|
}
|
|
}
|
|
|
|
var prefixs -type CHARACTER {
|
|
info {
|
|
prefix for the file containing the scattering region
|
|
}
|
|
}
|
|
|
|
var prefixr -type CHARACTER {
|
|
info {
|
|
prefix for the file containing only the right lead
|
|
}
|
|
}
|
|
|
|
var tran_prefix -type CHARACTER {
|
|
default { none }
|
|
see { recover }
|
|
info {
|
|
if tran_prefix is specified the program will save partial results
|
|
of a transmission calculation (ikind .GE. 1) in a specific
|
|
directory (outdir/tran_prefix.cond_save)
|
|
}
|
|
}
|
|
|
|
var max_seconds -type REAL {
|
|
default { 1.D+7, or 150 days, i.e. no time limit }
|
|
see { tran_prefix }
|
|
info {
|
|
jobs stops after max_seconds elapsed time (wallclock time).
|
|
It can be enabled only if tran_prefix is specified.
|
|
}
|
|
}
|
|
|
|
var recover -type LOGICAL {
|
|
default { .FALSE. }
|
|
see { tran_prefix }
|
|
info {
|
|
restarts a previously interrupted transmission calculation (only if
|
|
tran_prefix was specified). It can also be used to gather partial
|
|
results from a calculation that was split by using start_e,last_e
|
|
and/or start_k,last_k (see corresponding keywords).
|
|
}
|
|
}
|
|
|
|
var band_file -type CHARACTER {
|
|
info {
|
|
file on which the complex bands are saved
|
|
}
|
|
}
|
|
|
|
var tran_file -type CHARACTER {
|
|
info {
|
|
file where the transmission is written
|
|
}
|
|
}
|
|
|
|
var save_file -type CHARACTER {
|
|
info {
|
|
file where the data necessary for PWCOND are written
|
|
so that no prefix files of PW are longer needed
|
|
}
|
|
}
|
|
var fil_loc -type CHARACTER {
|
|
info {
|
|
file on/from which the 2D eigenvalue problem data are
|
|
saved/read
|
|
}
|
|
}
|
|
|
|
var lwrite_cond -type LOGICAL {
|
|
info {
|
|
if .t. save the data necessary for PWCOND in save_file
|
|
}
|
|
}
|
|
|
|
var loop_ek -type LOGICAL {
|
|
info {
|
|
if .t. the energy loop is outside the k-point loop
|
|
}
|
|
}
|
|
|
|
var lread_cond -type LOGICAL {
|
|
info {
|
|
if .t. read the data necessary for PWCOND from save_file
|
|
}
|
|
}
|
|
|
|
var lwrite_loc -type LOGICAL {
|
|
info {
|
|
if .t. save 2D eigenvalue problem result in fil_loc
|
|
}
|
|
}
|
|
|
|
var lread_loc -type LOGICAL {
|
|
info {
|
|
if .t. read 2D eigenvalue problem result from fil_loc
|
|
}
|
|
}
|
|
|
|
var ikind -type INTEGER {
|
|
info {
|
|
The kind of conductance calculation:
|
|
|
|
ikind=0 - just complex band structure (CBS) calculation
|
|
|
|
ikind=1 - conductance calculation with identical
|
|
left and right leads
|
|
|
|
ikind=2 - conductance calculation with different
|
|
left and right leads
|
|
}
|
|
}
|
|
|
|
var iofspin -type INTEGER {
|
|
info {
|
|
spin index for which the calculations are performed
|
|
}
|
|
}
|
|
|
|
var tk_plot -type INTEGER {
|
|
info {
|
|
if > 0, plot T(kx,ky) at each energy in the region [tk_plot x full BZ]
|
|
}
|
|
}
|
|
|
|
var llocal -type LOGICAL {
|
|
info {
|
|
if .t. calculations are done with only local part of PP
|
|
}
|
|
}
|
|
|
|
var bdl -type REAL {
|
|
info {
|
|
right boundary of the left lead (left one is supposed to be at 0)
|
|
(in units of lattice parameter "alat" defined in the scf run)
|
|
}
|
|
}
|
|
|
|
var bds -type REAL {
|
|
info {
|
|
right boundary of the scatt. reg. (left one is at 0 if prefixs
|
|
is used and = bdl if prefixt is used)
|
|
(in units of lattice parameter "alat" defined in the scf run)
|
|
}
|
|
}
|
|
|
|
var bdr -type REAL {
|
|
info {
|
|
right boundary of the right lead (left one is at 0 if prefixr
|
|
is used and = bds if prefixt is used)
|
|
(in units of lattice parameter "alat" defined in the scf run)
|
|
}
|
|
}
|
|
|
|
var nz1 -type INTEGER {
|
|
info {
|
|
the number of subslabs in the slab (to calculate integrals)
|
|
}
|
|
}
|
|
|
|
var energy0 -type REAL {
|
|
info {
|
|
initial energy
|
|
}
|
|
}
|
|
|
|
var denergy -type REAL {
|
|
info {
|
|
energy step (if denergy=0.0 the energy is read from the list)
|
|
}
|
|
}
|
|
|
|
var nenergy -type INTEGER {
|
|
info {
|
|
number of energies
|
|
|
|
WARNING: the energy in input file is given in eV taken from Ef,
|
|
and denergy should be negative
|
|
}
|
|
}
|
|
|
|
var start_e -type INTEGER {
|
|
default { 1 }
|
|
see { last_e }
|
|
info {
|
|
if start_e > 1, the scattering problem is solved only for those
|
|
energies with index between start_e and last_e in the energy list.
|
|
|
|
NOTE: start_e <= last_e and start_e <= nenergy must be satisfied
|
|
}
|
|
}
|
|
|
|
var last_e -type INTEGER {
|
|
default { nenergy }
|
|
see { start_e }
|
|
info {
|
|
index of the last energy to be computed. If last_e > nenergy,
|
|
then last_e will be automatically set to nenergy.
|
|
}
|
|
}
|
|
|
|
var start_k -type INTEGER {
|
|
default { 1 }
|
|
see { last_k }
|
|
info {
|
|
if start_k > 1, the scattering problem is solved only for those
|
|
k-points with index between start_k and last_k in the k-point list.
|
|
In order to recover the full transmission (i.e. integrated over the
|
|
full Brillouin Zone) at the end, perform the partial runs specifying
|
|
a value for tran_prefix (the restart directory), then put all the
|
|
partial transmission files 'transmission_k#_e#' inside a unique
|
|
restart directory and run pwcond.x with recover=.TRUE. (without
|
|
specifying any value for start_k and last_k).
|
|
|
|
NOTE: start_k <= last_k must be satisfied and start_k must also
|
|
not be greater than the actual number of k-point in the list
|
|
(if you compute the grid automatically by specifying the grid
|
|
size and shifts, you can use kpoints.x to check that number).
|
|
}
|
|
}
|
|
|
|
var last_k -type INTEGER {
|
|
default { nenergy }
|
|
see { start_k }
|
|
info {
|
|
index of the last k-point to be computed. If last_k is bigger than the
|
|
actual number of points in the list, then it will be set to that number.
|
|
}
|
|
}
|
|
|
|
var ecut2d -type REAL {
|
|
info {
|
|
2-D cutoff
|
|
}
|
|
}
|
|
var ewind -type REAL {
|
|
info {
|
|
the energy window for reduction of 2D plane wave basis set (in XY)
|
|
}
|
|
}
|
|
|
|
var epsproj -type REAL {
|
|
info {
|
|
accuracy of 2D basis set reduction
|
|
}
|
|
}
|
|
|
|
var orbj_in -type REAL {
|
|
info {
|
|
the initial orbital for projecting the transmission
|
|
}
|
|
}
|
|
|
|
var orbj_fin -type REAL {
|
|
info {
|
|
the final orbital for projecting the transmission
|
|
}
|
|
}
|
|
}
|
|
|
|
card K_and_Energy_Points -nameless 1 {
|
|
syntax {
|
|
line {
|
|
var nkpts -type INTEGER {
|
|
info {
|
|
Number of k_\perp points
|
|
}
|
|
}
|
|
}
|
|
table k_points {
|
|
rows -start 1 -end nkpts {
|
|
colgroup -type REAL {
|
|
col kx
|
|
col ky
|
|
col weight
|
|
info {
|
|
k-point coordinates and weights
|
|
}
|
|
}
|
|
}
|
|
}
|
|
line {
|
|
var nenergy -type INTEGER {
|
|
info {
|
|
number of energy points
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|