mirror of https://github.com/QMCPACK/qmcpack.git
manual: cleanup hamiltonian section
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6537 e5b18d87-469d-4833-9cc0-8cdfa06e9491
This commit is contained in:
parent
1b5e6cad07
commit
0fb465a718
|
@ -2,6 +2,7 @@
|
|||
\label{chap:hamiltobs}
|
||||
|
||||
|
||||
\dev{
|
||||
|
||||
\begin{table}[h]
|
||||
\begin{center}
|
||||
|
@ -62,7 +63,7 @@
|
|||
\end{center}
|
||||
\end{table}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
\section{The Hamiltonian}
|
||||
|
@ -107,6 +108,11 @@
|
|||
\end{table}
|
||||
\FloatBarrier
|
||||
|
||||
Additional information:
|
||||
\begin{itemize}
|
||||
\item{\textbf{target:} Must be set to the name of the quantum particeset. In normal usage, no other attributes should be provided.}
|
||||
\end{itemize}
|
||||
|
||||
% All-electron hamiltonian element
|
||||
\begin{lstlisting}[caption=All electron Hamiltonian XML element.]
|
||||
<hamiltonian target="e">
|
||||
|
@ -174,13 +180,17 @@
|
|||
\end{table}
|
||||
\FloatBarrier
|
||||
|
||||
Remarks
|
||||
Additional information:
|
||||
\begin{itemize}
|
||||
\item{If an interaction is between classical (e.g. ions) and quantum (e.g. electrons), \texttt{source}/\texttt{target} should be the name of the classical/quantum particleset.}
|
||||
\item{\textbf{type:} Used to select the desired pair potential. Must be selected from the list of type options above.}
|
||||
\item{\textbf{name:} A unique name used to identify this pair potential. Block averaged output data will appear under this name in \texttt{scalar.dat} and/or \texttt{stat.h5} files.}
|
||||
\item{\textbf{source/target:} These specify the particles involved in a pair interaction. If an interaction is between classical (e.g. ions) and quantum (e.g. electrons), \texttt{source}/\texttt{target} should be the name of the classical/quantum particleset.}
|
||||
\item{Only \texttt{coulomb, pseudo, mpc} are described in detail below. The older or less used types (\texttt{cpp, numerical, jellium, hardsphere, gaussian, huse, modpostel, oscillatory, skpot, vhxc, modInsKE, LJP\_smoothed, HeSAPT\_smoothed, HFDHE2\_Moroni1995, eHe, HFDHE2}) are not covered.}
|
||||
\dev{
|
||||
\item{Available only if \texttt{QMC\_BUILD\_LEVEL>2} and \texttt{QMC\_CUDA} is not defined: \texttt{hardsphere, gaussian, huse, modpostel, oscillatory, skpot}.}
|
||||
\item{Available only if \texttt{OHMMS\_DIM==3}: \texttt{mpc, vhxc, pseudo}.}
|
||||
\item{Available only if \texttt{OHMMS\_DIM==3} and \texttt{QMC\_BUILD\_LEVEL>2} and \texttt{QMC\_CUDA} is not defined: \texttt{cpp, LJP\_smoothed, HeSAPT\_smoothed, HFDHE2\_Moroni1995, eHe, jellium, HFDHE2, modInsKE}.}
|
||||
}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
@ -210,22 +220,37 @@ Remarks
|
|||
& \texttt{name/id}$^r$ & text & \textit{anything}& ElecElec & Unique name for interaction\\
|
||||
& \texttt{source}$^r$ & text & \texttt{particleset.name} &\texttt{hamiltonian.target}& Identify interacting particles\\
|
||||
& \texttt{target}$^r$ & text & \texttt{particleset.name} &\texttt{hamiltonian.target}& Identify interacting particles\\
|
||||
& \texttt{pbc}$^o$ & boolean & yes/no & yes$^*$ & Use Ewald summation \\
|
||||
& \texttt{pbc}$^o$ & boolean & yes/no & yes & Use Ewald summation \\
|
||||
& \texttt{physical}$^o$& boolean & yes/no & yes & Hamiltonian(yes)/observable(no) \\
|
||||
& \texttt{forces} & boolean & yes/no & no & \textit{Deprecated} \\
|
||||
\dev{& \texttt{forces} & boolean & yes/no & no & \textit{Deprecated} \\ }
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\end{center}
|
||||
\end{table}
|
||||
\FloatBarrier
|
||||
|
||||
Remarks
|
||||
Additional information
|
||||
\begin{itemize}
|
||||
\item{Ewald summation will not be performed if \texttt{simulationcell.bconds== n n n}, regardless of the value of \texttt{pbc}. Similarly, the \texttt{pbc} attribute can only be used to turn off Ewald summation if \texttt{simulationcell.bconds!= n n n}.}
|
||||
\item{Note: traditional names for electron-electron, electron-ion, and ion-ion terms are \texttt{ElecElec}, \texttt{ElecIon}, and \texttt{IonIon}, respectively. While any choice can be used, the data analysis tools expect to find columns in \texttt{*.scalar.dat} with these names.}
|
||||
\item{\textbf{type/source/target} See description for the generic \texttt{pairpot} factory element above.}
|
||||
\item{\textbf{name:} Traditional user-specified names for electron-electron, electron-ion, and ion-ion terms are \texttt{ElecElec}, \texttt{ElecIon}, and \texttt{IonIon}, respectively. While any choice can be used, the data analysis tools expect to find columns in \texttt{*.scalar.dat} with these names.}
|
||||
\item{\textbf{pbc}: Ewald summation will not be performed if \texttt{simulationcell.bconds== n n n}, regardless of the value of \texttt{pbc}. Similarly, the \texttt{pbc} attribute can only be used to turn off Ewald summation if \texttt{simulationcell.bconds!= n n n}. The default value is recommended.}
|
||||
\item{\textbf{physical}: If \texttt{physical==yes}, this pair potential is included in the Hamiltonian and will factor into the \texttt{LocalEnergy} reported by QMCPACK and also in the DMC branching weight. If \texttt{physical==no}, then the pair potential is treated as a passive observable but not as part of the Hamiltonian itself. As such it does not contribute to the outputted \texttt{LocalEnergy}. Regardless of the value of \texttt{physical} output data will appear in \texttt{scalar.dat} in a column headed by \texttt{name}.}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\begin{lstlisting}[caption=XML element for Coulomb interaction between electrons.]
|
||||
<pairpot name="ElecElec" type="coulomb" source="e" target="e"/>
|
||||
\end{lstlisting}
|
||||
|
||||
\begin{lstlisting}[caption=XML element for Coulomb interaction between electrons and ions (all-electron only).]
|
||||
<pairpot name="ElecIon" type="coulomb" source="i" target="e"/>
|
||||
\end{lstlisting}
|
||||
|
||||
\begin{lstlisting}[caption=XML element for Coulomb interaction between ions.]
|
||||
<pairpot name="IonIon" type="coulomb" source="i" target="i"/>
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
\subsection{Pseudopotentials}
|
||||
|
||||
% pseudopotential element
|
||||
|
@ -265,15 +290,34 @@ Remarks
|
|||
\end{table}
|
||||
\FloatBarrier
|
||||
|
||||
Remarks
|
||||
Additional information:
|
||||
\begin{itemize}
|
||||
\item{Ewald summation will not be performed if \texttt{simulationcell.bconds== n n n}, regardless of the value of \texttt{pbc}. Similarly, the \texttt{pbc} attribute can only be used to turn off Ewald summation if \texttt{simulationcell.bconds!= n n n}.}
|
||||
\item{Additional fields will be present in \texttt{*scalar.dat} output files when pseudopotentials are used. The field \texttt{LocalECP} refers to the local part of the pseudopotential. If non-local channels are present, a \texttt{NonLocalECP} field will be added that contains the non-local energy summed over all angular momentum channels.}
|
||||
\item{If \texttt{format}==table}, QMCPACK looks for \texttt{*.psf} files containing pseudopotential data in a tabular format. The files must be named after the ionic species provided in \texttt{particleset} (\emph{e.g.} \texttt{Li.psf} and \texttt{H.psf}).
|
||||
\item{If \texttt{format}==xml, additional \texttt{pseudo} child XML elements must be provided (see below). These elements specify individual file names and formats (both the FSAtom XML and CASINO tabular data formats are supported).}
|
||||
\item{\textbf{type/source/target} See description for the generic \texttt{pairpot} factory element above.}
|
||||
\item{\textbf{name:} Ignored. Instead default names will be present in \texttt{*scalar.dat} output files when pseudopotentials are used. The field \texttt{LocalECP} refers to the local part of the pseudopotential. If non-local channels are present, a \texttt{NonLocalECP} field will be added that contains the non-local energy summed over all angular momentum channels.}
|
||||
\item{\textbf{pbc:} Ewald summation will not be performed if \texttt{simulationcell.bconds== n n n}, regardless of the value of \texttt{pbc}. Similarly, the \texttt{pbc} attribute can only be used to turn off Ewald summation if \texttt{simulationcell.bconds!= n n n}.}
|
||||
\item{\textbf{format:} If \texttt{format}==table, QMCPACK looks for \texttt{*.psf} files containing pseudopotential data in a tabular format. The files must be named after the ionic species provided in \texttt{particleset} (\emph{e.g.} \texttt{Li.psf} and \texttt{H.psf}). If \texttt{format}==xml, additional \texttt{pseudo} child XML elements must be provided (see below). These elements specify individual file names and formats (both the FSAtom XML and CASINO tabular data formats are supported). }
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\begin{lstlisting}[caption=XML element for pseudopotential electron-ion interaction (psf files).]
|
||||
<pairpot name="PseudoPot" type="pseudo" source="i" wavefunction="psi0" format="psf"/>
|
||||
\end{lstlisting}
|
||||
|
||||
\begin{lstlisting}[caption=XML element for pseudopotential electron-ion interaction (xml files).]
|
||||
<pairpot name="PseudoPot" type="pseudo" source="i" wavefunction="psi0" format="xml">
|
||||
<pseudo elementType="Li" href="Li.xml"/>
|
||||
<pseudo elementType="H" href="H.xml"/>
|
||||
</pairpot>
|
||||
\end{lstlisting}
|
||||
|
||||
%\begin{lstlisting}[caption=XML element for pseudopotential electron-ion interaction (CASINO files).]
|
||||
% <pairpot name="PseudoPot" type="pseudo" source="i" wavefunction="psi0" format="xml">
|
||||
% <pseudo elementType="Li" href="Li.data"/>
|
||||
% <pseudo elementType="H" href="H.data"/>
|
||||
% </pairpot>
|
||||
%\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
% pseudo element
|
||||
% dev notes
|
||||
|
@ -320,6 +364,11 @@ Remarks
|
|||
\FloatBarrier
|
||||
|
||||
|
||||
\begin{lstlisting}[caption=XML element for pseudopotential of single ionic species.]
|
||||
<pseudo elementType="Li" href="Li.xml"/>
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
\subsection{Modified periodic coulomb interaction/correction}
|
||||
|
||||
|
@ -603,7 +652,7 @@ Here $N_s$ is the number of particles of species $s$ and $V$ is the supercell vo
|
|||
|
||||
In QMCPACK, an estimate of $g_{ss'}(r)$ is obtained as a radial histogram with a set of $N_b$ uniform bins of width $\delta r$. This can be expressed analytically as
|
||||
\begin{align}
|
||||
\tilde{g}_{ss'}(r) = \frac{V}{4\pi r^2N_sN_{s'}}\sum_{i_s=1}^{N_s}\sum_{j_{s'}=1}^{N_{s'}}\frac{1}{\delta r}\int_{r-\delta r/2}^{r+\delta r/2}dr'\delta(r'-|r_{i_s}-r_{j_{s'}}|),
|
||||
\tilde{g}_{ss'}(r) = \frac{V}{4\pi r^2N_sN_{s'}}\sum_{i=1}^{N_s}\sum_{j=1}^{N_{s'}}\frac{1}{\delta r}\int_{r-\delta r/2}^{r+\delta r/2}dr'\delta(r'-|r_{si}-r_{s'j}|),
|
||||
\end{align}
|
||||
where the radial coordinate $r$ is restricted to reside at the bin centers, $\delta r/2, 3 \delta r/2, 5 \delta r/2, \ldots$.
|
||||
|
||||
|
@ -651,7 +700,54 @@ Additional information:
|
|||
|
||||
\subsection{Static structure factor, $S(k)$}
|
||||
|
||||
% <estimator type="sk" hdf5="yes"/>
|
||||
|
||||
The functional form of the species resolved radial pair correlation function operator is
|
||||
\begin{align}
|
||||
g_{ss'}(r) = \frac{V}{4\pi r^2N_sN_{s'}}\sum_{i_s=1}^{N_s}\sum_{j_{s'}=1}^{N_{s'}}\delta(r-|r_{i_s}-r_{j_{s'}}|).
|
||||
\end{align}
|
||||
Here $N_s$ is the number of particles of species $s$ and $V$ is the supercell volume. If $s=s'$, then the sum is restricted so that $i_s\ne j_s$.
|
||||
|
||||
In QMCPACK, an estimate of $g_{ss'}(r)$ is obtained as a radial histogram with a set of $N_b$ uniform bins of width $\delta r$. This can be expressed analytically as
|
||||
\begin{align}
|
||||
\tilde{g}_{ss'}(r) = \frac{V}{4\pi r^2N_sN_{s'}}\sum_{i=1}^{N_s}\sum_{j=1}^{N_{s'}}\frac{1}{\delta r}\int_{r-\delta r/2}^{r+\delta r/2}dr'\delta(r'-|r_{si}-r_{s'j}|),
|
||||
\end{align}
|
||||
where the radial coordinate $r$ is restricted to reside at the bin centers, $\delta r/2, 3 \delta r/2, 5 \delta r/2, \ldots$.
|
||||
|
||||
% has a CUDA counterpart, may be useful to understand difference between cpu and gpu estimators
|
||||
% see HamiltonianFactory.cpp
|
||||
% SkEstimator_CUDA* apot=new SkEstimator_CUDA(*targetPtcl);
|
||||
|
||||
\FloatBarrier
|
||||
\begin{table}[h]
|
||||
\begin{center}
|
||||
\begin{tabularx}{\textwidth}{l l l l l l }
|
||||
\hline
|
||||
\multicolumn{6}{l}{\texttt{estimator type=sk} element} \\
|
||||
\hline
|
||||
\multicolumn{2}{l}{parent elements:} & \multicolumn{4}{l}{\texttt{hamiltonian, qmc}}\\
|
||||
\multicolumn{2}{l}{child elements:} & \multicolumn{4}{l}{\textit{None}}\\
|
||||
\multicolumn{2}{l}{attributes} & \multicolumn{4}{l}{}\\
|
||||
& \bfseries name & \bfseries datatype & \bfseries values & \bfseries default & \bfseries description \\
|
||||
& \texttt{type}$^r$ & text & \textbf{sk} & & Must be sk \\
|
||||
& \texttt{name}$^r$ & text & \textit{anything} & any & Unique name for estimator \\
|
||||
& \texttt{hdf5}$^o$ & boolean & yes/no & no & Output to \texttt{stat.h5} (yes) or \texttt{scalar.dat} (no) \\
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\end{center}
|
||||
\end{table}
|
||||
\FloatBarrier
|
||||
|
||||
Additional information:
|
||||
\begin{itemize}
|
||||
\item{\textbf{name:} Unique name for estimator instance. A data structure of the same name will appear in \texttt{stat.h5} output files.}
|
||||
\item{\textbf{hdf5:} If \texttt{hdf5==yes} output data for $S(k)$ is directed to the \texttt{stat.h5} file (recommended usage). If \texttt{hdf5==no}, the data is instead routed to the \texttt{scalar.dat} file resulting in many columns of data with headings prefixed by \texttt{name} and postfixed by the k-point index (\textit{e.g.} \texttt{sk\_0 sk\_1 \ldots sk\_1037 \ldots}).}
|
||||
\item{This estimator only works in periodic boundary conditions. Its presence in the input file is ignored otherwise.}
|
||||
\end{itemize}
|
||||
|
||||
\begin{lstlisting}[caption=Static structure factor estimator element.]
|
||||
<estimator type="sk" name="sk" hdf5="yes"/>
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
\subsection{Energy density estimator}
|
||||
|
|
|
@ -8,10 +8,19 @@
|
|||
\usepackage{listings}
|
||||
\usepackage{tabularx}
|
||||
\usepackage{placeins}
|
||||
\usepackage{xcolor}
|
||||
|
||||
\lstloadlanguages{C++,XML}
|
||||
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
|
||||
|
||||
% for markup, as needed
|
||||
\newcommand{\red}[1]{{\color{red} #1}}
|
||||
\newcommand{\blue}[1]{{\color{blue} #1}}
|
||||
|
||||
% hide or show developer notes
|
||||
\newcommand{\dev}[1]{#1}
|
||||
%\newcommand{\dev}[1]{}
|
||||
|
||||
\oddsidemargin 0cm
|
||||
\evensidemargin 0cm
|
||||
\textwidth 6.5in
|
||||
|
|
Loading…
Reference in New Issue