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:
giannozz 2021-07-15 17:53:34 +00:00
commit 55f285685c
11 changed files with 150 additions and 268 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:",/)' )

View File

@ -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