mirror of https://gitlab.com/QEF/q-e.git
Merge branch 'doc-again' into 'develop'
Doc and misc small problems Closes #351 See merge request QEF/q-e!1494
This commit is contained in:
commit
55f285685c
|
@ -77,11 +77,12 @@ more specialized calculations:
|
|||
Density-Functional Perturbation Theory.
|
||||
\item \texttt{GWL}: electronic excitations within the GW approximation
|
||||
and with the Bethe-Salpeter Equation
|
||||
\item \texttt{EPW}: calculation of the electron-phonon coefficients
|
||||
and related quantities;
|
||||
\item \texttt{EPW}: calculation of the electron-phonon coefficients,
|
||||
carrier transport, phonon-limited superconductivity and phonon-assisted
|
||||
optical processes;
|
||||
\item \texttt{HP}: calculation of Hubbard $U$ parameters using DFPT;
|
||||
\item \texttt{QEHeat}: energy current in insulators for thermal
|
||||
transport calculations.
|
||||
transport calculations.
|
||||
\end{itemize}
|
||||
The following auxiliary packages are included as well:
|
||||
\begin{itemize}
|
||||
|
@ -617,7 +618,7 @@ and the following optional packages:\\
|
|||
In order to compile the code for GPU's you will need a recent version
|
||||
-- the more recent, the better -- of the NVidia HPC software development
|
||||
kit (SDK). OpenMP must be enabled, and you may want to use a CUDA-aware MPI
|
||||
distribution if running on multiple GPUc in order to optimize the
|
||||
distribution if running on multiple GPUs in order to optimize the
|
||||
interprocess data transfer. The following \configure\ options are
|
||||
available:\\
|
||||
\begin{tabular}{ll}
|
||||
|
@ -905,7 +906,7 @@ packages, manually download them into subdirectory
|
|||
and try \make\ again. Also see Sec.(\ref{SubSec:Download}).
|
||||
|
||||
\subsection{Running tests and examples}
|
||||
\label{SubSec:Examples}
|
||||
\label{SubSec:TestsExamples}
|
||||
|
||||
As a final check that compilation was successful, you may want to run some or
|
||||
all of the tests and examples.
|
||||
|
@ -915,7 +916,7 @@ to benchmark parallelism, do not try to run on too many processors.
|
|||
|
||||
\subsubsection{Test-suite}
|
||||
Automated tests give a "pass/fail" answer. All tests run quickly
|
||||
(less than a minute at most), but they are not meant to be realistic,
|
||||
(less than a minute each at most), but they are not meant to be realistic,
|
||||
just to test a specific case. Many features are tested but only for
|
||||
the following codes: \pwx, \cpx, \phx, \epwx, \texttt{hp.x}.
|
||||
Instructions for the impatient:
|
||||
|
@ -930,6 +931,7 @@ to edit the \texttt{run-XX.sh} shells, defining variables
|
|||
meaning).
|
||||
|
||||
\subsubsection{Examples}
|
||||
\label{SubSec:Examples}
|
||||
There are many examples and reference data for almost every piece of \qe,
|
||||
but you have to manually inspect the results.
|
||||
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
\documentclass[12pt,a4paper]{article}
|
||||
\def\version{6.2.1}
|
||||
\def\version{6.8}
|
||||
\def\qe{{\sc Quantum ESPRESSO}}
|
||||
\def\NEB{\texttt{PWneb}} % to be decided
|
||||
\usepackage{html}
|
||||
|
@ -14,14 +14,9 @@
|
|||
\oddsidemargin = 0 cm
|
||||
|
||||
\def\pwx{\texttt{pw.x}}
|
||||
\def\cpx{\texttt{cp.x}}
|
||||
\def\phx{\texttt{ph.x}}
|
||||
\def\nebx{\texttt{neb.x}}
|
||||
\def\configure{\texttt{configure}}
|
||||
\def\PWscf{\texttt{PWscf}}
|
||||
\def\PHonon{\texttt{PHonon}}
|
||||
\def\CP{\texttt{CP}}
|
||||
\def\PostProc{\texttt{PostProc}}
|
||||
\def\make{\texttt{make}}
|
||||
|
||||
\begin{document}
|
||||
|
@ -34,7 +29,6 @@
|
|||
\includegraphics[width=5cm]{\qeImage} \\
|
||||
% title
|
||||
\Huge \NEB\ User's Guide (v. \version)
|
||||
\\ \Large (only partially updated)
|
||||
}
|
||||
|
||||
\maketitle
|
||||
|
@ -47,24 +41,22 @@ This guide covers the usage of \NEB, version \version:
|
|||
an open-source package for the calculation of energy barriers
|
||||
and reaction pathway using the Nudged Elastic Band (NEB) method.
|
||||
|
||||
{\em Important notice: due to the lack of time and of manpower, this
|
||||
manual is only partially updated and may contain outdated information.}
|
||||
|
||||
This guide assumes that you know the physics
|
||||
that \NEB\ describes and the methods it implements.
|
||||
It also assumes that you have already installed,
|
||||
or know how to install, \qe. If not, please read
|
||||
the general User's Guide for \qe, found in
|
||||
directory \texttt{Doc/} two levels above the
|
||||
one containing this guide; or consult the web site:\\
|
||||
subdirectory \texttt{Doc/} of the main \qe\ directory,
|
||||
or consult the web site:\\
|
||||
\texttt{http://www.quantum-espresso.org}.
|
||||
|
||||
\NEB \ is part of the \qe \ distribution and uses the \PWscf\
|
||||
package as electronic-structure computing tools (``engine'').
|
||||
It is however written in a modular way and could be adapted
|
||||
to use other codes as ``engine''. Note that since v.4.3 \PWscf\ no
|
||||
longer performs NEB calculations. Also note that NEB with
|
||||
Car-Parrinello molecular dynamics is not implemented anymore since v.4.3.
|
||||
to use other codes as ``engine''. Since v.4.3 the NEB calculation
|
||||
is performed by a separate executable \nebx\ and no longer by
|
||||
\pwx. Also note that NEB with Car-Parrinello molecular dynamics
|
||||
is no longer implemented since v.4.3.
|
||||
|
||||
\section{People and terms of use}
|
||||
The current maintainers of \NEB\ are Layla Martin-Samos,
|
||||
|
@ -83,7 +75,8 @@ or the file License in the distribution).
|
|||
|
||||
\section{Compilation}
|
||||
|
||||
\NEB\ is a package tightly bound to \qe.
|
||||
\NEB\ is a package of \qe\ and requires package \PWscf\ for
|
||||
compilation.
|
||||
For instruction on how to download and compile \qe, please refer
|
||||
to the general Users' Guide, available in file \texttt{Doc/user\_guide.pdf}
|
||||
under the main \qe\ directory, or in web site
|
||||
|
@ -110,46 +103,11 @@ Symlinks to executable programs will be placed in the
|
|||
|
||||
\subsection{Running examples}
|
||||
\label{SubSec:Examples}
|
||||
As a final check that compilation was successful, you may want to run some or
|
||||
all of the examples (presently only one). To run the examples, you should follow this procedure:
|
||||
\begin{enumerate}
|
||||
\item Edit the \texttt{environment\_variables} file in the main \qe \ directory,
|
||||
setting the following variables as needed:
|
||||
\begin{quote}
|
||||
BIN\_DIR: directory where executables reside\\
|
||||
PSEUDO\_DIR: directory where pseudopotential files reside\\
|
||||
TMP\_DIR: directory to be used as temporary storage area
|
||||
\end{quote}
|
||||
\end{enumerate}
|
||||
The default values of BIN\_DIR and PSEUDO\_DIR should be fine,
|
||||
unless you have installed things in nonstandard places. The TMP\_DIR
|
||||
variable must point to a directory where you have read and write permissions,
|
||||
with enough available space to host the temporary files produced by the
|
||||
example runs, and possibly offering good I/O performance (i.e., don't
|
||||
use an NFS-mounted directory). \textbf{N.B.} Use a dedicated directory,
|
||||
because the example script will automatically delete all data inside TMP\_DIR.
|
||||
If you have compiled the parallel version of \qe\ (this
|
||||
is the default if parallel libraries are detected), you will usually
|
||||
have to specify a driver program (such as \texttt{mpirun} or \texttt{mpiexec})
|
||||
and the number of processors: see Sec.\ref{SubSec:para} for
|
||||
details. In order to do that, edit again the \texttt{environment\_variables}
|
||||
file
|
||||
and set the PARA\_PREFIX and PARA\_POSTFIX variables as needed.
|
||||
Parallel executables will be started with a command line like this:
|
||||
\begin{verbatim}
|
||||
$PARA_PREFIX neb.x $PARA_POSTFIX -inp file.in > file.out
|
||||
\end{verbatim}
|
||||
For example, the command for IBM's POE looks like this:
|
||||
\begin{verbatim}
|
||||
poe neb.x -procs 4 -inp file.in > file.out
|
||||
\end{verbatim}
|
||||
therefore you will need to set PARA\_PREFIX="poe", PARA\_POSTFIX="-procs 4".
|
||||
Furthermore, if your machine does not support interactive use, you
|
||||
must run the commands specified below through the batch queuing
|
||||
system installed on that machine. Ask your system administrator for
|
||||
instructions.
|
||||
As a final check that compilation was successful, you may want
|
||||
to run the examples (presently only one). See the general documentation
|
||||
for instructions on how to run the examples.
|
||||
|
||||
Go to \texttt{NEB/examples/examplex01} and execute:
|
||||
Go to \texttt{NEB/examples/example01} and execute:
|
||||
\begin{verbatim}
|
||||
./run_example
|
||||
\end{verbatim}
|
||||
|
@ -157,13 +115,11 @@ This will create a subdirectory \texttt{results/} containing the input and
|
|||
output files generated by the calculation.
|
||||
|
||||
The \texttt{reference/} subdirectory contains
|
||||
verified output files, that you can check your results against. They
|
||||
were generated on a Linux PC using the Intel compiler. On different
|
||||
architectures the precise numbers could be slightly different, in
|
||||
particular if different FFT dimensions are automatically selected. For
|
||||
this reason, a plain diff of your results against the reference data
|
||||
doesn't work, or at least, it requires human inspection of the
|
||||
results.
|
||||
verified output files, that you can check your results against.
|
||||
The exact numbers depend upon the hardware, software stack,
|
||||
execution mode: tiny differences are not a problem, but
|
||||
a plain diff of your results against the reference data
|
||||
doesn't work, or at least, it requires human inspection.
|
||||
|
||||
\section{Parallelism}
|
||||
\label{Sec:para}
|
||||
|
@ -176,75 +132,23 @@ all \PWscf-specific parallelization options.
|
|||
For a detailed information about parallelization in \qe,
|
||||
please refer to the general documentation.
|
||||
|
||||
As \NEB \ makes several independent evaluations of energy and forces at each step of
|
||||
the path optimization (one for each point in the configurational space,
|
||||
called ``image'', consituting the path)
|
||||
it is possible to distribute them among processors using an additional level of
|
||||
parallelization (see later).
|
||||
%corresponding to a point in configuration space (i.e. to
|
||||
%a different set of atomic positions).
|
||||
In addition, \NEB \ makes several independent evaluations
|
||||
of energy and forces at each step of the path optimization:
|
||||
one per ``image'', that is, a point in the path, corresponding
|
||||
to a set of atomic positions.
|
||||
It is thus possible and often convenient to distribute
|
||||
images among processors, using the ``image'' parallelization,
|
||||
as described in the general documentation. The number of image
|
||||
groups is specified using the option \texttt{-ni N} (or,
|
||||
equivalently, \texttt{-nimage N}) after the executable name
|
||||
(e.g., \nebx) in the command line. The default is a single
|
||||
image group (no image parallelization)
|
||||
|
||||
\subsection{Running on parallel machines}
|
||||
\label{SubSec:para}
|
||||
|
||||
Parallel execution is strongly system- and installation-dependent.
|
||||
Typically one has to specify:
|
||||
\begin{enumerate}
|
||||
\item a launcher program (not always needed),
|
||||
such as \texttt{poe}, \texttt{mpirun}, \texttt{mpiexec},
|
||||
with the appropriate options (if any);
|
||||
\item the number of processors, typically as an option to the launcher
|
||||
program, but in some cases to be specified after the name of the
|
||||
program to be
|
||||
executed;
|
||||
\item the program to be executed, with the proper path if needed: for
|
||||
instance, \texttt{./neb.x}, or \texttt{\$HOME/bin/neb.x}, or
|
||||
whatever applies;
|
||||
\item other \texttt{PWscf}-specific parallelization options, to be
|
||||
read and interpreted by the running code;
|
||||
\item the number of image groups used by NEB (see next subsection).
|
||||
\end{enumerate}
|
||||
Items 1) and 2) are machine- and installation-dependent, and may be
|
||||
different for interactive and batch execution. Note that large
|
||||
parallel machines are often configured so as to disallow interactive
|
||||
execution: if in doubt, ask your system administrator.
|
||||
Item 3) also depend on your specific configuration (shell, execution
|
||||
path, etc).
|
||||
Item 4) is optional but may be important: see the following section
|
||||
for the meaning of the various options.
|
||||
|
||||
For illustration, here is how to run \texttt{neb.x} \ on 16 processors partitioned into
|
||||
4 image groups (4 processors each), for a path containing at least 4 images with POE:
|
||||
\begin{verbatim}
|
||||
poe neb.x -procs 16 -ni 4 -i input
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\subsection{Parallelization levels}
|
||||
|
||||
Data structures are distributed across processors.
|
||||
Processors are organized in a hierarchy of groups,
|
||||
which are identified by different MPI communicators level.
|
||||
The groups hierarchy is as follow:
|
||||
\begin{verbatim}
|
||||
world - image_group - PWscf hierarchy
|
||||
\end{verbatim}
|
||||
|
||||
\texttt{world}: is the group of all processors (MPI\_COMM\_WORLD).
|
||||
|
||||
\texttt{image\_group}: Processors can then be divided into different image groups,
|
||||
each of them taking care of one or more NEB images.
|
||||
|
||||
%{\bf Communications}:
|
||||
Image parallelization is of loosely coupled type, so that processors belonging to
|
||||
different image groups communicate only once in a while,
|
||||
whereas processors within the same image group are tightly coupled and
|
||||
communications are more significant (please refer to the user guide of \PWscf).
|
||||
|
||||
The default number of image groups is one, corresponding to the option
|
||||
\texttt{-ni 1} (or, equivalently, \texttt{-nimage 1}).
|
||||
|
||||
\newpage
|
||||
Images are loosely coupled calculations: processors belonging to
|
||||
different image groups communicate only once in a while, whereas
|
||||
processors within the same image group are tightly coupled and
|
||||
communications are more significant (please refer to the user
|
||||
guide of \PWscf).
|
||||
|
||||
\section{Using \NEB}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,4 @@
|
|||
\documentclass[12pt,a4paper]{article}
|
||||
\def\version{6.6}
|
||||
\documentclass[12pt,a4paper]{article} \def\version{6.8}
|
||||
\def\qe{{\sc Quantum ESPRESSO}}
|
||||
|
||||
\usepackage{html}
|
||||
|
@ -30,7 +29,6 @@
|
|||
\includegraphics[width=5cm]{\qeImage} \\
|
||||
% title
|
||||
\Huge \PHonon\ User's Guide (v. \version)
|
||||
\\ \Large (only partially updated)
|
||||
}
|
||||
|
||||
\maketitle
|
||||
|
@ -39,68 +37,23 @@
|
|||
|
||||
\section{Introduction}
|
||||
|
||||
This guide covers the usage of the \PHonon\ package, a
|
||||
part of the \qe\ distribution.
|
||||
Further documentation, beyond what is provided
|
||||
in this guide, can be found in the directory
|
||||
\texttt{PHonon/Doc/}, containing a copy of this guide.
|
||||
This guide covers the usage of the \PHonon\ package for
|
||||
linear-response calculations.
|
||||
|
||||
{\em Important notice: due to the lack of time and of manpower, this
|
||||
manual is only partially updated and may contain outdated information.}
|
||||
|
||||
This guide assumes that you know the contents of
|
||||
the general User's Guide for \qe\ and of the User's
|
||||
Guide for \PWscf. It also assumes that you have
|
||||
already installed \qe\ (\PHonon\ is not a stand-alone
|
||||
package: it requires \PWscf\ to be compiled and used).
|
||||
If not, please locate the general User's Guide in directory
|
||||
\texttt{Doc/} two levels above the one containing this guide,
|
||||
and the User's Guide for \PWscf\ in \texttt{PW/Doc/};
|
||||
or consult the web site:\\
|
||||
\texttt{http://www.quantum-espresso.org}.
|
||||
It is also assumed that you know the physics behind \qe,
|
||||
the methods it implements, and in particular the physics
|
||||
and the methods of \PHonon.
|
||||
It also assumes that you have already installed,
|
||||
or know how to install, \qe. If not, please read
|
||||
the general User's Guide for \qe, found in
|
||||
subdirectory \texttt{Doc/} of the main \qe\ directory,
|
||||
or consult the web site \texttt{http://www.quantum-espresso.org}.
|
||||
|
||||
% People who want to modify or contribute to \PHonon\ should read
|
||||
% the Developer Manual: \texttt{Doc/developer\_man.pdf}.
|
||||
|
||||
\PHonon\ has the following directory structure,
|
||||
contained in a subdirectory \texttt{PHonon/}
|
||||
of the main \qe\ tree:
|
||||
|
||||
\begin{tabular}{ll}
|
||||
\texttt{Doc/} & : contains the user\_guide and input data description \\
|
||||
\texttt{examples/} & : some running examples \\
|
||||
\texttt{PH/} & : source files for phonon calculations
|
||||
and analysis\\
|
||||
\texttt{Gamma/} & : source files for Gamma-only phonon calculation\\
|
||||
\end{tabular}\\
|
||||
{\em Important Notice:} since v.5.4, many modules and routines that were
|
||||
common to all linear-response \qe\ codes are moved into the new
|
||||
\texttt{LR\_Modules} subdirectory of the main tree. Since v.6.0, the
|
||||
\texttt{D3} code for anharmonic force constant calculations has been
|
||||
superseded by the \texttt{D3Q} code, available on
|
||||
\texttt{https://sourceforge.net/projects/d3q/} and automatically
|
||||
downloadable from \qe.
|
||||
|
||||
The codes available in the \PHonon\ package can perform the following
|
||||
types of calculations:
|
||||
\begin{itemize}
|
||||
\item phonon frequencies and eigenvectors at a generic wave vector,
|
||||
using Density-Functional Perturbation Theory;
|
||||
\item effective charges and dielectric tensors;
|
||||
\item electron-phonon interaction coefficients for metals;
|
||||
\item interatomic force constants in real space;
|
||||
\item Infrared and Raman (nonresonant) cross section.
|
||||
\end{itemize}
|
||||
|
||||
Phonons can be plotted using the \texttt{PlotPhon} package.
|
||||
Calculations of the vibrational free energy in the Quasi-Harmonic
|
||||
approximations can be performed using the \texttt{QHA} package.
|
||||
{\em Note:} since v.5.4, these two packages are separately distributed
|
||||
and no longer bundled with \PHonon. Their latest version can be
|
||||
found in the tarballs of \PHonon\ v.5.3.
|
||||
Further documentation, beyond what is provided
|
||||
in this guide, can be found in the directory
|
||||
\texttt{PHonon/Doc/}, containing a copy of this guide.
|
||||
People who want to contribute to \qe\ should read the
|
||||
Wiki pages on GitLab: \texttt{https://gitlab.com/QEF/q-e/-/wikis}.
|
||||
|
||||
\section{People}
|
||||
The \PHonon\ package
|
||||
|
@ -111,10 +64,10 @@ We quote in particular:
|
|||
\begin{itemize}
|
||||
\item Michele Lazzeri (Univ.Paris VI) for the 2n+1 code and Raman
|
||||
cross section calculation with 2nd-order response;
|
||||
\item Andrea Dal Corso for the implementation of Ultrasoft, PAW,
|
||||
noncolinear, spin-orbit extensions to \PHonon;
|
||||
\item Andrea Dal Corso for the implementation of Ultrasoft, PAW,
|
||||
noncolinear, spin-orbit extensions to \PHonon;
|
||||
\item Mitsuaki Kawamura (U.Tokyo) for implementation of the optimized
|
||||
tetrahedron method in phonon and electron-phonon calculations;
|
||||
tetrahedron method in phonon and electron-phonon calculations;
|
||||
\item Thibault Sohier, Matteo Calandra, Francesco Mauri, for
|
||||
phonons in two-dimensional systems;
|
||||
\item Andrea Floris, Iurii Timrov, Burak Himmetoglu, Nicola Marzari,
|
||||
|
@ -122,9 +75,6 @@ We quote in particular:
|
|||
Hubbard-corrected DFPT (DFPT+$U$).
|
||||
\end{itemize}
|
||||
|
||||
The \texttt{PlotPhon} and \texttt{QHA} packages were contribute by the
|
||||
late Prof. Eyvaz Isaev.
|
||||
|
||||
Other contributors include: Lorenzo Paulatto (Univ. Paris VI) for
|
||||
PAW, 2n+1 code; William Parker (Argonne) for phonon terms in dielectric
|
||||
tensor; Tobias Wassmann (Univ. Paris VI) for third-order derivatives of GGA
|
||||
|
@ -147,6 +97,45 @@ Once \qe\ is correctly configured, \PHonon\ can be automatically
|
|||
downloaded, unpacked and compiled by
|
||||
just typing \texttt{make ph}, from the main \qe\ directory.
|
||||
|
||||
\subsection{Structure of the \PHonon\ package}
|
||||
|
||||
\PHonon\ has the following directory structure,
|
||||
contained in a subdirectory \texttt{PHonon/}
|
||||
of the main \qe\ tree:
|
||||
|
||||
\begin{tabular}{ll}
|
||||
\texttt{Doc/} & : contains the user\_guide and input data description \\
|
||||
\texttt{examples/} & : some running examples \\
|
||||
\texttt{PH/} & : source files for phonon calculations
|
||||
and analysis\\
|
||||
\texttt{Gamma/} & : source files for Gamma-only phonon calculation\\
|
||||
\texttt{FD/} & : source files for FInite-Difference calculations\\
|
||||
\end{tabular}\\
|
||||
{\em Important Notice:} since v.5.4, many modules and routines that were
|
||||
common to all linear-response \qe\ codes are moved into the new
|
||||
\texttt{LR\_Modules} subdirectory of the main tree. Since v.6.0, the
|
||||
\texttt{D3} code for anharmonic force constant calculations has been
|
||||
superseded by the \texttt{D3Q} code, available on
|
||||
\texttt{https://sourceforge.net/projects/d3q/} and automatically
|
||||
downloadable from \qe.
|
||||
|
||||
The codes available in the \PHonon\ package can perform the following
|
||||
types of calculations:
|
||||
\begin{itemize}
|
||||
\item phonon frequencies and eigenvectors at a generic wave vector,
|
||||
using Density-Functional Perturbation Theory;
|
||||
\item effective charges and dielectric tensors;
|
||||
\item electron-phonon interaction coefficients for metals;
|
||||
\item interatomic force constants in real space;
|
||||
\item Infrared and Raman (nonresonant) cross section.
|
||||
\end{itemize}
|
||||
|
||||
{\em Note:} since v.5.4, packages \texttt{PlotPhon} (for phonon
|
||||
plotting) and \texttt{QHA} (vibrational free energy in the
|
||||
Quasi-Harmonic approximations), contribute by the late Prof.
|
||||
Eyvaz Isaev, are no longer bundled with \PHonon. Their latest
|
||||
version can be found in the tarballs of v.5.3 of QE.
|
||||
|
||||
\subsection{Compilation}
|
||||
|
||||
Typing \texttt{make ph} from the root \qe\ directory, or \texttt{make}
|
||||
|
@ -161,14 +150,14 @@ from the \PHonon\ directory, produces the following codes:
|
|||
\item \texttt{PH/q2r.x}: calculates Interatomic Force Constants (IFC) in real space
|
||||
from dynamical matrices produced by \phx\ on a regular {\bf q}-grid
|
||||
\item \texttt{PH/matdyn.x}: produces phonon frequencies at a generic wave vector
|
||||
using the IFC file calculated by \texttt{q2r.x}; may also calculate phonon DOS,
|
||||
the electron-phonon coefficient $\lambda$, the function $\alpha^2F(\omega)$
|
||||
using the IFC file calculated by \texttt{q2r.x}; may also calculate phonon
|
||||
DOS, the electron-phonon coefficient $\lambda$, the function
|
||||
$\alpha^2F(\omega)$
|
||||
\item \texttt{PH/lambda.x}: also calculates $\lambda$ and $\alpha^2F(\omega)$,
|
||||
plus $T_c$ for superconductivity using the McMillan formula
|
||||
\item \texttt{PH/alpha2f.x}: also calculates $\lambda$ and $\alpha^2F(\omega)$.
|
||||
It is used together with the optimized tetrahedron method
|
||||
(\verb|occupations="tetrahedra_opt"| in \pwx) and shifted {\it q}-grid
|
||||
(\verb|lshiftq=.true.| in \phx).
|
||||
It is used together with the optimized tetrahedron method and shifted
|
||||
{\it q}-grid
|
||||
\item \texttt{PH/fqha.x}: a simple code to calculate vibrational entropy with
|
||||
the quasi-harmonic approximation
|
||||
\item \texttt{PH/dvscf\_q2r.x}: performs inverse Fourier transformation of phonon
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
\documentclass[12pt,a4paper]{article}
|
||||
\def\version{6.7}
|
||||
\def\version{6.8}
|
||||
\def\qe{{\sc Quantum ESPRESSO}}
|
||||
|
||||
\usepackage{html}
|
||||
|
@ -15,14 +15,11 @@
|
|||
|
||||
\def\pwx{\texttt{pw.x}}
|
||||
\def\cpx{\texttt{cp.x}}
|
||||
\def\phx{\texttt{ph.x}}
|
||||
\def\nebx{\texttt{neb.x}}
|
||||
\def\configure{\texttt{configure}}
|
||||
\def\PWscf{\texttt{PWscf}}
|
||||
\def\PHonon{\texttt{PHonon}}
|
||||
\def\CP{\texttt{CP}}
|
||||
\def\PHonon{\texttt{PHonon}}
|
||||
\def\PostProc{\texttt{PostProc}}
|
||||
\def\NEB{\texttt{PWneb}}
|
||||
\def\make{\texttt{make}}
|
||||
|
||||
\begin{document}
|
||||
|
@ -35,7 +32,6 @@
|
|||
\includegraphics[width=5cm]{\qeImage} \\
|
||||
% title
|
||||
\Huge \PostProc\ User's Guide (v.\version)
|
||||
\\ \Large (only partially updated)
|
||||
}
|
||||
|
||||
\maketitle
|
||||
|
@ -46,27 +42,22 @@
|
|||
|
||||
This guide covers the usage of \PostProc, version \version:
|
||||
an open-source package for postprocessing of data produced by
|
||||
\PWscf\ and \CP. \PostProc\ is part of the \qe\ distribution
|
||||
and requires \PWscf\ to be installed.
|
||||
|
||||
{\em Important notice: due to the lack of time and of manpower, this
|
||||
manual is only partially updated and may contain outdated information.}
|
||||
\PWscf\ and \CP.
|
||||
|
||||
This guide assumes that you know the physics
|
||||
that \PostProc\ describes and the methods it implements.
|
||||
It also assumes that you have already installed,
|
||||
or know how to install, \qe. If not, please read
|
||||
the general User's Guide for \qe, found in
|
||||
directory \texttt{Doc/} two levels above the
|
||||
one containing this guide; or consult the web site:\\
|
||||
subdirectory \texttt{Doc/} of the main \qe\ directory,
|
||||
or consult the web site:\\
|
||||
\texttt{http://www.quantum-espresso.org}.
|
||||
|
||||
Further documentation, beyond what is provided
|
||||
in this guide, can be found in the directory
|
||||
\texttt{PP/Doc/}, containing a copy of this guide.
|
||||
People who want to contribute to \qe\ should read the
|
||||
Developer Manual, found in directory \texttt{Doc/} two levels
|
||||
above the one containing this guide: \texttt{Doc/developer\_man.pdf}.
|
||||
People who want to contribute to \qe\ should read the
|
||||
Wiki pages on GitLab: \texttt{https://gitlab.com/QEF/q-e/-/wikis}.
|
||||
|
||||
\section{People and terms of use}
|
||||
|
||||
|
@ -115,7 +106,8 @@ or the file License in the distribution).
|
|||
|
||||
\section{Compilation}
|
||||
|
||||
\PostProc\ is distributed together with \qe.
|
||||
\PostProc \ is part of the \qe \ distribution
|
||||
and depends upon \PWscf\ for compilation.
|
||||
For instruction on how to download and compile \qe, please refer
|
||||
to the general Users' Guide, available in file \texttt{Doc/user\_guide.pdf}
|
||||
under the main \qe\ directory, or in web site
|
||||
|
@ -132,8 +124,8 @@ and linked to \texttt{bin/}.
|
|||
All codes for which input documentation is not explicitly mentioned below
|
||||
have some documentation in the header of the fortran sources.
|
||||
In the following, subdirectories containing examples are found in
|
||||
\texttt{examples/}; ``Example N'' stands for subdirectory
|
||||
\texttt{examples/exampleN/}.
|
||||
\texttt{PP/examples/}; ``Example N'' stands for subdirectory
|
||||
\texttt{PP/examples/exampleN/}.
|
||||
|
||||
All quantities whose dimensions are not explicitly specified are in
|
||||
RYDBERG ATOMIC UNITS. Charge is "number" charge (i.e. not multiplied
|
||||
|
@ -163,31 +155,34 @@ Quantities that can be read or calculated are:
|
|||
Various types of plotting (along a line, on a plane, three-dimensional, polar)
|
||||
and output formats (including the popular cube format) can be specified.
|
||||
Moreover data can be saved to an intermediate (formatted) file so that
|
||||
more data set can be summed or subracted in a later run.
|
||||
more data sets can be summed or subracted in a later run.
|
||||
The output files can be directly read by the free plotting system Gnuplot
|
||||
(1D or 2D plots), or by code \texttt{plotrho.x} that comes with \PostProc\
|
||||
and produces PostScript 2D plots,
|
||||
or by advanced plotting software XCrySDen and gOpenMol (3D plots).
|
||||
or by advanced plotting software XCrySDen (3D plots).
|
||||
|
||||
See file \texttt{Doc/INPUT\_PP.*} for a detailed description of the input
|
||||
See file \texttt{PP/Doc/INPUT\_PP.*} for a detailed description of the input
|
||||
for code \texttt{pp.x}.
|
||||
See Example 01 for an example of a charge density plot, Example 03
|
||||
for an example of STM image simulation.
|
||||
|
||||
\paragraph{Planar averages}
|
||||
Code \texttt{plan\_avg.x} calculates planar averages of Kohn-Sham orbitals.
|
||||
Code \texttt{average.x} calculates planar averages of quantities calculated
|
||||
Input documentation is in the header of\texttt{PP/src/plan\_avg.f90}.
|
||||
|
||||
Code \texttt{average.x} calculates planar averages of quantities produced
|
||||
by \texttt{pp.x} (e.g. potentials, charge, magnetization densities).
|
||||
Note that \texttt{average.x} reads the intermediate file produced
|
||||
by \texttt{pp.x}, not data files produced by \pwx. Examples of usage
|
||||
of \texttt{average.x} can be found in \texttt{WorkFct\_example/}
|
||||
and in \texttt{dipole\_example/}.
|
||||
of \texttt{average.x} can be found in \texttt{PP/examples/WorkFct\_example/}
|
||||
and in \texttt{PP/examples/dipole\_example/}.
|
||||
|
||||
\paragraph{All-electron charge}
|
||||
\texttt{pawplot.x} produces plots of the all-electron charge
|
||||
for PAW calculations.
|
||||
for PAW calculations. Input documentation in the header of
|
||||
\texttt{PP/src/pawplot.f90}.
|
||||
|
||||
\paragraph{About Bader's analysis}
|
||||
\subsection{About Bader's analysis}
|
||||
In \texttt{http://theory.cm.utexas.edu/henkelman/code/bader/}
|
||||
one can find a software that performs Bader's analysis starting
|
||||
from charge on a regular grid. One should use PAW to compute the
|
||||
|
@ -218,7 +213,7 @@ symmetry analysis of the band structure. For a complete input description,
|
|||
see \texttt{Doc/INPUT\_bands.*}. See Example 01, Example 04 and Example 06
|
||||
for simple band plots.
|
||||
|
||||
The calculation of Fermi surface can be performed using code \texttt{fs.x}.
|
||||
The plotting of Fermi surfaces can be performed using code \texttt{fs.x}.
|
||||
The resulting file in .bxsf format can be read and plotted
|
||||
using XCrySDen. See Example 02 for an example of Fermi surface
|
||||
visualization (Ni, including the spin-polarized case).
|
||||
|
@ -231,7 +226,7 @@ in the pseudopotential file(s). The L\"owdin population analysis (similar to
|
|||
Mulliken analysis) is presently implemented. The projected DOS (or PDOS:
|
||||
the DOS projected onto atomic orbitals) can also be calculated and written
|
||||
to file(s). More details on the input data are found in file
|
||||
\texttt{Doc/INPUT\_PROJWFC.*}. The ordering of the various
|
||||
\texttt{PP/Doc/INPUT\_PROJWFC.*}. The ordering of the various
|
||||
angular momentum components (defined in routine \texttt{ylmr2.f90})
|
||||
is as follows:
|
||||
$P_{0,0}(t)$, $P_{1,0}(t)$, $P_{1,1}(t)cos\phi$, $P_{1,1}(t)sin\phi$,
|
||||
|
@ -245,25 +240,25 @@ analysed using auxiliary codes \texttt{sumpdos.x} (sums selected PDOS
|
|||
by specifying the names of files containing the desired PDOS: type
|
||||
\texttt{sumpdos.x -h} or look into the source code for more details)
|
||||
and \texttt{plotproj.x} . A more sophisticated tools is the script
|
||||
\texttt{tools/sum\_states.py}, by Julen Larrucea: documentation in
|
||||
\texttt{PP/tools/sum\_states.py}, by Julen Larrucea: documentation in
|
||||
\texttt{http://larrucea.eu/sum\_states-py-2/}.
|
||||
|
||||
The total electronic DOS can also be calculated by code \texttt{dos.x},
|
||||
whose complete input documentation is in \texttt{Doc/INPUT\_DOS.*}
|
||||
whose complete input documentation is in \texttt{PP/Doc/INPUT\_DOS.*}
|
||||
See Example 02 for total and projected electronic DOS calculations,
|
||||
-and for projected band structure;
|
||||
see Example 03 for projected and local DOS calculations.
|
||||
|
||||
The DOS projected over {\em molecular} states (e.g. for a molecule on
|
||||
a surface system) can be computed using code \texttt{molecularpdos.x}
|
||||
(courtesy of Guido Fratesi). See file \texttt{Doc/INPUT\_MOLDOS.*}
|
||||
for input documentation and directory \texttt{MolDos\_example/} for
|
||||
(courtesy of Guido Fratesi). See file \texttt{PP/Doc/INPUT\_MOLDOS.*}
|
||||
for input documentation and directory \texttt{PP/examples/MolDos\_example/} for
|
||||
an example.
|
||||
|
||||
The calculation of magnetic anisotropy using the Force Theorem is described
|
||||
in the following paper:
|
||||
https://journals.aps.org/prb/abstract/10.1103/PhysRevB.90.205409. An
|
||||
example and a README can be found in \texttt{ForceTheorem\_example/}
|
||||
example and a README can be found in \texttt{PP/examples/ForceTheorem\_example/}
|
||||
|
||||
\subsection{Color plot of the Fermi velocity and the orbital character
|
||||
on Fermi surfaces}
|
||||
|
@ -319,7 +314,7 @@ in \verb|fermisurf_example/|.
|
|||
There are several Wannier-related utilities in \PostProc:
|
||||
\begin{enumerate}
|
||||
\item The "Poor Man Wannier" code \texttt{pmw.x}, to be used
|
||||
in conjunction with DFT+U calculations (see Example 05)
|
||||
in conjunction with DFT+U calculations: see Example 05.
|
||||
\item The interface with Wannier90 code, \texttt{pw2wannier.x}:
|
||||
see the documentation in \texttt{W90/} (you may install the
|
||||
Wannier90 plug-in via \texttt{make w90} ). For spin-current
|
||||
|
@ -333,17 +328,17 @@ quantity "opt\_SHCryoo". In Wannier90, add "berry\_task = shc" and
|
|||
"shc\_ryoo=.true.". in the input parameters of postw90.x. They
|
||||
activate the calculation of SHC using .sHu and .sIu.''
|
||||
\item The \texttt{wannier\_ham.x} code generates a model Hamiltonian
|
||||
in Wannier functions basis: see \texttt{WannierHam\_example/}.
|
||||
in Wannier functions basis: see \texttt{PP/examples/WannierHam\_example/}.
|
||||
\end{enumerate}
|
||||
Note that the \texttt{wfdd.x} code has been moved to \CP.
|
||||
|
||||
\subsection{Interfaces to/from other code}
|
||||
|
||||
Codes \texttt{pw2bgw.x} and \texttt{bgw2pw.x} convert data files from
|
||||
\pwx\ to a format suitable for usage by the Berkeley GW code, and vice
|
||||
versa. See files \texttt{Doc/INPUT\_pw2bgw.*} and \texttt{Doc/INPUT\_bgw2pw.*}
|
||||
for input data documentation. NOTE: \texttt{bgw2pw.x} works only with the
|
||||
"old" and no longer supported I/O format.
|
||||
Codes \texttt{pw2bgw.x} convert data files from \pwx\ to a format suitable
|
||||
for usage by the Berkeley GW code. See file \texttt{Doc/INPUT\_pw2bgw.*}
|
||||
for input data documentation. Code \texttt{bgw2pw.x}, performing the
|
||||
inverse conversion, no longer works: a copy that worked for the old
|
||||
file format is kept for reference in \texttt{bgw2pw.f90.orig}.
|
||||
|
||||
Code \texttt{pw2gw.x} converts data files from \pwx\ to a format suitable
|
||||
for usage by another GW code, computes optical properties in single-particle
|
||||
|
@ -352,7 +347,7 @@ for input data documentation, directory \texttt{pw2gw\_example/}
|
|||
for an example of usage.
|
||||
|
||||
Code \texttt{open\_grid.x} writes Kohn-Sham orbitals for the complete
|
||||
k-point grid (not symetry-independent points only) in real space.
|
||||
k-point grid (not symmetry-independent points only) in real space.
|
||||
Useful for further processing. It can be used to generate the
|
||||
Kohn-Sham state data required in \texttt{pw2wannier.x} and Wannier90
|
||||
from the initial SCF calculation, bypassing the non-SCF calculation
|
||||
|
@ -364,11 +359,11 @@ containing the Kohn-Sham orbitals from an SCF calculation (or from the
|
|||
output of \texttt{open\_grid.x}). These orbitals are used for
|
||||
post-processing in CRITIC2.
|
||||
|
||||
Code \texttt{pw\_export.f90}, no longer compiled by default and obsolete,
|
||||
is an interface to other codes, documented in \texttt{Doc/INPUT\_pw\_export.*}.
|
||||
Code \texttt{pw\_export.f90} no longer works and is no longer present.
|
||||
|
||||
\subsection{Other tools}
|
||||
|
||||
\paragraph{Exchange-correlation}
|
||||
Code \texttt{ppacf.x} computes the coupling constant dependency of the
|
||||
exchange correlation potential $E_{xc,\lambda}, \lambda \in [0:1]$
|
||||
and the spatial distribution of the exchange-correlation energy density
|
||||
|
@ -376,13 +371,16 @@ and kinetic correlation energy density according to:
|
|||
Y. Jiao, E. Schr\"oder, and P. Hyldgaard, Phys. Rev. B 97, 085115 (2018).
|
||||
See \texttt{PP/Doc/INPUT\_PPACF.html}.
|
||||
|
||||
\paragraph{Wavefunction conversion}
|
||||
Code \texttt{wfck2r.x} converts Kohn-Sham orbitals from reciprocal to real
|
||||
space. It is a useful starting point if you need to access wavefunctions
|
||||
and perform postprocessing operations that are not implemented in \qe.
|
||||
|
||||
\paragraph{Dielectric function}
|
||||
Code \texttt{epsilon.x} calculates RPA frequency-dependent complex dielectric
|
||||
function. Documentation is in file \texttt{Doc/eps\_man.tex}.
|
||||
|
||||
\paragraph{Core-level shifts}
|
||||
Code \texttt{initial\_state.x} calculates the initial state contribution
|
||||
to the Core-level shift. See \texttt{CLS\_IS\_example/} for
|
||||
an example, and \texttt{CLS\_FS\_example/} for the corresponding
|
||||
|
|
|
@ -147,8 +147,8 @@ d_matrix_nc.o : ../../PW/src/symm_base.o
|
|||
d_matrix_so.o : ../../Modules/invmat.o
|
||||
d_matrix_so.o : ../../Modules/kind.o
|
||||
d_matrix_so.o : ../../Modules/random_numbers.o
|
||||
d_matrix_so.o : ../../PW/src/pwcom.o
|
||||
d_matrix_so.o : ../../PW/src/symm_base.o
|
||||
d_matrix_so.o : ../../upflib/upf_spinorb.o
|
||||
do_initial_state.o : ../../Modules/cell_base.o
|
||||
do_initial_state.o : ../../Modules/constants.o
|
||||
do_initial_state.o : ../../Modules/control_flags.o
|
||||
|
|
|
@ -1501,7 +1501,6 @@ mix_rho.o : ../../Modules/cell_base.o
|
|||
mix_rho.o : ../../Modules/constants.o
|
||||
mix_rho.o : ../../Modules/control_flags.o
|
||||
mix_rho.o : ../../Modules/fft_base.o
|
||||
mix_rho.o : ../../Modules/io_files.o
|
||||
mix_rho.o : ../../Modules/io_global.o
|
||||
mix_rho.o : ../../Modules/ions_base.o
|
||||
mix_rho.o : ../../Modules/kind.o
|
||||
|
@ -1510,6 +1509,7 @@ mix_rho.o : ../../Modules/recvec.o
|
|||
mix_rho.o : ../../Modules/wavefunctions.o
|
||||
mix_rho.o : ../../UtilXlib/mp.o
|
||||
mix_rho.o : ../../upflib/uspp.o
|
||||
mix_rho.o : buffers.o
|
||||
mix_rho.o : gcscf_module.o
|
||||
mix_rho.o : ldaU.o
|
||||
mix_rho.o : pwcom.o
|
||||
|
|
|
@ -643,7 +643,7 @@ SUBROUTINE print_cuda_info
|
|||
!
|
||||
USE io_global, ONLY : stdout
|
||||
USE control_flags, ONLY : use_gpu, iverbosity
|
||||
USE mp_world, ONLY : nnode, world_comm
|
||||
USE mp_world, ONLY : nnode, nproc
|
||||
USE mp, ONLY : mp_sum, mp_max
|
||||
#if defined(__CUDA)
|
||||
USE cudafor
|
||||
|
@ -651,7 +651,6 @@ SUBROUTINE print_cuda_info
|
|||
IMPLICIT NONE
|
||||
!
|
||||
INTEGER :: idev, ndev, ierr
|
||||
INTEGER, ALLOCATABLE :: dev_association(:)
|
||||
TYPE (cudaDeviceProp) :: prop
|
||||
!
|
||||
IF (use_gpu) THEN
|
||||
|
@ -672,21 +671,10 @@ SUBROUTINE print_cuda_info
|
|||
! User friendly, approximated warning.
|
||||
! In order to get this done right, one needs an intra_node communicator
|
||||
!
|
||||
CALL mp_max(ndev, world_comm)
|
||||
!
|
||||
ALLOCATE(dev_association(ndev))
|
||||
!
|
||||
dev_association(:) = 0
|
||||
dev_association(idev+1) = 1
|
||||
!
|
||||
CALL mp_sum(dev_association, world_comm)
|
||||
!
|
||||
IF (ANY(dev_association > nnode*2)) &
|
||||
IF (nproc > ndev * nnode * 2) &
|
||||
CALL infomsg('print_cuda_info', &
|
||||
'High GPU oversubscription detected. Are you sure this is what you want?')
|
||||
!
|
||||
DEALLOCATE(dev_association)
|
||||
!
|
||||
! Verbose information for advanced users
|
||||
IF (iverbosity > 0) THEN
|
||||
WRITE( stdout, '(/,5X,"GPU used by master process:",/)' )
|
||||
|
|
|
@ -47,7 +47,8 @@ MODULE pseudo_types
|
|||
CHARACTER(LEN=80):: date=' ' ! generation date
|
||||
CHARACTER(LEN=80):: comment=' ' ! author's comment
|
||||
CHARACTER(LEN=2) :: psd=' ' ! Element label
|
||||
CHARACTER(LEN=20):: typ=' ' ! Pseudo type ( NC or US or PAW)
|
||||
CHARACTER(LEN=4) :: typ=' ' ! Pseudo type: NC, SL, US, PAW, 1/r
|
||||
! NB: many files have USPP instead of US
|
||||
CHARACTER(len=6) :: rel=' ' ! relativistic: {no|scalar|full}
|
||||
LOGICAL :: tvanp ! .true. if Ultrasoft
|
||||
LOGICAL :: tcoulombp ! .true. if Coulomb 1/r potential
|
||||
|
|
Loading…
Reference in New Issue