A few updates to the FAQ's - many more needed

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6623 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
giannozz 2010-04-13 13:51:58 +00:00
parent d79be004ef
commit 3c918159f4
1 changed files with 214 additions and 139 deletions

View File

@ -135,6 +135,10 @@ the book by Richard Martin:
Cambridge University Press (2004). See also the bibliography
section in the Wiki.
This guide assume that you know the basic Unix concepts (shell,
execution path, directories etc.) and utilities. If you don't,
you will have a hard time running \qe.
All trademarks mentioned in this guide belong to their respective owners.
\subsection{What can \qe\ do}
@ -1845,7 +1849,7 @@ image; it is computed using both the image energies and their derivatives
information used by QE to restart a path calculation, its format depends on the input
details and is undocumented
\item[\$prefix.axsf]
atomic positions of all path images in the XCrysDen animation format,
atomic positions of all path images in the XCrySDen animation format,
{\texttt xcrysden -\--axsf \$prefix.axsf} to open it
\item[\$prefix.xyz]
atomic positions of all path images in the generic xyz format, used by
@ -1871,7 +1875,7 @@ Carefully choose the initial path. Remember that QE assumes continuity
between the first and the last image at the initial condition. In other
words, periodic images are NOT used; you may have to manually translate
an atom by one or more unit cell base vectors in order to have a meaningful
initial path. You can visualize NEB input files with XCrysDen as animations,
initial path. You can visualize NEB input files with XCrySDen as animations,
take some time to check if any atoms overlap or get very close in the initial
path (you will have to add intermediate images, in this case).
\item
@ -3160,7 +3164,7 @@ them a little bit. The code will stop if too small values are required, it will
waste CPU time and memory for too large values.
Note that in parallel execution, it is very convenient to have FFT grid
dimensions along ''z'' that are a multiple of the number of processors.
dimensions along $z$ that are a multiple of the number of processors.
\subsection{pw.x does not find all the symmetries you expected}
pw.x determines first the symmetry operations (rotations) of the
@ -3398,57 +3402,73 @@ order of magnitude.
\section{Frequently Asked Questions (FAQ)}
\subsection{General}
If you search information on \qe, the best starting point is the web site
\texttt{html://www.quantum-espresso.org}. See in particular the
links ``learn'' for documentation, ``contacts'' if you need
somebody to talk with. The mailing list \texttt{pw\_forum} is
the typical place where to ask questions about \qe.
% how/where to submit problems
% whom to contact for which problem (download, web, wiki, qeforge,
% mailing list, bug, help ...)
% how to contact maintainers
% how to submit a bug report
\subsection{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 the Installation
Issues section of the User Guide, and into the pw\_forum archive to
is less obvious. In such a case, you should look into
Sec.\ref{Sec:Installation}, and into the pw\_forum archive 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.
\paragraph{ ''What Fortran compiler do I need to compile Q-E?''}
'''A:''' Any non-buggy, or not-too-buggy, fortran-95 compiler should work,
with minimal or no changes to the code. \texttt{configure} may not be able to
recognize your system, though.
\paragraph{What Fortran compiler do I need to compile Q-E?}
\paragraph{ ''Why is \texttt{configure} saying that I have no fortran compiler?''}
'''A:'''Because you haven't one (really!); or maybe you have one, but it is
not your execution path; or maybe it has been given an unusual name by your
Any non-buggy, or not-too-buggy, fortran-95 compiler should work,
with minimal or no changes to the code. \texttt{configure} may not
be able to recognize your system, though.
\paragraph{Why is \texttt{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.
\paragraph{ ''Why is \texttt{configure} saying that my fortran compiler doesn't work?''}
'''A:''' Because it doesn't work. Really! More exactly, \texttt{configure} has tried
\paragraph{Why is \texttt{configure} saying that my fortran compiler doesn't work?}
Because it doesn't work (really!); more exactly, \texttt{configure} has tried
to compile a small test program and didn't succeed. 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.
\paragraph{ ''\texttt{configure} says 'unsupported architecture', what should I do?''}
'''A:''' If compilation/linking still works, never mind, Otherwise,
supply a suitable
supported architecture to \texttt{configure}: see instructions in README.configure on
what to do. Note that in most cases you may use \texttt{configure} to produce dependencies,
then edit the file make.sys.
\paragraph{\texttt{configure} doesn't recognize my system, what should I do?}
\paragraph{ ''Why doesn't \texttt{configure} recognize that I have a parallel machine?''}
'''A:'''You need a properly configured complete parallel
environment. If any piece is missing, \texttt{configure} will revert to serial
compilation. In particular:
If compilation/linking works, never mind, Otherwise, try to supply a suitable
supported architecture, or/and manually edit the \texttt{make.sys} file.
Detailed instructions in Sec.\ref{Sec:Installation}.
\paragraph{Why doesn't \texttt{configure} recognize that I have a parallel machine?}
You need a properly configured complete parallel environment. If any piece is
missing, \texttt{configure} will revert to serial compilation. In particular:
\begin{itemize}
\item \texttt{configure} tries to locate a parallel compiler in a logical
place with a logical name, but if it has a strange names or it is
located in a strange location, you will have to instruct \texttt{configure}
to find it. Note that in most PC clusters (Beowulf), there is no
to find it. Note that in many PC clusters (Beowulf), there is no
parallel Fortran-95 compiler in default installations: you have to
configure an appropriate script, such as mpif90.
\item \texttt{configure} tries to locate libraries (both mathematical and
parallel libraries) in logical places with logical names, but if
parallel libraries) in the usual places with usual names, but if
they have strange names or strange locations, you will have to
rename/move them, or to instruct \texttt{configure} to find them (see
subsection "Libraries"). Note that if MPI libraries are not found,
Sec.\ref{Sec:Installation}). Note that if MPI libraries are not found,
parallel compilation is disabled.
\item \texttt{configure} tests that the compiler and the libraries are
compatible (i.e. the compiler may link the libraries without
@ -3456,22 +3476,26 @@ compilation. In particular:
compilation fail, \texttt{configure} will revert to serial compilation.
\end{itemize}
\paragraph{ ''Compilation fails with "internal error", what should I do?''}
'''A:''' Any message saying something like "internal compiler error" means
that your compiler is buggy. If you paid real money for your compiler,
complain with the software vendor. If not: sometimes reducing the optimization
level will do the trick, sometimes rearranging the code solves the problem,
but most often you will need to update your compiler to a less buggy version.
\paragraph{Compilation fails with "internal error", what should I do?}
\paragraph{ ''Compilation fails at linking stage: "symbol ... not found"''}
'''A:''' If the missing symbols (i.e. routines that are called but not found)
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 diferent way that doesn't bug you) of the same compiler.
\paragraph{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. Change them and retry.
in file \texttt{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. This case is described in detail in the User Guide.
library provides. See Sec.\ref{Sec:Installation}).
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
@ -3482,27 +3506,38 @@ your compiler and compiler libraries are not correctly installed.
\subsection{Pseudopotentials}
\paragraph{ ''Can I mix Ultrasoft/Norm-Conserving/PAW pseudopotentials?''}
'''A:''' Yes, you can (if implemented, of course: a few calculations
\paragraph{Can I mix Ultrasoft/Norm-Conserving/PAW pseudopotentials?}
Yes, you can (if implemented, 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
restrictions exists in \texttt{cp.x}, expecting atoms with USPP listed before
those with NCPP, which in turn are expected before local PP's (if any).
Otherwise you can mix and match, as long as the XC functional used in
the generation of the PP is the same for all PP's. Note that
it is the hardest atom that determines the cutoff.
\paragraph{ ''Where can I find pseudopotentials for atom X?''}
'''A:''' See the Wiki page on [[Pseudopotentials]], follow those
links. New contributions to the PP table are appreciated.
\paragraph{Where can I find pseudopotentials for atom X?}
If you do not find anything suitable in the ``pseudo'' page of the web
site links, we have bad news for you: you have to produce it by yourself.
You can use the \texttt{atomic} code, or else any other code for which
a converter to the UPF format exists.
New contributions to the PP table are very appreciated (and very scarce).
If X is one of the rare earths: please consider first if DFT is
suitable for your system!
suitable for your system! In many cases, it isn't (at least ``plain''
DFT: GGA and the like).
\paragraph{Is there a converter from format XYZ to UPF?}
What is available (no warranty) is in directory \texttt{upftools/}.
You are most welcome to contribute a new converter.
\subsection{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. XCrysDen can directly
strange crashes or strange results, {\em please} have
a look at your structure with XCrySDen. XCrySDen can directly
visualise the structure from both \texttt{PWscf} input data:
\begin{verbatim}
xcrysden --pwi "input-data-file"
@ -3511,61 +3546,69 @@ and from \texttt{PWscf} output as well:
\begin{verbatim}
xcrysden --pwo "output-file".
\end{verbatim}
Unlike most other visualizers, XCrysDen is periodicity-aware: you can
Unlike most other visualizers, XCrySDen is periodicity-aware: you can
easily visualize periodically repeated cells.
You are advised to use always XCrysDen to check your input data!
You are advised to always use XCrySDen to check your input data!
\paragraph{ ''Where can I find the crystal structure/atomic positions of XYZ?''}
'''A:''' The following site contains a lot of crystal structures: \\
http://cst-www.nrl.navy.mil/lattice .\\
\paragraph{Where can I find the crystal structure/atomic positions of XYZ?}
The following site contains a lot of crystal structures:
\texttt{http://cst-www.nrl.navy.mil/lattice}.\\
"Since this seems to come up often, I'd like to point out that the
American Mineralogist Crystal Structure Database
(http://rruff.geo.arizona.edu/AMS/amcsd) is another excellent place to
(\texttt{http://rruff.geo.arizona.edu/AMS/amcsd})
is another excellent place to
find structures, though you will have to use it in conjunction with
Bilbao (http://www.cryst.ehu.es),
the Bilbao crystallography server (\texttt{http://www.cryst.ehu.es}),
and have some understanding of space groups and Wyckoff positions".
\paragraph{ ''Where can I find the Brillouin Zone/high-symmetry
points/irreps for XYZ?''}
'''A:''' "You might find this web site useful:\\
http://www.cryst.ehu.es/cryst/get\_kvec.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.
\paragraph{Where can I find the Brillouin Zone/high-symmetry
points/irreps for XYZ?}
\paragraph{ ''Where can I find Monkhorst-Pack grids of k-points?''}
'''A:''' Auxiliary code ''kpoints.x'' (in pwtools/, executable
produced by "make tools") generates uniform grids of k-points that are
equivalent to Monkhorst-Pack grids.
"You might find this web site useful:
\texttt{http://www.cryst.ehu.es/cryst/get\_kvec.html}" (info by Cyrille
Barreteau, nov. 2007). Or else: in textbooks, such as e.g. {\em The
mathematical theory of symmetry in solids} by Bradley and Cracknell.
\paragraph{ ''How do I perform a calculation with spin-orbit interactions?''}
'''A:''' The following input variables are relevant for a spin-orbit
\paragraph{Where can I find Monkhorst-Pack grids of k-points?}
Auxiliary code \texttt{kpoints.x}, found in \texttt{pwtools/} and
produced by \texttt{make tools}, generates uniform grids of k-points
that are equivalent to Monkhorst-Pack grids.
\paragraph{How do I perform a calculation with spin-orbit interactions?}
The following input variables are relevant for a spin-orbit
calculation:
\begin{verbatim}
noncolin=.true./.false.
lspinorb=.true./.false.
starting_magnetization (one for each type of atoms)
\end{verbatim}
To make a spin-orbit calculation noncolin must be true.
If starting\_magnetization is set to zero (or not given) the code
makes a spin orbit calculation without spin magnetization (it assumes
that time reversal symmetry holds and it does not calculate the
magnetization). The states are still two component spinors but the
To make a spin-orbit calculation \texttt{noncolin} must be true.
If \texttt{starting\_magnetization} is set to zero (or not given)
the code makes a spin-orbit calculation without spin magnetization
(it assumes that time reversal symmetry holds and it does not calculate
the magnetization). The states are still two-component spinors but the
total magnetization is zero.
If starting\_magnetization is different from zero it makes a non
collinear spin polarized calculation with spin orbit. The final spin
If \texttt{starting\_magnetization} is different from zero, it makes a non
collinear spin polarized calculation with spin-orbit interaction. The
final spin
magnetization might be zero or different from zero depending on the
system.
Furthermore to make a spin-orbit calculation you must use fully
relativistic pseudopotentials at least for the atoms in which you
think that spin orbit is large. If all the pseudopotentials are scalar
think that spin-orbit interaction is large. If all the pseudopotentials
are scalar
relativistic the calculation becomes equivalent to a noncolinear
calculation without spin orbit. (Andrea Dal Corso, 2007-07-27)
\paragraph{ ''How can I choose parameters for variable-cell molecular
dynamics?''}
'''A''': "A common mistake many new users make is to set the time step dt
\paragraph{How can I choose parameters for variable-cell molecular
dynamics?}
"A common mistake many new users make is to set the time step dt
improperly to the same order of magnitude as for CP algorithm, or
not setting dt at all. This will produce a ``not evolving dynamics''.
Good values for the original RMW (RM Wentzcovitch) dynamics are
@ -3588,56 +3631,73 @@ Silva: the new damping algorithm is the default since v. 3.1).
Effective usage of parallelism requires some basic knowledge on how
parallel machines work and how parallelism is implemented in
\qe. If you have no experience and no clear ideas (or not
idea at all), consider reading the section of the User Guide
explaining some basic parallelism for \qe.
idea at all), consider reading Sec.\ref{Sec:para}.
\paragraph{''Why is my parallel job running in such a lousy way?''}
'''A:''' A frequent reason for lousy parallel performances is a
\paragraph{How do I choose the number of processors/how do I setup my parallel calculation?}
Please see above.
\paragraph{Why is my parallel job running in such a lousy way?}
A frequent reason for lousy parallel performances is a
conflict between MPI parallelization (implemented in \qe)
and the autoparallelizing feature of MKL libraries. Set the
environment variable OPEN\_MP\_THREADS to 1. See the section
dedicated to this problem in the User Guide.
environment variable \texttt{OPEN\_MP\_THREADS} to 1.
See Sec.\ref{Sec:para} for more info.
\paragraph{Why is my parallel job crashing when reading input data / doing nothing?}
If the same data work in serial execution, use
\texttt{code -inp input\_file} instead of \texttt{code $<$ input\_file}.
Some MPI libraries do not properly handle input redirection.
\paragraph{Why is my parallel job crashing with mysterious errors?}
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 to flacky hardware. Sorry, not our fault.
\subsection{Frequent errors during execution}
\paragraph{ ''Why is the code saying "Wrong atomic coordinates"?''}
'''A:''' Because they are: two or more atoms in the list of atoms have
\paragraph{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
(use XCrysDen: see above) and remember that the code checks periodic
(or use XCrySDen: see above) and remember that the code checks periodic
images as well.
\paragraph{ ''The code stops with an "error reading namelist xxxx"''}
'''A:''' Most likely there is a misspelled variable in namelist xxxx.
\paragraph{The code stops with an "error reading namelist xxxx"}
Most likely there is a misspelled variable in namelist xxxx.
If there isn't any (have you looked carefully? really?? REALLY???),
beware control characters like DOS \^M (control-M): they can confuse
the namelist-reading code.
beware control characters like DOS control-M: they can confuse
the namelist-reading code. If this happens to the first namelist
to be read (usually "\&control") in parallel execution, see above.
If this message concerns the first namelist to be read
(usually "\&control"), and if you are running
in parallel: try "code -inp input\_file" instead of "code$<$ input\_file".
Some MPI libraries do not properly handle input redirection.
\paragraph{The code stops with an "error in davcio"}
\paragraph{ ''The code stops with an "error in davcio"''}
'''A:''' Possible reasons: disk is full; outdir does not exist; outdir
exists but is not a directory (i.e. it is a file) or it is not
writable; you changed some parameter(s) in the input (like wf\_collect,
or the number of processors/pools) without doing a bit of cleanup in
your temporary files.
Possible reasons: disk is full; \texttt{outdir} is not writable for
any reason; you changed some parameter(s) in the input (like
\texttt{wf\_collect}, or the number of processors/pools) without
doing a bit of cleanup in your temporary files.
\paragraph{ ''The code stops with a "wrong charge" error''}
'''A:''' In most cases: you are treating a metallic system
\paragraph{The code stops with a "wrong charge" error}
In most cases: you are treating a metallic system
as if it were insulating.
\subsection{Self Consistency}
\paragraph{''What are the units for quantity XYZ?''}
''A:''' Unless otherwise specified, all \texttt{PWscf} input and output
quantities are in atomic "Rydberg" units, i.e. energies in Ry, lengths
in Bohr radii, etc.. Note that CP uses instead atomic "Hartree" units:
energies in Ha, lengths in Bohr radii.
\paragraph{What are the units for quantity XYZ?}
\paragraph{''Self-consistency is slow or does not converge at all''}
'''A:''' Bad input data will often result in bad scf
Unless otherwise specified, all \texttt{PWscf} input and output
quantities are in atomic "Rydberg" units, i.e. energies in Ry, lengths
in Bohr radii, etc.. Note that \texttt{CP} uses instead atomic "Hartree"
units: energies in Ha, lengths in Bohr radii.
\paragraph{Self-consistency is slow or does not converge at all}
Bad input data will often result in bad scf
convergence. Please check your structure first.
Assuming that your input data is sensible :
@ -3650,23 +3710,24 @@ Assuming that your input data is sensible :
down, than all of a sudden up again, and so on. Usually one can
solve the problem by adding a few empty bands and a small
broadening.
\item Reduce mixing beta from the default value (0.7) to $\sim 0.3\div
0.1$ or smaller. Try the mixing mode value that is more
\item Reduce \texttt{mixing\_beta} to $\sim 0.3\div
0.1$ or smaller. Try the \texttt{mixing\_mode} value that is more
appropriate for your problem. For slab geometries used in surface
problems or for elongated cells, mixing
mode='local-TF' should be the better choice,
dampening "charge sloshing". You may also try to increase mixing
ndim to more than 8 (default value). Beware: the larger mixing ndim,
the larger the amount of memory you need.
problems or for elongated cells, \texttt{mixing\_mode='local-TF'}
should be the better choice, dampening "charge sloshing". You may
also try to increase \texttt{mixing\_ndim} to more than 8 (default
value). Beware: this will increase the amount of memory you need.
\item Specific to US PP: the presence of negative charge density
regions due to either the pseudization procedure of the augmentation
part or to truncation at finite cutoff may give convergence
problems. Raising the ecutrho cutoff for charge density will usually
help, especially in gradient-corrected calculations.
problems. Raising the \texttt{ecutrho} cutoff for charge density will
usually help.
\end{enumerate}
\paragraph{ ''How is the charge density (the potential, etc.) stored? What position in real space corresponds to an array value?''}
'''A:''' The index of arrays used to store functions defined on 3D meshes is
\paragraph{How is the charge density (the potential, etc.) stored?
What position in real space corresponds to an array value?}
The index of arrays used to store functions defined on 3D meshes is
actually a shorthand for three indices, following the FORTRAN convention
("leftmost index runs faster"). An example will explain this better.
Suppose you have a 3D array of dimension (nr1x,nr2x,nrx3), say
@ -3712,10 +3773,9 @@ convenient in some cases that the two sets are not the same.
In particular, it is often convenient to have nrx1=nr1+1
to reduce memory conflicts.
\paragraph{ ''What is the difference between total and absolute
magnetization?''}
\paragraph{What is the difference between total and absolute magnetization?}
'''A:''' The total magnetization is the integral of the magnetization
The total magnetization is the integral of the magnetization
in the cell:
$$
M_T = \int (n_{up}-n_{down}) d^3r.
@ -3730,8 +3790,9 @@ possibly for an overall sign)`. In simple antiferromagnets (like FeO,
NiO) $M_T$ is zero and $M_A$ is twice the magnetization of each of the
two atoms. (info by Stefano de Gironcoli)
\paragraph{ ''How can I calculate magnetic moments for each atom?''}
'''A:''' There is no 'right' way of defining the local magnetic moment
\paragraph{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, see example08 for its use as a postprocessing tool). This
@ -3740,9 +3801,10 @@ 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 Lowdin charges on angular momentum and spin component of each atom.
\paragraph{ ''What is the order of $Y_{lm}$ components in projected
DOS / projection of atomic wavefunctions?''}
'''A:''' "The order is, I think:
\paragraph{What is the order of $Y_{lm}$ components in projected
DOS / projection of atomic wavefunctions?}
"The order is, I think:
\begin{verbatim}
1 $P_{0,0}(t)$
2 $P_{1,0}(t)$
@ -3759,8 +3821,8 @@ $\phi= atan(y /x)$. No warranty. Anybody really interested in knowing
''for sure'' which spherical harmonic combination is which should look
into routine ylmr2 in flib/ylmr2.f90".
\paragraph{ ''Why is the sum of partial Lowdin charges not equal to
the total charge?''}
\paragraph{Why is the sum of partial Lowdin charges not equal to
the total charge?}
"Lowdin charges (as well as other conventional atomic charges) do not
satisfy any sum rule. You can easily convince yourself that ths is the
@ -3777,7 +3839,8 @@ represent the PW eigenstates, by measuring how much of the subspace of
the Hamiltonian eigenstates falls outside the subspace spanned by the
atomic basis.
\paragraph{ ''Why do I get a strange value of the Fermi energy?''}
\paragraph{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 of the reference level. What you are referring to is
probably the "Fermi energy referred to the vacuum level" (i.e.
@ -3785,7 +3848,8 @@ 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).
\paragraph{''Why I don't get zero pressure/stress at equilibrium?''}
\paragraph{Why I don't get zero pressure/stress at equilibrium?}
It depends. 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,
@ -3798,7 +3862,7 @@ do not forget that the pressure/stress calculated with the modified
kinetic energy functional (very useful for variable-cell calculations)
slightly differ from those calculated without it.
\paragraph{ ''Why do I get "negative starting charge"?'' }
\paragraph{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
@ -3815,7 +3879,8 @@ 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)
\paragraph{''How do I calculate the work function?''}
\paragraph{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
@ -3824,10 +3889,11 @@ examples/WorkFct\_example.
\subsection{ Phonons }
\paragraph{ Is there a simple way to determine the symmetry of a given
phonon mode?}
'''A:''' A symmetry analyzer was added in v.3.2 by Andrea Dal
Corso. The following info may still be of interest to somebody,
\paragraph{ 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.
The following info may still be of interest to somebody,
though. ISOTROPY package: http://stokes.byu.edu/iso/isotropy.html.
"Please follow http://dx.doi.org/10.1016/0010-4655(94)00164-W and\\
@ -3840,7 +3906,8 @@ ACMM v1.0 Improved version of group-theoretical analysis of lattice
dynamics, J.L. Warren, T.G. Worlton." (Info from Pascal Thibaudeau)
\paragraph{ I am not getting zero acoustic mode frequencies, why? }
'''A:''' "If you treat, e.g., a molecule, the first six frequencies
"If you treat, e.g., a molecule, the first six frequencies
should vanish. However, due to convergence (number of plane waves,
size of the supercell, etc. ) they often appear as imaginary or small
real, even if all other frequencies are converged with respect to ecut
@ -3856,7 +3923,8 @@ calculation, especially the "vanishing" frequencies for molecules."
(Info from Katalyn Gaal-Nagy)
\paragraph{ Why do I get negative phonon frequencies? }
'''A:''' If these occur for acoustic frequencies at Gamma point, see above.
If these occur for acoustic frequencies at Gamma point, see above.
If these occur for rotational modes in a molecule into a supercell:
it is a fictitious effect of the finite supercell size. If these
occur in other cases, it depends. It may be a problem of bad
@ -3876,3 +3944,10 @@ coordinate to (0.0,0.0,0.505). Relax the system. You will find the atom will
get itself a comfortable place at (0.0,0.0,0.727), showing a typical
dimerization effect." (info by Nicola Marzari).
\end{document}
More FAQS:
- How to find E(V) for a noncubic crystal
- vc-relax and scf do not give same stress/energy/whatever at same geometry
- variant of the above: minimum of E(VE) has nonzero pressure
- absolute value of eigenvalues/Fermi energy
- negative phonons
- epsil=.true. and metals