mirror of https://gitlab.com/QEF/q-e.git
351 lines
14 KiB
Plaintext
351 lines
14 KiB
Plaintext
*** FILE AUTOMATICALLY CREATED: DO NOT EDIT, CHANGES WILL BE LOST ***
|
|
|
|
------------------------------------------------------------------------
|
|
INPUT FILE DESCRIPTION
|
|
|
|
Program: projwfc.x / PWscf / Quantum ESPRESSO (version: 7.3.1)
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
Purpose of projwfc.x:
|
|
projects wavefunctions onto orthogonalized atomic wavefunctions,
|
|
calculates Lowdin charges, spilling parameter, projected DOS
|
|
(separated into up and down components for LSDA). Alternatively:
|
|
computes the local DOS(E) integrated in volumes given in input
|
|
(see "tdosinboxes") or k-resolved DOS (see "kresolveddos").
|
|
Atomic projections are written to file "atomic_proj.xml".
|
|
|
|
Structure of the input data:
|
|
============================
|
|
|
|
&PROJWFC
|
|
...
|
|
/
|
|
|
|
|
|
|
|
========================================================================
|
|
NAMELIST: &PROJWFC
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: prefix
|
|
|
|
Type: CHARACTER
|
|
Description: prefix of input file produced by pw.x (wavefunctions are needed)
|
|
Default: 'pwscf'
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: outdir
|
|
|
|
Type: CHARACTER
|
|
Description: directory containing the input data, i.e. the same as in pw.x
|
|
Default: value of the ESPRESSO_TMPDIR environment variable if set;
|
|
current directory ('./') otherwise
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: ngauss
|
|
|
|
Type: INTEGER
|
|
Default: 0
|
|
Description: Type of gaussian broadening:
|
|
0 ... Simple Gaussian (default)
|
|
1 ... Methfessel-Paxton of order 1
|
|
-1 ... "cold smearing" (Marzari-Vanderbilt-DeVita-Payne)
|
|
-99 ... Fermi-Dirac function
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: degauss
|
|
|
|
Type: REAL
|
|
Default: 0.0
|
|
Description: gaussian broadening, Ry (not eV!)
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variables: Emin, Emax
|
|
|
|
Type: REAL
|
|
Default: (band extrema)
|
|
Description: min & max energy (eV) for DOS plot
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: DeltaE
|
|
|
|
Type: REAL
|
|
Description: energy grid step (eV)
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: lsym
|
|
|
|
Type: LOGICAL
|
|
Default: .true.
|
|
Description: if .true. the projections are symmetrized,
|
|
the partial density of states are computed
|
|
if .false. the projections are not symmetrized, the partial
|
|
DOS can be computed only in the k-resolved case
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: diag_basis
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: if .false. the projections of Kohn-Sham states are
|
|
done on the orthogonalized atomic orbitals
|
|
in the global XYZ coordinate frame.
|
|
if .true. the projections of Kohn-Sham states are
|
|
done on the orthogonalized atomic orbitals
|
|
that are rotated to the basis in which the
|
|
atomic occupation matrix is diagonal
|
|
(i.e. local XYZ coordinate frame).
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: pawproj
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: if .true. use PAW projectors and all-electron PAW basis
|
|
functions to calculate weight factors for the partial
|
|
densities of states. Following Bloechl, PRB 50, 17953 (1994),
|
|
Eq. (4 & 6), the weight factors thus approximate the real
|
|
charge within the augmentation sphere of each atom.
|
|
Only for PAW, not implemented in the noncolinear case.
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: filpdos
|
|
|
|
Type: CHARACTER
|
|
Description: prefix for output files containing PDOS(E)
|
|
Default: (value of "prefix" variable)
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: filproj
|
|
|
|
Type: CHARACTER
|
|
Default: (standard output)
|
|
Description: file containing the projections
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: lwrite_overlaps
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: if .true., the overlap matrix of the atomic orbitals
|
|
prior to orthogonalization is written to "atomic_proj.xml".
|
|
Does not work together with parallel diagonalization:
|
|
for parallel runs, use "mpirun -np N projwfc.x -nd 1 ... "
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: lbinary_data
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: CURRENTLY DISABLED.
|
|
if .true., write atomic projections to a binary file.
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: kresolveddos
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: if .true. the k-resolved DOS is computed: not summed over
|
|
all k-points but written as a function of the k-point index.
|
|
In this case all k-point weights are set to unity
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: tdosinboxes
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: if .true. compute the local DOS integrated in volumes
|
|
|
|
Volumes are defined as boxes with edges parallel to the unit cell,
|
|
containing the points of the (charge density) FFT grid included within
|
|
"irmin" and "irmax", in the three dimensions:
|
|
|
|
from "irmin"(j,n) to "irmax"(j,n) for j=1,2,3 (n=1,"n_proj_boxes").
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: n_proj_boxes
|
|
|
|
Type: INTEGER
|
|
Default: 1
|
|
Description: number of boxes where the local DOS is computed
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: irmin(i,n_proj_boxes), (i,n_proj_boxes)=(1,1) ... (3,n_proj_boxes)
|
|
|
|
Type: INTEGER
|
|
Default: 1 for each box
|
|
Description: first point of the given box
|
|
|
|
BEWARE: "irmin" is a 2D array of the form: "irmin"(3,"n_proj_boxes")
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: irmax(i,n_proj_boxes), (i,n_proj_boxes)=(1,1) ... (3,n_proj_boxes)
|
|
|
|
Type: INTEGER
|
|
Default: 0 for each box
|
|
Description: last point of the given box;
|
|
( 0 stands for the last point in the FFT grid )
|
|
|
|
BEWARE: "irmax" is a 2D array of the form: "irmax"(3,"n_proj_boxes")
|
|
+--------------------------------------------------------------------
|
|
|
|
+--------------------------------------------------------------------
|
|
Variable: plotboxes
|
|
|
|
Type: LOGICAL
|
|
Default: .false.
|
|
Description: if .true., the boxes are written in output as xsf files with
|
|
3D datagrids, valued 1.0 inside the box volume and 0 outside
|
|
(visualize them as isosurfaces with isovalue 0.5)
|
|
+--------------------------------------------------------------------
|
|
|
|
===END OF NAMELIST======================================================
|
|
|
|
|
|
|
|
:::: Notes
|
|
|
|
|
|
::: Format of output files
|
|
|
|
Projections are written to standard output, and also to file
|
|
"filproj" if given as input.
|
|
|
|
The total DOS and the sum of projected DOS are written to file
|
|
"filpdos".pdos_tot.
|
|
|
|
* The format for the collinear, spin-unpolarized case and the
|
|
non-collinear, spin-orbit case is:
|
|
E DOS(E) PDOS(E)
|
|
...
|
|
|
|
* The format for the collinear, spin-polarized case is:
|
|
E DOSup(E) DOSdw(E) PDOSup(E) PDOSdw(E)
|
|
...
|
|
|
|
* The format for the non-collinear, non spin-orbit case is:
|
|
E DOS(E) PDOSup(E) PDOSdw(E)
|
|
...
|
|
|
|
In the collinear case and the non-collinear, non spin-orbit case
|
|
projected DOS are written to file "filpdos".pdos_atm#N(X)_wfc#M(l),
|
|
where N = atom number , X = atom symbol, M = wfc number, l=s,p,d,f
|
|
(one file per atomic wavefunction found in the pseudopotential file)
|
|
|
|
* The format for the collinear, spin-unpolarized case is:
|
|
E LDOS(E) PDOS_1(E) ... PDOS_2l+1(E)
|
|
...
|
|
where LDOS = \sum m=1,2l+1 PDOS_m(E)
|
|
and PDOS_m(E) = projected DOS on atomic wfc with component m
|
|
|
|
* The format for the collinear, spin-polarized case and the
|
|
non-collinear, non spin-orbit case is as above with
|
|
two components for both LDOS(E) and PDOS_m(E)
|
|
|
|
In the non-collinear, spin-orbit case (i.e. if there is at least one
|
|
fully relativistic pseudopotential) wavefunctions are projected
|
|
onto eigenstates of the total angular-momentum.
|
|
Projected DOS are written to file "filpdos".pdos_atm#N(X)_wfc#M(l_j),
|
|
where N = atom number , X = atom symbol, M = wfc number, l=s,p,d,f
|
|
and j is the value of the total angular momentum.
|
|
In this case the format is:
|
|
E LDOS(E) PDOS_1(E) ... PDOS_2j+1(E)
|
|
...
|
|
|
|
If "kresolveddos"=.true., the k-point index is prepended
|
|
to the formats above, e.g. (collinear, spin-unpolarized case)
|
|
ik E DOS(E) PDOS(E)
|
|
|
|
All DOS(E) are in states/eV plotted vs E in eV
|
|
|
|
|
|
|
|
::: Orbital Order
|
|
|
|
Order of m-components for each l in the output:
|
|
|
|
1, cos(phi), sin(phi), cos(2*phi), sin(2*phi), .., cos(l*phi), sin(l*phi)
|
|
|
|
where phi is the azimuthal angle: x=r cos(theta)cos(phi), y=r cos(theta)sin(phi)
|
|
This is determined in file upflib/ylmr2.f90 that calculates spherical harmonics.
|
|
|
|
for l=1:
|
|
1 pz (m=0)
|
|
2 px (real combination of m=+/-1 with cosine)
|
|
3 py (real combination of m=+/-1 with sine)
|
|
|
|
for l=2:
|
|
1 dz2 (m=0)
|
|
2 dzx (real combination of m=+/-1 with cosine)
|
|
3 dzy (real combination of m=+/-1 with sine)
|
|
4 dx2-y2 (real combination of m=+/-2 with cosine)
|
|
5 dxy (real combination of m=+/-2 with sine)
|
|
|
|
|
|
|
|
::: Defining boxes for the Local DOS(E)
|
|
|
|
Boxes are specified using the variables "irmin" and "irmax":
|
|
|
|
FFT grid points are included from irmin(j,n) to irmax(j,n)
|
|
for j=1,2,3 and n=1,...,"n_proj_boxes"
|
|
|
|
"irmin" and "irmax" range from 1 to nr1 or nr2 or nr3
|
|
|
|
Values larger than nr1/2/3 or smaller than 1 are folded
|
|
to the unit cell.
|
|
|
|
If "irmax"<"irmin" FFT grid points are included from 1 to irmax
|
|
and from irmin to nr1/2/3.
|
|
|
|
|
|
|
|
::: Important notices
|
|
|
|
The tetrahedron method is used if
|
|
|
|
- the input data file has been produced by pw.x using the option
|
|
occupations='tetrahedra', AND
|
|
|
|
- a value for degauss is not given as input to namelist &projwfc
|
|
|
|
* Gaussian broadening is used in all other cases:
|
|
|
|
- if "degauss" is set to some value in namelist &PROJWFC, that value
|
|
(and the optional value for ngauss) is used
|
|
|
|
- if "degauss" is NOT set to any value in namelist &PROJWFC, the
|
|
value of "degauss" and of "ngauss" are read from the input data
|
|
file (they will be the same used in the pw.x calculations)
|
|
|
|
- if "degauss" is NOT set to any value in namelist &PROJWFC, AND
|
|
there is no value of "degauss" and of "ngauss" in the input data
|
|
file, "degauss"="DeltaE" (in Ry) and "ngauss"=0 will be used
|
|
|
|
|
|
Obsolete variables, ignored:
|
|
io_choice
|
|
smoothing
|
|
|
|
|
|
|
|
This file has been created by helpdoc utility on Fri Dec 15 09:55:22 CET 2023
|