QE常见问题汇编
- QE常见问题汇编
- 1 INSTALLATION
- 1.1 WHAT FORTRAN COMPILER DO I NEED?
- 1.2 WHY IS CONFIGURE SAYING THAT I HAVE NO FORTRAN COMPILER?
- 1.3 WHY IS CONFIGURE SAYING THAT MY FORTRAN COMPILER DOESN’T WORK?
- 1.4 CONFIGURE DOESN’T RECOGNIZE MY SYSTEM, WHAT SHOULD I DO?
- 1.5 WHY DOESN’T CONFIGURE RECOGNIZE THAT I HAVE A PARALLEL MACHINE?
- 1.6 COMPILATION FAILS WITH INTERNAL ERROR, WHAT SHOULD I DO?
- 1.7 COMPILATION FAILS AT LINKING STAGE: SYMBOL … NOT FOUND
- 1.8 COMPILATION WORKS BUT THE EXECUTABLE DOESN’T START BECAUSE SHARED LIBRARIES … NOT FOUND
- 2 PSEUDOPOTENTIALS
- 2.1 WHERE CAN I FIND PSEUDOPOTENTIALS FOR ATOM X?
- 2.2 THERE ARE SO MANY PSEUDOPOTENTIALS, WHICH ONE SHOULD I CHOOSE?
- 2.3 CAN I MIX USPP/NCPP/PAW ?
- 2.4 MY TOTAL ENERGY DEPENDS UPON THE PSEUDOPOTENTIAL!
- 2.5 WHERE CAN I FIND PSEUDOPOTENTIALS FOR RARE-EARTH X?
- 2.6 IS THERE A CONVERTER FROM FORMAT XYZ TO UPF, OR VICE VERSA?
- 2.7 WHERE CAN I FIND PSEUDOPOTENTIAIS FOR HYBRID/NONLOCAL FUNCTIONALS?
- 3 INPUT DATA
- 3.1 DOES QE USE PRIMITIVE OR CONVENTIONAL UNIT CELL? ALL ATOM OR SYMMETRY-INEQUIVALENT ONES?
- 3.2 WHERE CAN I FIND THE CRYSTAL STRUCTURE/ATOMIC POSITIONS OF XYZ?
- 3.3 MY CRYSTAL HAS A 4_H_2131C STRUCTURE, HOW DOES THIS TRANSLATE TO QE INPUT DATA?
- 3.4 HOW CAN I GENERATE A SUPERCELL?
- 3.5 WHERE CAN I FIND THE BRILLOUIN ZONE/HIGH-SYMMETRY POINTS/IRREPS FOR XYZ?
- 3.6 WHERE CAN I FIND MONKHORST-PACK GRIDS OF K-POINTS?
- 3.7 HOW DO I FORCE A GIVEN OCCUPANCY ON A GIVEN ATOM?
- 3.8 WHAT ARE THE ATOMIC POSITIONS/K-POINTS FOR GRAPHENE?
- 4 PARALLEL EXECUTION
- 4.1 HOW DO I CHOOSE THE NUMBER OF PROCESSORS/HOW DO I SETUP MY PARALLEL CALCULATION?
- 4.2 WHY IS MY PARALLEL JOB RUNNING IN SUCH A LOUSY WAY?
- 4.3 WHY IS MY PARALLEL JOB STOPPING WITH AN ERROR READING NAMELIST XXXX?
- 4.4 WHY IS MY PARALLEL JOB NOT READING THE SAME INPUT DATA THAT WORKS FOR SERIAL JOBS?
- 4.5 WHY IS MY PARALLEL JOB NOT RUNNING ON N PROCESSORS BUT JUST ON ONE?
- 5 FREQUENT ERRORS DURING EXECUTION
- 5.1 WHAT DO ERRORS LIKE “FORRTL: SEVERE (59): LIST-DIRECTED I/O SYNTAX ERROR, UNIT 5, FILE STDIN” MEAN?
- 5.2 WHY IS MY JOB CRASHING WITH “SEGMENTATION FAULT”?
- 5.3 THE CODE STOPS WITH A MYSTERIOUS ERROR IN IOTK
- 5.4 THE CODE STOPS WITH AN “ERROR IN DAVCIO”
- 5.5 WHY IS THE CODE SAYING “WRONG ATOMIC COORDINATES”?
- 5.6 THE CODE STOPS WITH A “WRONG CHARGE” ERROR
- 5.7 THE CODE STOPS WITH AN “ERROR IN CDIAGHG” OR “IN RDIAGHG”
- 5.8 THE CODE STOPS WITH AN ERROR IN ROUTINE “SCALE_H”
- 5.9 THE CODE STOPS WITH ERROR READING NAMELIST XXX
- 6 SELF CONSISTENCY
- 6.1 WHAT ARE THE UNITS FOR QUANTITY XYZ?
- 6.2 SELF-CONSISTENCY IS SLOW OR DOES NOT CONVERGE AT ALL
- 6.3 WHAT IS THE DIFFERENCE BETWEEN TOTAL AND ABSOLUTE MAGNETIZATION?
- 6.4 HOW CAN I CALCULATE MAGNETIC MOMENTS FOR EACH ATOM?
- 6.5 WHAT IS THE ORDER OF YLM COMPONENTS IN PROJECTED DOS / PROJECTION OF ATOMIC WAVEFUNCTIONS?
- 6.6 WHY IS THE SUM OF PARTIAL LÖWDIN CHARGES NOT EQUAL TO THE TOTAL CHARGE?
- 6.7 I CANNOT FIND THE FERMI ENERGY, WHERE IS IT?
- 6.8 WHAT IS THE REFERENCE LEVEL FOR KOHN-SHAM ENERGIES? WHY DO I GET POSITIVE VALUES FOR KOHN-SHAM LEVELS?
- 6.9 WHY DO I GET A STRANGE VALUE OF THE FERMI ENERGY?
- 6.10 WHY I DON’T GET ZERO PRESSURE/STRESS AT EQUILIBRIUM?
- 6.11 WHY DO I GET DIFFERENT RESULTS FROM VC-RELAX AND FROM SCF ON THE SAME STRUCTURE?
- 6.12 WHY DO I GET NEGATIVE STARTING CHARGE?
- 6.13 HOW DO I CALCULATE THE WORK FUNCTION?
- 6.14 WHY ARE MY FORCES ZERO / WHY BFGS DOES NOT RELAX MY CRYSTAL?
- 6.15 MY GRAPHENE SHEET HAS A GAP!
- 7 PHONONS
- 7.1 IS THERE A SIMPLE WAY TO DETERMINE THE SYMMETRY OF A GIVEN PHONON MODE?
- 7.2 I AM NOT GETTING ZERO ACOUSTIC MODE FREQUENCIES, WHY?
- 7.3 WHY DO I GET NEGATIVE PHONON FREQUENCIES?
- 7.4 WHY DO I GET A MESSAGE NO ELEC. FIELD WITH METALS?
- 7.5 HOW CAN I CALCULATE RAMAN/IR COEFFICIENTS IN METALS?
- 7.6 HOW CAN I CALCULATE THE ELECTRON-PHONON COEFFICIENTS IN INSULATORS?
- 7.7 WHAT IS THE FORMAT OF THE FILE CONTAINING INTERATOMIC FORCE CONSTANTS?
- 1 INSTALLATION
- Reference
If you search information on Quantum ESPRESSO , the best starting point is the user guide. Further informations can be found following the links “Tutorials” from the Resources menu. If you are looking for somebody to talk with, look into the Contacts menu: the users’ mailing list users@lists.quantum-espresso.org is the typical place where to ask questions about Quantum ESPRESSO .
1 INSTALLATION
Most installation problems have obvious origins and can be solved by reading error messages and acting accordingly. Sometimes the reason for a failure is less obvious. In such a case, you should look into Sec.2, Installation, of the user guide, and into the archive of the users’ mailing list to see if a similar problem (with solution) is described. If you get really weird error messages during installation, look for them with your preferred Internet search engine (such as Google): very often you will find an explanation and a workaround.
Also please have a look at the following page by Glenn Lockwood, containing a lot of useful info.
1.1 WHAT FORTRAN COMPILER DO I NEED?
Any non-buggy, or not-too-buggy, fortran-95 compiler should work, with minimal or no changes to the code. configure may not be able to recognize your system, though.
1.2 WHY IS CONFIGURE SAYING THAT I HAVE NO FORTRAN COMPILER?
Because you haven’t one (really!); or maybe you have one, but it is not in your execution path; or maybe it has been given an unusual name by your system manager. Install a compiler if you have none; if you have one, fix your execution path, or define an alias if it has a strange name. Do not pass an executable with the path as an argument to configure, as in e.g. ./configure F90=/some/strange/f95: it doesn’t work.
1.3 WHY IS CONFIGURE SAYING THAT MY FORTRAN COMPILER DOESN’T WORK?
Because it doesn’t work (really!); more exactly, configure has tried to compile a small test program and hasn’t succeeded. Your compiler may not be properly installed. For Intel compiler on PC’s: you may have forgotten to run the required initialization script for the compiler.
1.4 CONFIGURE DOESN’T RECOGNIZE MY SYSTEM, WHAT SHOULD I DO?
If compilation/linking works, never mind; otherwise, try to supply a suitable supported architecture, or/and manually edit the make.sys file. Detailed instructions in Sec.2 of the user guide.
1.5 WHY DOESN’T CONFIGURE RECOGNIZE THAT I HAVE A PARALLEL MACHINE?
You need a properly configured complete parallel environment. If any piece is missing, configure will revert to serial compilation. Detailed instructions in Sec.2 of the user guide.
1.6 COMPILATION FAILS WITH INTERNAL ERROR, WHAT SHOULD I DO?
Any message during compilation saying something like internal compiler error and the like means that your compiler is buggy. You should report the problem to the compiler maker – especially if you paid real money for it. Sometimes reducing the optimization level, or rearranging the code in a strategic place, will make the problem disappear. In other cases you will need to move to a different compiler, or to a less buggy version (or buggy in a different way that doesn’t bug you) of the same compiler.
1.7 COMPILATION FAILS AT LINKING STAGE: SYMBOL … NOT FOUND
If the missing symbols (i.e. routines that are called but not found) are in the code itself: most likely the fortran-to-C conventions used in file include/c_defs.h are not appropriate. Edit this file and retry.
If the missing symbols are in external libraries (BLAS, LAPACK, FFT, MPI libraries): there is a name mismatch between what the compiler expects and what the library provides. See Sec.2 of the user guide.
If the missing symbols aren’t found anywhere either in the code or in the libraries: they are system library symbols. i) If they are called by external libraries, you need to add a missing system library, or to use a different set of external libraries, compiled with the same compiler you are using. ii) If you are using no external libraries and still getting missing symbols, your compiler and compiler libraries are not correctly installed.
1.8 COMPILATION WORKS BUT THE EXECUTABLE DOESN’T START BECAUSE SHARED LIBRARIES … NOT FOUND
This is a frequent problem with MKL libraries. You need to set some environment variables telling the system where the shared libraries are. See the documentation by Intel that comes with MKL libraries.
2 PSEUDOPOTENTIALS
A proper choice of pseudopotentials is a pre-requisite for any successful calculation. You should always test pseudopotentials on simple systems before trusting them!
2.1 WHERE CAN I FIND PSEUDOPOTENTIALS FOR ATOM X?
See the pseudopotential page on this web site. There you can find several tables, pointers to other tables, indications on what to do if you do not find the pseudopotential(s) you need. In case you inquire for a pseudopotential on the mailing list, please specify which kind of pseudopotential you need (norm-conserving, ultrasoft, PAW, full- or scalar-relativistic, for which XC functional, and, for many elements, with how many electrons in valence).
2.2 THERE ARE SO MANY PSEUDOPOTENTIALS, WHICH ONE SHOULD I CHOOSE?
Those that fit your needs in terms of transferability and computational efficiency, for the calculations you want to perform. Choosing good pseudopotentials is an important part of an electronic-structure calculation. Are you sure you really like somebody else do this for you? Please have a look at the various links and resources of the pseudopotential page.
2.3 CAN I MIX USPP/NCPP/PAW ?
Yes, you can (when possible, of course: a few kinds of calculations are not available with USPP, a few more are not for PAW). A small restrictions exists in cp.x, expecting atoms with USPP listed before those with NCPP, which in turn are expected before local PP’s (if any). A further restriction, that can be overridden, is that all PP’s should be generated with the same XC. Otherwise, you can mix and match. Note that it is the hardest atom that determines the cutoff.
2.4 MY TOTAL ENERGY DEPENDS UPON THE PSEUDOPOTENTIAL!
That’s correct: absolute energies depend upon the kind of pseudopotential(s) used. Only energy differences are physically relevant. Differences in absolute energies may be especially large if you compare pseudopotentials with different number of electrons.
2.5 WHERE CAN I FIND PSEUDOPOTENTIALS FOR RARE-EARTH X?
Please consider first if DFT is suitable for your system! In many cases, it isn’t (at least “plain” DFT: GGA and the like). If you are still convinced that it is, see above.
2.6 IS THERE A CONVERTER FROM FORMAT XYZ TO UPF, OR VICE VERSA?
What is available (no warranty) is in directory upftools/. You are most welcome to contribute a new converter.
2.7 WHERE CAN I FIND PSEUDOPOTENTIAIS FOR HYBRID/NONLOCAL FUNCTIONALS?
Short answer: nowhere, for the time being. Use pseudopotentials for the non-hybrid functional that is closer to the hybrid you like: PBE for PBE0 and HSE, BLYP for B3LYP. Same for nonlocal (e.g. vdw-DF) functionals: use pseudopotentials generated for the closest GGA functional.
3 INPUT DATA
A large percentage of the problems reported to the mailing list are caused by incorrect input data. Before reporting a problem with strange crashes or strange results, please have a look at your structure with XCrySDen (or another visualization software). XCrySDen can directly visualize the structure from both PWscf input data:
xcrysden --pwi "input-data-file"
and from PWscf output as well:
xcrysden --pwo "output-file"
Unlike most other visualizers, XCrySDen is periodicity-aware: you can easily visualize periodically repeated cells. You are advised to always use XCrySDen to check your input data!
3.1 DOES QE USE PRIMITIVE OR CONVENTIONAL UNIT CELL? ALL ATOM OR SYMMETRY-INEQUIVALENT ONES?
QE uses all atoms and the primitive unit cell. If you want to use the so-called “conventional” unit cell, you are free to do it, as long as you specify both the cell parameters and the atomic positions correctly.
3.2 WHERE CAN I FIND THE CRYSTAL STRUCTURE/ATOMIC POSITIONS OF XYZ?
Check the Library of Crystallographic Prototypes. The American Mineralogist Crystal Structure Database is another excellent place to find structures, though you will have to use it in conjunction with the Bilbao crystallography server, and have some understanding of space groups and Wyckoff positions. Another interesting site: http://cci.lbl.gov/cctbx/index.html. (most info here from Mike Mehl).
CIF files can be converted to using the PW/tools/pw2cif.sh script, courtesy of Carlo Nervi, or using gdis v. 0.99 and later: Open CIF file with gdis and then save as ‘filename.pwi’. The code understands the extension ‘pwi’ and prepare a simple input file for Quantum ESPRESSO (info by Mutlu Colakogullari)
3.3 MY CRYSTAL HAS A 4_H_2131C STRUCTURE, HOW DOES THIS TRANSLATE TO QE INPUT DATA?
There are several different ways to specify structures, described in detail in Doc/INPUT_PW.*. Please choose the one that better fits your needs. You can select your lattice from a list Bravais lattices; or you can specify crystallographic parameters a,b,c,cos(ab), cos(ac), cos(bc); or you can provide the three primitive lattice vectors. You can provide atomic positions in units of the primitive lattice vectors, or in cartesian axis and Bohr radii / A /units of the lattice parameter a.
3.4 HOW CAN I GENERATE A SUPERCELL?
If you need to create a supercell and are too lazy to create a small program to translate atoms, or to do it manually, you can use one of the following codes:
XCrySDen (suggested by G. Mattioli)
gaussview, or Avogadro (suggested by A. Shearer)
use the VESTA program, it’s a beatiful and friendly program to see crystal structures and make supercell, this program save the atomic positions in XYZ format. Furthermore, runs on linux and win! (Arles V. Gil Rebaza)
Utility “genlat.f” of DL_POLY (suggested by G. Lapenna)
use the ‘spacegroup’ program in EXCITING package (http://exciting-code.org) to generate the supercell, use ‘fropho’ (http://fropho.sourceforge.net) to check the symmetry’ (Kun Yin, April 2009)
use the PHON code: http://www.homepages.ucl.ac.uk/~ucfbdxa/ (Eyvaz Isaev, April 2009).
3.5 WHERE CAN I FIND THE BRILLOUIN ZONE/HIGH-SYMMETRY POINTS/IRREPS FOR XYZ?
You might find this web site useful: http://www.cryst.ehu.es/cryst/getkvec.html (info by Cyrille Barreteau, nov. 2007). Or else: in textbooks, such as e.g. The mathematical theory of symmetry in solids by Bradley and Cracknell.
3.6 WHERE CAN I FIND MONKHORST-PACK GRIDS OF K-POINTS?
Auxiliary code kpoints.x, found in pwtools/ and produced by make tools, generates uniform grids of k-points that are equivalent to Monkhorst-Pack grids.
3.7 HOW DO I FORCE A GIVEN OCCUPANCY ON A GIVEN ATOM?
Short answer: you cannot. See this tutorial if you want to convince two atoms of the same kind to have different oxidation states.
3.8 WHAT ARE THE ATOMIC POSITIONS/K-POINTS FOR GRAPHENE?
Here two examples out of the many ways to provide input data for a perfect graphene layer:
&system
ibrav= 4, celldm(1) =4.6542890, celldm(3)=something appropriate, nat= 2, ntyp= 1, [...]
/
ATOMIC_POSITIONS {alat}
C 0.000000 0.000000 0.000000
C 0.000000 0.5773503 0.000000
or
ATOMIC_POSITIONS {crystal}
C 0.0000000 0.0000000 0.000000
C 0.3333333 0.6666666 0.000000
#HIgh-symmetry lines in k-space for band plotting:
K_POINTS {tpiba_b}
5
# A-Gamma-K-M-Gamma
0.0 0.0 0.16666667 10
0.0 0.0 0.0 20
0.33333333 0.57735027 0.0 20
0.33333333 0.0 0.0 20
0.0 0.0 0.0 0
4 PARALLEL EXECUTION
Effective usage of parallelism requires some basic understanding on how parallel machines work and how parallelism is implemented in Quantum ESPRESSO. If you have no experience and no clear ideas (or not idea at all), consider reading Sec.3 of the User Guide.
4.1 HOW DO I CHOOSE THE NUMBER OF PROCESSORS/HOW DO I SETUP MY PARALLEL CALCULATION?
Optimizing the parallel execution requires a basic understanding of the parallelism, how calculations are parallelized in Quantum ESPRESSO, and the specifics (size, k-points, etc.) of the system at hand. Please start by reading carefully Sec. 3 of the user guide, and compare your use case with some of the examples given in the documentation.
4.2 WHY IS MY PARALLEL JOB RUNNING IN SUCH A LOUSY WAY?
Very often people has unrealistic expectations on the scaling of electronic-structure calculations. You can achieve good scaling only with a judicious choice of the various parallelization levels and if you have appropriate communication hardware, and only for a restricted range of processors and for sufficiently large calculations. Very lousy scaling (e.g. much slower in parallel than in serial) may point instead to memory conflicts (not all parallelization leveles distribute memory!) or MPI-OpenMP conflicts caused by libraries (the most infamous case being MKL in the past).
4.3 WHY IS MY PARALLEL JOB STOPPING WITH AN ERROR READING NAMELIST XXXX?
See item 5.9 of this FAQ. If the problem seems to arise only for parallel execution, i.e. the same input is accepted when running on a single processor, see next item.
4.4 WHY IS MY PARALLEL JOB NOT READING THE SAME INPUT DATA THAT WORKS FOR SERIAL JOBS?
Use “mycode -inp input_file” instead of “mycode < input_file”. Some MPI libraries do not properly handle input redirection.
4.5 WHY IS MY PARALLEL JOB NOT RUNNING ON N PROCESSORS BUT JUST ON ONE?
First of all, verify the syntax of your MPI launcher (mpirun, mpiexec, or whatever you use). If correct, look at the header of the output file:
if it says serial compilation, your “parallel” code is not parallel and you are running N copies of it;
if it says parallel (…) compilation, but running on 1 procs, there is typically a mismatch between the MPI libraries you have used in the compilation and the MPI launcher you are actually using. This may happen on machines with different (e.g. MPICH and OpenMPI) parallel environments installed.
5 FREQUENT ERRORS DURING EXECUTION
5.1 WHAT DO ERRORS LIKE “FORRTL: SEVERE (59): LIST-DIRECTED I/O SYNTAX ERROR, UNIT 5, FILE STDIN” MEAN?
“forrtl” = fortran run-time library (so it is a fortran error)
“list-directed I/O syntax error” = there was an error while reading or writing (see below)
“unit 5″ = fortran unit (5 is typically used to read input data)
“stdin” = standard input (i.e. terminal input, or redirection)
Typical case: you are reading data from terminal or from file like this: "code < data-file”, and there is an error in what you typed or in “data-file”. Sometimes it is not easy to spot the error (see also answer 5.9 below) but input parsing errors are almost invariably due to an error or an unexpected character in the input. An exception might be the case of parallel execution, see Item 4.4 in this FAQ.
5.2 WHY IS MY JOB CRASHING WITH “SEGMENTATION FAULT”?
Possible reasons: too much memory requested; executable or mathematical libraries compiled for a different hardware; some incompatibility between compiler and mathematical libraries; flaky hardware; bug in compiler or in mathematical libraries. The latter two are typically not reproducible on different architectures or compilers; code bugs may sometimes be elusive, but typically yield a more reproducible pattern of problems. Segmentation faults in tests and examples almost invariably point to a problem in the compiler or in the mathematical libraries or in their interactions.
Mysterious, unpredictable, erratic errors in parallel execution are almost always coming from bugs in the compiler or/and in the MPI libraries and sometimes even from flaky hardware. Sorry, not our fault.
5.3 THE CODE STOPS WITH A MYSTERIOUS ERROR IN IOTK
IOTK is a toolkit that reads/writes XML files. There are frequent reports (especially when compling with gfortran and MKL libraries) of mysterious errors with IOTK not finding some variable in the XML data file. If this error has no obvious explanation (e.g. the file is properly written and read, the searched variable is present, etc) and if it appears to be erratic or irreproducible (e.g. it occurs only with version X of compiler Y), it is almost certainly due to a compiler bug. Try to reduce optimization level, or use a different compiler. If you paid real money for your compiler, complain with the vendor.
5.4 THE CODE STOPS WITH AN “ERROR IN DAVCIO”
davcio is a routine that reads from/writes to disk. The error number is what the I/O operation returns, so it means little more than “there was an error”. Possible reasons: disk is full; outdir is not writable for any reason; you run post-processing codes on a number of processors/pools that are not the same used to produce the pw.x data (and did not set variable wf_collect); you made a mess with your data files and directories; your data files are corrupted; you were running more than one instance of pw.x in the same temporary directory with the same file names.
5.5 WHY IS THE CODE SAYING “WRONG ATOMIC COORDINATES”?
Because they are: two or more atoms in the list of atoms have overlapping, or anyway too close, positions. Can’t you see why? look better (or use a molecular viewer like XCrySDen) and remember that the code checks periodic images as well.
5.6 THE CODE STOPS WITH A “WRONG CHARGE” ERROR
Typically, you are treating a metallic system as if it were insulating. Use a gaussian smearing.
5.7 THE CODE STOPS WITH AN “ERROR IN CDIAGHG” OR “IN RDIAGHG”
This is a tough case. It signals that the Hamiltonian, or the overlap matrix, calculated in the subspace of occupied + correction states (used in iterative diagonalization), is singular. This should however never happen, unless: 1) the atomic positions are seriously wrong (e.g. too close), or 2) the pseudopotentials are bad, or not so good. The latter case typically happens with Ultrasoft PP. When the error is erratic and irreproducible on other machines, it may be related to mathematical libraries of questionable accuracy. If you are out of ideas, try option “diagonalization=’cg’ “.
5.8 THE CODE STOPS WITH AN ERROR IN ROUTINE “SCALE_H”
During a variable-cell structural optimization (“vc-relax”) you may get the following error:
Error in routine scale_h (1):
Not enough space allocated for radial FFT: try restarting with a larger cellfactor.
This is a consequence of a too small starting unit cell. If the cell expands too much, the number of plane waves and of G-vectors increases and may eventually exceed the length of arrays allocated at the beginning. Increase the value of optional variable “cell_factor”, or restart from a larger cell.
5.9 THE CODE STOPS WITH ERROR READING NAMELIST XXX
Misspelled variable in namelist XXX, or properly-spelled variable set to an illegal value (e.g. an integer variable to a real value). Also: unexpected characters, such as DOS CR-LF characters, ‘curly’ quotes instead of ‘straight’ quotes, in the file, or comments introduced by “#” (only “!” is allowed inside namelists). Also: if the input file is empty, you get an error while reading the first namelist, typically “&control”. For the parallel case, see items 4.3 and 4.4 of these FAQs.
6 SELF CONSISTENCY
6.1 WHAT ARE THE UNITS FOR QUANTITY XYZ?
Unless otherwise specified, all PWscf input and output quantities are in atomic “Rydberg” units, i.e. energies in Ry, lengths in Bohr radii ($a_0$), etc.. Note that CP uses instead atomic “Hartree” units: energies are in Ha, not in Ry. The charge density is in $a^{3}_{0}$ units, i.e. if integrated on the cell, it yields the total number of electrons.
6.2 SELF-CONSISTENCY IS SLOW OR DOES NOT CONVERGE AT ALL
In most cases: your input data is bad, or else your system is metallic and you are treating it as an insulator. If this is not the case: reduce mixing_beta to 0.3 ÷ 0.1 or smaller, try the mixing_mode value that is more appropriate for your problem.
6.3 WHAT IS THE DIFFERENCE BETWEEN TOTAL AND ABSOLUTE MAGNETIZATION?
The total magnetization is the integral of the magnetization in the cell:
[M_{Tot}=∫{cell}(n{up}−n_{dw})d^3 r]
The absolute magnetization is the integral of the absolute value of the magnetization in the cell:
[M_{Abs}=∫{cell}|n{up}−n_{dw}|d^3 r]
In a simple ferromagnetic material they should be equal (except possibly for an overall sign). In simple antiferromagnets (like FeO, NiO) MTot is zero and MAbs is twice the magnetization of each of the two atoms.
6.4 HOW CAN I CALCULATE MAGNETIC MOMENTS FOR EACH ATOM?
There is no ‘right’ way of defining the local magnetic moment around an atom in a multi-atom system. However an approximate way to define it is via the projected density of states on the atomic orbitals (code projwfc.x). This code generates many files with the density of states projected on each atomic wavefunction of each atom and a BIG amount of data on the standard output, the last few lines of which contain the decomposition of Löwdin charges on angular momentum and spin component of each atom.
6.5 WHAT IS THE ORDER OF YLM COMPONENTS IN PROJECTED DOS / PROJECTION OF ATOMIC WAVEFUNCTIONS?
The order of m-components for each l in the output is: 1,cos(ϕ),sin(ϕ),cos(2ϕ),sin(2ϕ),…,cos(lϕ),sin(lϕ) See input data documentation for projwfc.x.
6.6 WHY IS THE SUM OF PARTIAL LÖWDIN CHARGES NOT EQUAL TO THE TOTAL CHARGE?
“Löwdin charges (as well as other conventional atomic charges) do not satisfy any sum rule. You can easily convince yourself that this is the case because the atomic orbitals that are used to calculate them are arbitrary to some extent. If you like, you can think that the missing charge is “delocalized” or “bonding” charge, but this would be another way of naming the conventional (to some extent) character of Löwdin charge.” (Stefano Baroni, Sept. 2008).
See also the definition of “spilling parameter”: Sanchez-Portal et al., Sol. State Commun. 95, 685 (1995). The spilling parameter measures the ability of the basis provided by the pseudo-atomic wavefunctions to represent the eigenstates of the crystal, by measuring how much of the subspace of the Hamiltonian eigenstates falls outside the subspace spanned by the atomic basis.
6.7 I CANNOT FIND THE FERMI ENERGY, WHERE IS IT?
It is printed in the output. If not, the information on Gaussian smearing, needed to calculate a sensible Fermi energy, was not provided in input. In this case, pw.x prints instead the highest occupied and lowest unoccupied levels. If not, the number of bands to be calculated was not provided in input and pw.x calculates occupied bands only.
6.8 WHAT IS THE REFERENCE LEVEL FOR KOHN-SHAM ENERGIES? WHY DO I GET POSITIVE VALUES FOR KOHN-SHAM LEVELS?
The reference level is an ill-defined quantity in calculations in solids with periodic boundary conditions. Absolute values of Kohn-Sham eigenvalues are meaningless.
6.9 WHY DO I GET A STRANGE VALUE OF THE FERMI ENERGY?
“The value of the Fermi energy (as well as of any energy, for that matter) depends upon the reference level. What you are referring to is probably the “Fermi energy referred to the vacuum level” (i.e. the work function). In order to obtain that, you need to know what the vacuum level is, which cannot be said from a bulk calculation only”> (Stefano Baroni, Sept. 2008).
6.10 WHY I DON’T GET ZERO PRESSURE/STRESS AT EQUILIBRIUM?
If you make a calculation with fixed cell parameters, you will never get exactly zero pressure/stress, unless you use the cell that yields perfect equilibrium for your pseudopotentials, cutoffs, k-points, etc.. Such cell will anyway be slightly different from the experimental one. Note however that pressures/stresses in the order of a few KBar correspond to very small differences in terms of lattice parameters.
6.11 WHY DO I GET DIFFERENT RESULTS FROM VC-RELAX AND FROM SCF ON THE SAME STRUCTURE?
First of all, you should verify that the structure is really the same (hint: compare Ewald energies). The PW basis set used in a variable-cell calculations is determined by the cutoff and by the initial cell geometry. If you make a calculation with the final geometry at the same cutoff, you get slightly different results because the PW basis set is different. The difference should be small, though, unless you are using a too low cutoff for your system. Since v.4.3.1, a final scf step is performed at the end of the vc-relax run, with the PW basis set computed for the final geometry, to check for this. Please also note that if you use a modified kinetic energy functional for variable-cell calculations, this affects the calculated pressure/stress.
6.12 WHY DO I GET NEGATIVE STARTING CHARGE?
Self-consistency requires an initial guess for the charge density in order to bootstrap the iterative algorithm. This first guess is usually built from a superposition of atomic charges, constructed from pseudopotential data.
More often than not, this charges are a slightly too hard to be expanded very accurately in PWs, hence some aliasing error will be introduced. Especially if the unit cell is big and mostly empty, some local low negative charge density will be produced.
”This is NOT harmful at all, the negative charge density is handled properly by the code and will disappear during the self-consistent cycles”, but if it is very high (let’s say more than 0.001*number of electrons) it may be a symptom that your charge density cutoff is too low.” (L. Paulatto – November 2008)
6.13 HOW DO I CALCULATE THE WORK FUNCTION?
Work function = (average potential in the vacuum) – (Fermi Energy). The former is estimated in a supercell with the slab geometry, by looking at the average of the electrostatic potential (typically without the XC part). There is an example showing how to calculated the work function.
6.14 WHY ARE MY FORCES ZERO / WHY BFGS DOES NOT RELAX MY CRYSTAL?
In infinite systems there is a fundamental difference between displacements that do not change the unit cell (phonon modes at q=0) and those that do (elastic modes). The former are driven by forces, the latter by stresses. Equilibrium is reached when both forces and stresses are zero. In symmetric crystals, forces are often zero by symmetry. In that case, the BFGS algorithm, or any other algorithm that ignores stresses and keeps the unit cell constant, will do nothing.
6.15 MY GRAPHENE SHEET HAS A GAP!
Congratulations! Get a suit for the Nobel price ceremony. No, wait: first check if your input is correct, FAQ 3.8.
7 PHONONS
7.1 IS THERE A SIMPLE WAY TO DETERMINE THE SYMMETRY OF A GIVEN PHONON MODE?
A symmetry analyzer was added in v.3.2 by Andrea Dal Corso. Other packages that perform symmetry analysis of phonons and normal modes:
ISOTROPY package: http://stokes.byu.edu/iso/isotropy.html
ACKJ, ACMI packages: http://www.cpc.cs.qub.ac.uk.
7.2 I AM NOT GETTING ZERO ACOUSTIC MODE FREQUENCIES, WHY?
Because the Acoustic Sum Rule (ASR), i.e. the translational invariance, is violated in approximated calculations. In PW calculations, the main and most irreducible violation comes from the discreteness of the FFT grid. There may be other reasons, though, notably insufficient convergence: “Recently I found that the parameters tr2_ph for the phonons and conv_thr for the ground state can affect the quality of the phonon calculation, especially the “vanishing” frequencies for molecules.” (Info from Katalyn Gaal-Nagy). Anyway: if the nonzero frequencies are small, you can impose the ASR to the dynamical matrix, usually with excellent results.
Nonzero frequencies for rotational modes of a molecule are a fictitious effect of the finite supercell size, or else, of a less than perfect convergence of the geometry of the molecule.
7.3 WHY DO I GET NEGATIVE PHONON FREQUENCIES?
“Negative” frequencies actually are “imaginary” frequencies ($\omega^2 \le 0$). If these occur for acoustic frequencies at Gamma point, or for rotational modes of a molecule, see above. In all other cases: it depends. It may be a problem of bad convergence (see above), or it may signal a real instability.
7.4 WHY DO I GET A MESSAGE NO ELEC. FIELD WITH METALS?
If you want to calculate the contribution of macroscopic electric fields to phonons – a quantity that is well-defined in insulators only — you cannot use smearing in the scf calculation, or else the code will complain.
7.5 HOW CAN I CALCULATE RAMAN/IR COEFFICIENTS IN METALS?
You cannot: they are well defined only for insulators.
7.6 HOW CAN I CALCULATE THE ELECTRON-PHONON COEFFICIENTS IN INSULATORS?
You cannot: the current implementation is for metals only.
7.7 WHAT IS THE FORMAT OF THE FILE CONTAINING INTERATOMIC FORCE CONSTANTS?
See this, this, this, and this posting.
Reference
- http://www.quantum-espresso.org/resources/faq
本文总阅读量次