Correct spelling errors across entire source

This commit is contained in:
Paul Kent 2018-10-10 19:58:16 -04:00
parent 4f6ccf2c0b
commit f5c7747afb
148 changed files with 280 additions and 280 deletions

View File

@ -14,7 +14,7 @@ IF(QMC_OMP)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
ENDIF(QMC_OMP)
# Set clang specfic flags (which we always want)
# Set clang specific flags (which we always want)
ADD_DEFINITIONS( -Drestrict=__restrict__ )
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -fstrict-aliasing")

View File

@ -1,9 +1,9 @@
# Simple file to find MKL (if availible)
# Simple file to find MKL (if available)
# This needs a lot of work to make it robust
INCLUDE( CheckCXXSourceCompiles )
# Extremely Basic Support of common mkl module environment variables
# or -DMKLROOT/-DMKL_HOME instead of prefered -DMKL_ROOT
# or -DMKLROOT/-DMKL_HOME instead of preferred -DMKL_ROOT
if (NOT MKL_ROOT)
find_path(MKL_ROOT "mkl.h"
HINTS ${MKLROOT} ${MKL_HOME} $ENV{MKLROOT} $ENV{MKL_ROOT} $ENV{MKL_HOME}

View File

@ -13,7 +13,7 @@ IF(QMC_OMP)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
ENDIF(QMC_OMP)
# Set gnu specfic flags (which we always want)
# Set gnu specific flags (which we always want)
ADD_DEFINITIONS( -Drestrict=__restrict__ )
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -finline-limit=1000 -fstrict-aliasing -funroll-all-loops")

View File

@ -2,8 +2,8 @@
# Usage: ctest -s script,build
# build = debug / optimized / valgrind / coverage
# Note: this test will use use the number of processors defined in the variable N_PROCS,
# the enviornmental variables
# N_PROCS, or the number of processors availible (if not specified)
# the environmental variables
# N_PROCS, or the number of processors available (if not specified)
# N_PROCS_BUILD, or N_PROCS (if not specified)
# N_CONCURRENT_TESTS, or N_PROCS (if not specified)
# TEST_SITE_NAME, or HOSTNAME (if not specified)

View File

@ -179,11 +179,11 @@ SET(BUILD_UNIT_TESTS 1 CACHE BOOL "Build unit tests")
SET(BUILD_SANDBOX 1 CACHE BOOL "Build sandbox tests and miniapps")
SET(BUILD_LMYENGINE_INTERFACE 1 CACHE BOOL "Build LMY engine")
IF (QMC_CUDA AND BUILD_LMYENGINE_INTERFACE)
MESSAGE(STATUS "LMY engine is not compatiable with CUDA build! Disabling LMY engine")
MESSAGE(STATUS "LMY engine is not compatible with CUDA build! Disabling LMY engine")
SET(BUILD_LMYENGINE_INTERFACE 0)
ENDIF()
IF(MIXED_PRECISION AND BUILD_LMYENGINE_INTERFACE)
MESSAGE(STATUS "LMY engine is not compatiable with CPU mixed precision build! Disabling LMY engine")
MESSAGE(STATUS "LMY engine is not compatible with CPU mixed precision build! Disabling LMY engine")
SET(BUILD_LMYENGINE_INTERFACE 0)
ENDIF()
SET(BUILD_AFQMC 0 CACHE BOOL "Build with AFQMC")

View File

@ -65,9 +65,9 @@ make -j 8
## Set the environment
A number of enviornmental variables affect the build. In particular
A number of environmental variables affect the build. In particular
they can control the default paths for libraries, the default
compilers, etc. The list of enviornmental variables is given below:
compilers, etc. The list of environmental variables is given below:
| Environment variable | Description |
|----------------------|-------------|
@ -81,10 +81,10 @@ make -j 8
## CMake options
In addition to reading the enviornmental variables, CMake provides a
In addition to reading the environmental variables, CMake provides a
number of optional variables that can be set to control the build and
configure steps. When passed to CMake, these variables will take
precident over the enviornmental and default variables. To set them
precident over the environmental and default variables. To set them
add -D FLAG=VALUE to the configure line between the cmake command and
the path to the source directory.

View File

@ -1832,7 +1832,7 @@ UML_LOOK = NO
# the class node. If there are many fields or methods and many nodes the
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
# threshold limits the number of items for each type to make the size more
# managable. Set this to 0 for no limit. Note that the threshold may be
# manageable. Set this to 0 for no limit. Note that the threshold may be
# exceeded by 50% before the limit is enforced.
UML_LIMIT_NUM_FIELDS = 10

View File

@ -1747,7 +1747,7 @@ UML_LOOK = NO
# the class node. If there are many fields or methods and many nodes the
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
# threshold limits the number of items for each type to make the size more
# managable. Set this to 0 for no limit. Note that the threshold may be
# manageable. Set this to 0 for no limit. Note that the threshold may be
# exceeded by 50% before the limit is enforced.
UML_LIMIT_NUM_FIELDS = 10

View File

@ -11,7 +11,7 @@
\newcommand{\Aopt}{\tilde{A}}
\section{Trial wave functions in logarithmic form}
Let us consider a trial wave funciton, $\psi$, which is a product of
Let us consider a trial wave function, $\psi$, which is a product of
components,
\begin{equation}
\psi = \psi_1 \psi_2 \psi_3 \dots

View File

@ -66,7 +66,7 @@ Simply add new files to the INPUT list in \c ug.cfg or \c dev.cfg and run \c dox
\code
INPUT = ug/index.dox ug/gettingstarted.dox ug/somethingnew.dox
\endcode
See an exmaple <tt>ug/qmc.dox</tt>.
See an example <tt>ug/qmc.dox</tt>.
<!--
Each page has

View File

@ -7,7 +7,7 @@ The most recent released version is available at
https://www.qmcpack.org under UIUC/NCSA open-source licence. Those who
are interested in QMCPACK development are strongly encouraged to
contact the developers to establish collaborations so that one can
access to the developers' svn respository. This is exactly the same as
access to the developers' svn repository. This is exactly the same as
the release version except for being (i) slightly more recent, (ii) having fewer bugs due to bugfixes, and (iii) potentially having new bugs due to new features.
Although it is not required, the developers will appreciate if any new
software can be made available to others when the research and development

View File

@ -1610,7 +1610,7 @@ UML_LOOK = NO
# the class node. If there are many fields or methods and many nodes the
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
# threshold limits the number of items for each type to make the size more
# managable. Set this to 0 for no limit. Note that the threshold may be
# manageable. Set this to 0 for no limit. Note that the threshold may be
# exceeded by 50% before the limit is enforced.
UML_LIMIT_NUM_FIELDS = 10

View File

@ -3,7 +3,7 @@
# Script that displays a recursive formatted folder and file listing
# @author Corbin
# @site iamcorbin.net
#Folder Seperator
#Folder Separator
BREAK='-------------------------------------------------------------------------------------'
#Optional: if a folder is passed as an argument, run fulltree on that folder rather than the current folder

View File

@ -181,7 +181,7 @@ Value: ground. Only for PureSD. Sets the trial wave-function to a block diagonal
\begin{itemize}
\item \textbf{cutoff}. Cutoff applied to Cholesky vectors. Elements of the Cholesky vectors below this value are set to zero.
Default: 1e-6
\item \textbf{substractMF}. If ``yes'', apply mean-field substraction based on the ImpSamp trial wave-function. Must set to ``no'' to turn it off.
\item \textbf{substractMF}. If ``yes'', apply mean-field subtraction based on the ImpSamp trial wave-function. Must set to ``no'' to turn it off.
Default: yes
\item \textbf{useCholesky}. If ``yes'', use iterative Cholesky decomposition to factorize 2-electron integral matrix. If ``no'', use eigenvalue decomposition (which is very slow and memory intensive).
Default: yes

View File

@ -316,7 +316,7 @@ If the Quantum Package output file is named ``\textbf{Name}.dump'', all files g
<basisset name="LCAOBSet">
\end{shade}
The tag ``cuspCorrection'' in the \texttt{wfj.xml} (or \texttt{wfnoj.xml}) wavefunction file will force correction of the orbitals at the begining of the \qmcpack run. \\
The tag ``cuspCorrection'' in the \texttt{wfj.xml} (or \texttt{wfnoj.xml}) wavefunction file will force correction of the orbitals at the beginning of the \qmcpack run. \\
In the ``orbitals`` section of the wavefunction file, a new tag ``cuspInfo'' will be added for orbitals spin-up and orbitals spin-down:
\begin{shade}
@ -544,13 +544,13 @@ Convert4qmc can read this format and generate \qmcpack input files in xml and HD
The main reason to use Quantum Package is to access the CIPSI algorithm to generate a multideterminant wavefunction.
CIPSI is the prefered choice for generating a selected CI trial wavefunction for \qmcpack.
CIPSI is the preferred choice for generating a selected CI trial wavefunction for \qmcpack.
An example on how to use QP for Hartree-Fock and selected CI can be found in Chapter-\ref{sec:cipsi} of this manual.
The converter code is actively maintained and co-developed by both \qmcpack and QP developers.
An HDF5 output file from QP is under development that will mimic the current behavior of the Pyscf output.
\item \textbf{GAMESS}\\
\qmcpack can use the output of GAMESS\cite{schmidt93} for any type of single determinant calculation (HF or DFT) or multideterminant (MCSCF) calculation. A descripton with an example can be found in the Advanced Molecular Calculations Lab (section-\ref{chap:lab_advanced_molecules}).
\qmcpack can use the output of GAMESS\cite{schmidt93} for any type of single determinant calculation (HF or DFT) or multideterminant (MCSCF) calculation. A description with an example can be found in the Advanced Molecular Calculations Lab (section-\ref{chap:lab_advanced_molecules}).
\end{itemize}

View File

@ -50,7 +50,7 @@ MPI tasks per GPU may yield improved performance.
\item Single Slater determinants with 3D B-spline orbitals. Twist-averaged boundary conditions and complex wavefunctions are fully supported. Gaussian type orbitals are not supported yet.
\item Hybrid Mixed basis representation in which orbitals are represented as 1D splines times spherical harmonics in spherical regions (muffin tins) around atoms, and 3D B-splines in the interstitial region.
\item One-body and two-body Jastrows represented as 1D
B-splines are supported. Threee-body jastrow functions are
B-splines are supported. Three-body jastrow functions are
not yet supported.
\end{enumerate}
\item Semilocal (nonlocal and local) pseudopotentials, Coulomb interaction (electron-electron, electron-ion) and Model periodic Coulomb (MPC) interaction.

View File

@ -262,7 +262,7 @@ Finally, to generate the HDF5 file needed by \qmcpack we call the \textit{saveto
from PyscfToQmcpack import savetoqmcpack
savetoqmcpack(supcell,mf,title=title,kpts=kpts,kmesh=kmesh)
\end{lstlisting}
In this call, we simply specify the k-point mesh used in order to force the converter to generate the desired cell. Note that if the parameter \textit{kmesh} is ommited, the converter will still try to ``guess'' it.
In this call, we simply specify the k-point mesh used in order to force the converter to generate the desired cell. Note that if the parameter \textit{kmesh} is omitted, the converter will still try to ``guess'' it.

View File

@ -479,7 +479,7 @@ When an \texttt{<estimator/>} element appears in \texttt{<hamiltonian/>}, it is
\subsection{Chiesa-Ceperley-Martin-Holzmann kinetic energy correction}
This estimator calculates a finite size correction to the kinetic energy following the formalism laid out in Ref. \cite{Chiesa2006}. The total energy can be corrected for finite size effects by using this estimator in conjuction with the MPC correction.
This estimator calculates a finite size correction to the kinetic energy following the formalism laid out in Ref. \cite{Chiesa2006}. The total energy can be corrected for finite size effects by using this estimator in conjunction with the MPC correction.
\FloatBarrier
\begin{table}[h]
@ -844,7 +844,7 @@ with each component given by
+ \sum_{i\ell}\frac{\delta(r-r_i)+\delta(r-\tilde{r}_\ell)}{2}\hat{v}^{eI}(r_i,\tilde{r}_\ell) \nonumber\\
&\qquad + \sum_{\ell< m}\frac{\delta(r-\tilde{r}_\ell)+\delta(r-\tilde{r}_m)}{2}\hat{v}^{II}(\tilde{r}_\ell,\tilde{r}_m).\nonumber
\end{align}
Here $r_i$ and $\tilde{r}_\ell$ represent electon and ion positions, respectively, $\hat{p}_i$ is a single electron momentum operator, and $\hat{v}^{ee}(r_i,r_j)$, $\hat{v}^{eI}(r_i,\tilde{r}_\ell)$, $\hat{v}^{II}(\tilde{r}_\ell,\tilde{r}_m)$ are the electron-electron, electron-ion, and ion-ion pair potential operators (including non-local pseudopotentials, if present). This form of the energy density is size consistent, \textit{i.e.} the partially integrated energy density operators of well separated atoms gives the isolated Hamiltonians of the respective atoms. For periodic systems with twist averaged boundary conditions, the energy density is formally correct only for either a set of supercell k-points that correspond to real valued wavefunctions, or a k-point set that has inversion symmetry around a k-point having a real valued wavefunction. For more information about the energy density, see Ref. \cite{Krogel2013}.
Here $r_i$ and $\tilde{r}_\ell$ represent election and ion positions, respectively, $\hat{p}_i$ is a single electron momentum operator, and $\hat{v}^{ee}(r_i,r_j)$, $\hat{v}^{eI}(r_i,\tilde{r}_\ell)$, $\hat{v}^{II}(\tilde{r}_\ell,\tilde{r}_m)$ are the electron-electron, electron-ion, and ion-ion pair potential operators (including non-local pseudopotentials, if present). This form of the energy density is size consistent, \textit{i.e.} the partially integrated energy density operators of well separated atoms gives the isolated Hamiltonians of the respective atoms. For periodic systems with twist averaged boundary conditions, the energy density is formally correct only for either a set of supercell k-points that correspond to real valued wavefunctions, or a k-point set that has inversion symmetry around a k-point having a real valued wavefunction. For more information about the energy density, see Ref. \cite{Krogel2013}.
In \qmcpack, the energy density can be accumulated on piecewise uniform three dimensional grids in generalized cartesian, cylindrical, or spherical coordinates. The energy density integrated within Voronoi volumes centered on ion positions is also available. The total particle number density is also accumulated on the same grids by the energy density estimator for convenience so that related quantities, such as the regional energy per particle, can be computed easily.

View File

@ -1,7 +1,7 @@
\section{Using PySCF to generate integrals for AFQMC}
\label{sec:pyscf}
PySCF (https://github.com/sunqm/pyscf) is a collection of electronic structure programs powered by Python. It is the recommended program for the generation of input for AFQMC calculations in QMCPACK. We refer the reader to the documentaion of the code (http://sunqm.github.io/pyscf/) for a detailed description of the features and the functionality of the code. While the notes below are not meant to replace a detailed study of the PySCF documentation, these notes describe useful knowledge and tips in the use of pyscf for the generation of input for QMCPACK.
PySCF (https://github.com/sunqm/pyscf) is a collection of electronic structure programs powered by Python. It is the recommended program for the generation of input for AFQMC calculations in QMCPACK. We refer the reader to the documentation of the code (http://sunqm.github.io/pyscf/) for a detailed description of the features and the functionality of the code. While the notes below are not meant to replace a detailed study of the PySCF documentation, these notes describe useful knowledge and tips in the use of pyscf for the generation of input for QMCPACK.
For molecular systems or periodic calculations at the Gamma point, PySCF provides a routine that generates the integral file in Molpro's FCIDUMP format, which contains all the information needed to run AFQMC with a single determinant trial wave-function. Below is an example using this routine to generate the FCIDUMP file for an 8-atom unit cell of carbon in the diamond structure with HF orbitals. For a detailed description, see PySCF's documentation.
\begin{lstlisting}[caption=Simple example showing how to generate FCIDUMP files with PySCF]
@ -71,7 +71,7 @@ fcidump.from_integrals('fcidump.dat', h1e, eri, c.shape[1],cell.nelectron, ms=0,
%C 0.8917 2.6751 2.6751'''
%cell.basis = 'gth-szv'
%cell.pseudo = 'gth-pade'
%cell.gs = [10]*3 # 10 grids on postive x direction, => 21^3 grids in total
%cell.gs = [10]*3 # 10 grids on positive x direction, => 21^3 grids in total
%cell.verbose = 4
%cell.build()
%

View File

@ -80,7 +80,7 @@ where $x, y, z$ are integers. Now the wavefunction in the supercell at point $
\begin{equation}
\Psi(\vec{r}) = \Psi(\vec{r}') e^{i \vec{T} \cdot \vec{k}}
\end{equation}
where $\vec{k}$ is confined to the first Brillouin zone of the primitive cell. We have also chosen the supercell twist vector which places a constraint on the form of the wavefunction in the supercell. The combination of these two constraints allows us to identify family of N k-points in the primitive cell that satisfy the constraints. Thus for a given supercell tiling matrix and twist angle, we can write the wavefunction everywhere in the supercell by knowing the wavefunction a N k-points in the primitive cell. This means that the memory necesary to store the wavefunction in a supercell is only linear in the size of the supercell rather than the quadratic cost if symmetry were neglected.
where $\vec{k}$ is confined to the first Brillouin zone of the primitive cell. We have also chosen the supercell twist vector which places a constraint on the form of the wavefunction in the supercell. The combination of these two constraints allows us to identify family of N k-points in the primitive cell that satisfy the constraints. Thus for a given supercell tiling matrix and twist angle, we can write the wavefunction everywhere in the supercell by knowing the wavefunction a N k-points in the primitive cell. This means that the memory necessary to store the wavefunction in a supercell is only linear in the size of the supercell rather than the quadratic cost if symmetry were neglected.
\section{Total energy of BCC beryllium}
@ -88,7 +88,7 @@ As was discussed in this mornings lectures when performing calculations of pe
\begin{equation}
E_{\inf} = C + E_{N}/N
\end{equation}
This formula derived assuming the shape of the supercells is consistent (more specifically that the periodic distances scale uniformly with system size), meaning we will need to do a uniform tiling, ie, 2x2x2, 3x3x3 etc. As a 3x3x3 tiling is 27 times larger than the supercell and the practical limit of DMC is on the order of 200 atoms (depending on Z), sometimes it is advantagous to choose a less spherical supercell with fewer atoms rather than a more spherical one that is too expensive to tile.
This formula derived assuming the shape of the supercells is consistent (more specifically that the periodic distances scale uniformly with system size), meaning we will need to do a uniform tiling, ie, 2x2x2, 3x3x3 etc. As a 3x3x3 tiling is 27 times larger than the supercell and the practical limit of DMC is on the order of 200 atoms (depending on Z), sometimes it is advantageous to choose a less spherical supercell with fewer atoms rather than a more spherical one that is too expensive to tile.
In the case of a BCC crystal, it is possible to tile the one atom primitive cell to a cubic supercell by only doubling the number of electrons. This is the best possible combination of a small number of atoms that can be tiled and a regular box that maximizes the distance between periodic images. We will need to determine the tiling matrix S that generates this cubic supercell by solving the following equation for the coefficients of the S matrix:
\begin{equation}
@ -128,13 +128,13 @@ Fortunately, the Nexus will handle determination of the proper k-vectors given t
kshift = (.5,.5,.5)
)
\end{lstlisting}
Where the tiling line should be replaced with the row major tiling matrix from above. This script file will now perform a converged DFT calculation to generate the charge density in a directory called bcc-beryllium/scf and perform a non self consistend DFT calculation to generate single particle orbitals in the direcotry bcc-beryllium/nscf. Fortunately, Nexus will calculate the required k-points needed to tile the wavefunction to the supercell, so all that is necessary is the granularity of the supercell twists and whether this grid is shifted from the origin. Once this is finished, it performs the conversion from pwscf's binary format to the hdf5 format used by qmcpack. Finally, it will optimize the coefficients of one-body and two-body jastrow factors in the supercell defined by the tiling matrix.
Where the tiling line should be replaced with the row major tiling matrix from above. This script file will now perform a converged DFT calculation to generate the charge density in a directory called bcc-beryllium/scf and perform a non self consistend DFT calculation to generate single particle orbitals in the directory bcc-beryllium/nscf. Fortunately, Nexus will calculate the required k-points needed to tile the wavefunction to the supercell, so all that is necessary is the granularity of the supercell twists and whether this grid is shifted from the origin. Once this is finished, it performs the conversion from pwscf's binary format to the hdf5 format used by qmcpack. Finally, it will optimize the coefficients of one-body and two-body jastrow factors in the supercell defined by the tiling matrix.
Run these calculations by executing the script Be-2at-setup.py. You will notice that such small calcuations as are required to generate the wavefunction of Be in a one atom cell are rather inefficent to run on a high performance computer such as vesta in terms of the time spent doing calculations versus time waiting on the scheduler and booting compute nodes. One of the benefits of the portable hdf format that is used by qmcpack is that you can generate data like wavefunctions on a local workstation or other convenient resource and only use high performance clusters for the more expensive QMC calculations.
Run these calculations by executing the script Be-2at-setup.py. You will notice that such small calcuations as are required to generate the wavefunction of Be in a one atom cell are rather inefficient to run on a high performance computer such as vesta in terms of the time spent doing calculations versus time waiting on the scheduler and booting compute nodes. One of the benefits of the portable hdf format that is used by qmcpack is that you can generate data like wavefunctions on a local workstation or other convenient resource and only use high performance clusters for the more expensive QMC calculations.
In this case, the wavefunction is generated in the directory bcc-beryllium/nscf-2at\_222/pwscf\_output in a file called pwscf.pwscf.h5. It can be useful for debugging purposes to be able to verify the contents of this file are what you expect. For instance, you can use the tool h5ls to check the geometry of the cell where the dft calculations were performed, or number of k-points or electrons in the calculation. This is done with the command: h5ls -d pwscf.pwscf.h5/supercell or h5ls -d pwscf.pwscf.h5/electrons.
In the course of running Be-2at-setup.py, you will get an error when attempting to perform the vmc and wavefunction optimization calculations. This is due to the fact that the wavefunction has been generated supercell twists of the form (+/- 1/4, +/- 1/4, +/- 1/4). In the case that the supercell twist contains only 0 or 1/2, it is possible to operate entirely with real arithmetic. The executabe that has been indicated in Be-2at-setup.py has been compiled for this case. Note that where this is possible, the memory usage is a factor of two less than the general case and the calculations are somewhat faster. However, it is often necessary to perform calculations away from these special twist angles in order to reduce finite size effects. To fix this, delete the directory bcc-beryllium/opt-2at, change the line in near the top of Be-2at-setup.py from
In the course of running Be-2at-setup.py, you will get an error when attempting to perform the vmc and wavefunction optimization calculations. This is due to the fact that the wavefunction has been generated supercell twists of the form (+/- 1/4, +/- 1/4, +/- 1/4). In the case that the supercell twist contains only 0 or 1/2, it is possible to operate entirely with real arithmetic. The executable that has been indicated in Be-2at-setup.py has been compiled for this case. Note that where this is possible, the memory usage is a factor of two less than the general case and the calculations are somewhat faster. However, it is often necessary to perform calculations away from these special twist angles in order to reduce finite size effects. To fix this, delete the directory bcc-beryllium/opt-2at, change the line in near the top of Be-2at-setup.py from
\begin{lstlisting}
qmcpack = '/soft/applications/qmcpack/Binaries/qmcpack'
\end{lstlisting}
@ -155,7 +155,7 @@ When the optimiztion calculation has finished, check that everything as proceede
OldCost: 4.3977361e-02 NewCost: 4.2865751e-02 Delta Cost:-1.11161830-03
OldCost: 4.1420944e-02 NewCost: 4.0779569e-02 Delta Cost:-6.4137501e-04
\end{shade}
Which shows that the starting wavefunction was fairly good and that most of the optimizaiton occurred in the first step. Confirm this by using qmca to look at how the energy and variance changed over the course of the calculation with teh comand: qmca -q ev -e 10 *.scalar.dat executed in the opt-2at directory. You should get output like the following:
Which shows that the starting wavefunction was fairly good and that most of the optimizaiton occurred in the first step. Confirm this by using qmca to look at how the energy and variance changed over the course of the calculation with the comand: qmca -q ev -e 10 *.scalar.dat executed in the opt-2at directory. You should get output like the following:
\begin{shade}
LocalEnergy Variance ratio
opt series 0 -2.159139 +/- 0.001897 0.047343 +/- 0.000758 0.0219
@ -174,7 +174,7 @@ The dmc calculations in this case are designed to complete in a few minutes. Wh
Using the command qmc -a -q ev -e 16 *.s001.scalar.dat, average the dmc energies in dmc-2at\_222 and dmc-2at\_333 to see whether the one body finite size effects are converged with a 3x3x3 grid of twists. As beryllium as a metal, the convergence is quite poor (~0.025 Ha / Be or ~ 0.7 eV / Be). If this were a production calculation it would be necessary to perform calculations on much larger grids of supercell twists to eliminate the one body finite size effects.
In this case there are several other calculations that would warrent a high priority. A script Be-16at-qmc.py has been provided where you can imput the appropriate tiling matrix for a 16 atom cell and perform calculations to estimate the two body finite size effects which will also be quite large in the 2 atom calculations. This script will take approximately 30 minutes to run to completion, so depending on interest, you can either run it, or also work to modify the scripts to address the other technical issues that would be necessary for a production calculation such as calculating the population bias or the timestep error in the dmc calculations.
In this case there are several other calculations that would warrant a high priority. A script Be-16at-qmc.py has been provided where you can imput the appropriate tiling matrix for a 16 atom cell and perform calculations to estimate the two body finite size effects which will also be quite large in the 2 atom calculations. This script will take approximately 30 minutes to run to completion, so depending on interest, you can either run it, or also work to modify the scripts to address the other technical issues that would be necessary for a production calculation such as calculating the population bias or the timestep error in the dmc calculations.
Another useful exercise would be to attempt to validate this pseudopotential by calculating the ionization potential and electron affinity of the isolated atom and comparing to the experimental values: IP = 9.3227 eV , EA = 2.4 eV.

View File

@ -571,7 +571,7 @@ To study timestep bias, we will perform a sequence of DMC runs over a range of t
\texttt{blocks}_{n} &= \texttt{blocks}_{n-1}\nonumber\\
\texttt{steps}_{n} &= \texttt{steps}_{n-1}\times 2
\end{align}
Each DMC run will require about twice as much computer time as the one preceeding it. Note that the number of blocks is kept fixed for uniform statistical analysis. $\texttt{blocks}\times\texttt{steps}\times\texttt{timestep}\sim 60~\mathrm{Ha}^{-1}$ is sufficient for this system.
Each DMC run will require about twice as much computer time as the one preceding it. Note that the number of blocks is kept fixed for uniform statistical analysis. $\texttt{blocks}\times\texttt{steps}\times\texttt{timestep}\sim 60~\mathrm{Ha}^{-1}$ is sufficient for this system.
Choose an initial DMC timestep and create a sequence of $N$ timesteps according to \ref{eq:timestep_iter}. Make $N$ copies of the DMC XML block in the input file
\begin{lstlisting}
@ -891,7 +891,7 @@ run_project(qmc) # write input file and submit job
\section{Automated binding curve of the oxygen dimer}
\label{sec:dimer_automation}
In this section we will use Nexus to calculate the DMC total energy of the oxygen dimer over a series of bond lengths. The equilibrium bond length and binding energy of the dimer will be determined by performing a polynomial fit to the data (Morse potential fits should be preferred in production tests). Comparing these values with correponding experimental data provides a second test of the BFD pseudopotential for oxygen.
In this section we will use Nexus to calculate the DMC total energy of the oxygen dimer over a series of bond lengths. The equilibrium bond length and binding energy of the dimer will be determined by performing a polynomial fit to the data (Morse potential fits should be preferred in production tests). Comparing these values with corresponding experimental data provides a second test of the BFD pseudopotential for oxygen.
Enter the \texttt{oxygen\_dimer} directory. Copy your BFD pseudopotential from the atom runs into \texttt{oxygen\_dimer/pseudopotentials} (be sure to move both files: \texttt{.upf} and \texttt{.xml}). Open \texttt{O\_dimer.py} with a text editor. The overall format is similar to the example file shown in the last section.
%The header material, including Nexus imports, settings, and the job parameters for QMC are identical.
@ -1471,7 +1471,7 @@ If you have a system you would like to try with QMC, make a copy of \texttt{exam
% )
%\end{lstlisting}
Set ``\texttt{generate\_only}'' to \texttt{1} and type ``\texttt{./example.py}'' or similar to generate the input files. All files will be written to ``\texttt{./diamond\_vmc}'' (``\texttt{./[my\_project\_name]}'' if you have changed ``\texttt{my\_project\_name}'' in the file). The input files for PWSCF, pw2qmcpack, and QMCPACK are \texttt{scf.in}, \texttt{pw2qmcpack.in}, and \texttt{vmc.in.xml}, repectively. Take some time to inspect the generated input files. If you have questions about the file contents, or run into issues with the generation process, feel free to consult with a lab instructor.
Set ``\texttt{generate\_only}'' to \texttt{1} and type ``\texttt{./example.py}'' or similar to generate the input files. All files will be written to ``\texttt{./diamond\_vmc}'' (``\texttt{./[my\_project\_name]}'' if you have changed ``\texttt{my\_project\_name}'' in the file). The input files for PWSCF, pw2qmcpack, and QMCPACK are \texttt{scf.in}, \texttt{pw2qmcpack.in}, and \texttt{vmc.in.xml}, respectively. Take some time to inspect the generated input files. If you have questions about the file contents, or run into issues with the generation process, feel free to consult with a lab instructor.
If desired, you can submit the runs directly with \texttt{example.py}. To do this, first reset the Nexus simulation record by typing ``\texttt{rm ./diamond\_vmc/sim*/sim.p}'' or similar and set ``\texttt{generate\_only}'' back to \texttt{0}. Next rerun \texttt{example.py} (you may want to redirect the text output).

View File

@ -1,6 +1,6 @@
\usepackage{ifpdf}
\ifpdf
%this supresses the moaning about unicode characters
%this suppresses the moaning about unicode characters
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makeatletter

View File

@ -74,7 +74,7 @@ As walkers are the basic units of workload in QMC algorithms, they are loosely c
In a VMC calculation, the code automatically raises the actual number of walkers per MPI rank to the number of available threads if the user-specified number of walkers is smaller, see ``walkers/mpi=XXX'' in the VMC output.
In a DMC calculation, the target number of walkers should be chosen to be slightly smaller than a multiple of the total number of available threads across all the MPI ranks belongs to this calculation. Since the number of walkers varies from generation to generation, its dynamical value should be slightly smaller or equal to that multiple most of the time.
To achieve better performance, mixed precision version (experimental) has been introduced to the CPU code. The mixed precision CPU code is more aggresive than the GPU version in using single precision (SP) operations. Current implementation utilizes SP on most calculations, except for matrix inversions and reductions where double precision is required to retain high accuracy. All the constant spline data in wavefunction, pseudopotentials and Coulomb potentials are initialized in double precision and later stored in single precision. The mixed precision code is as accurate as the double precision code up to a certain system size. Cross checking and verification of accuracy are encouraged for systems with more than approximately 1500 electrons. The mixed precision code has been tested on solids with real/complex builds with VMC, VMC using drift and DMC runs with wavefunction including single slater determinant and one- and two-body Jastrow factors. Wavefunction optimization will be fixed in the following updates.
To achieve better performance, mixed precision version (experimental) has been introduced to the CPU code. The mixed precision CPU code is more aggressive than the GPU version in using single precision (SP) operations. Current implementation utilizes SP on most calculations, except for matrix inversions and reductions where double precision is required to retain high accuracy. All the constant spline data in wavefunction, pseudopotentials and Coulomb potentials are initialized in double precision and later stored in single precision. The mixed precision code is as accurate as the double precision code up to a certain system size. Cross checking and verification of accuracy are encouraged for systems with more than approximately 1500 electrons. The mixed precision code has been tested on solids with real/complex builds with VMC, VMC using drift and DMC runs with wavefunction including single slater determinant and one- and two-body Jastrow factors. Wavefunction optimization will be fixed in the following updates.
\subsubsection{Memory consideration}
When using threads, some memory objects shared by all the threads. Usually these memory are read-only when the walkers are evolving, for instance the ionic distance table and wavefunction coefficients.

View File

@ -159,7 +159,7 @@ To run a simulation with QP, use the binary \textit{qp\_run} with the desired le
mpirun -np 1 qp_run SCF C2O2H3N.ezfio &> C2O2H3N-SCF.out
\end{shade}
If run in serial, the evaluation of the integrals and the Hamiltonian diagonalization would take a substential amount of computer time. It is recommended to add a few more \textit{slave-nodes} to help speed up the calculation.\\
If run in serial, the evaluation of the integrals and the Hamiltonian diagonalization would take a substantial amount of computer time. It is recommended to add a few more \textit{slave-nodes} to help speed up the calculation.\\
\begin{shade}
mpirun -np 20 qp_run -slave qp_ao_ints C2O2H3N.ezfio &> C2O2H3N-SCF-Slave.out
@ -293,7 +293,7 @@ and then with the added J3. Trying to initially optimze J1, J2 and J3
at the same time may lead to numerical instabilities.\\
(3) The parameters of the Jastrow function will need to be optimized
for each truncation scheme and usually cannot be reused effeciently
for each truncation scheme and usually cannot be reused efficiently
from one truncation scheme to another.
\item Step 8: Analyzing DMC results from \qmcpack \\

View File

@ -2,7 +2,7 @@
\label{sec:hegbasis}
The interacting Fermi Liquid has its own special determinantset for filling up a
Fermi surface. The shell number can be specified seperately for both spin up and spin down.
Fermi surface. The shell number can be specified separately for both spin up and spin down.
This determines how many electrons to include of each time, only closed shells are currently
implemented. The shells are filled according to the rules of a square box, if other lattice
vectors are used, the electrons may not fill up a complete shell.

View File

@ -29,7 +29,7 @@ To enable hybrid orbital representation, the input XML needs to see the tag \tex
...
</determinantset>
\end{lstlisting}
Second, the infomation describing the atomic regions is required in the particle set, shown below
Second, the information describing the atomic regions is required in the particle set, shown below
\begin{lstlisting}[caption=particleset elements for ions with information needed by hybrid orbital representation.\label{listing:hybridrep_particleset}]
<group name="Ni">
<parameter name="charge"> 18 </parameter>

View File

@ -604,7 +604,7 @@ dmc = generate_qmcpack(
\end{minted}
\noindent
As suggested at the beginning of this section, workflow composition logically breaks into two parts: simulation generation and workflow dependency specification. This type of breakup can also be performed explicity within a Nexus user script, if desired:
As suggested at the beginning of this section, workflow composition logically breaks into two parts: simulation generation and workflow dependency specification. This type of breakup can also be performed explicitly within a Nexus user script, if desired:
\begin{minted}{python}
# simulation generation
relax = generate_pwscf(...)
@ -2835,7 +2835,7 @@ by hand in post-processing the data.
In Nexus, the supercell size is controlled through the
\texttt{tiling} parameter in the \texttt{generate\_physical\_system},
\texttt{generate\_structure}, \texttt{Structure}, or \texttt{Crystal}
convenience functions. Supercells can also be constructed by tiling exising
convenience functions. Supercells can also be constructed by tiling existing
structures through the \texttt{tile} member function of \texttt{Structure} or
\texttt{PhysicalSystem} objects. The k-point grid is controlled through the
\texttt{kgrid} parameter in the
@ -2875,7 +2875,7 @@ extrapolate to the zero time limit.
The DMC timestep is made available in Nexus through the
\texttt{timestep} parameter of the \texttt{dmc} convenience function
(which is often used in conjuction with the \texttt{standard\_qmc},
(which is often used in conjunction with the \texttt{standard\_qmc},
\texttt{basic\_qmc}, \texttt{generate\_qmcpack}, or \texttt{Qmcpack}
functions).
@ -2980,7 +2980,7 @@ Many current calculations also use the OPIUM package (see
port them directly to QMC.
Whatever the source of pseudopotentials (but perhaps especially so for those
derived from DFT), testing and validation remains an important step preceeding
derived from DFT), testing and validation remains an important step preceding
production calculations. One option is to perform parallel pseudopotential
and all-electron DMC calculations of atoms with varying electron count
(\emph{i.e.} ionization potential/electron affinity calculations). As with

View File

@ -211,7 +211,7 @@ class NexusTestBase(object):
#end if
#end def assert_called
# provide a directory path to place test ouput data in
# provide a directory path to place test output data in
@staticmethod
def test_path():
test = NexusTestBase.current_test

View File

@ -49,8 +49,8 @@ for file in files:
for file in files:
print 'producing {0} from {1} file {2}'.format(quantity,code,file)
suceeded = produce[code](quantity,file)
if not suceeded:
succeeded = produce[code](quantity,file)
if not succeeded:
print ' (failed)'
#end if
#end for

View File

@ -214,7 +214,7 @@ class object_interface(object):
if isinstance(eqval,bool):
eq &= eqval
else:
try: # accomodate numpy arrays implicitly
try: # accommodate numpy arrays implicitly
eq &= eqval.all()
except:
return False

View File

@ -1178,7 +1178,7 @@ class UnitConverter:
hartree = Unit('Hartree' ,'Ha' ,'energy',Ha)
kJ_mole = Unit('kJ_mole' ,'kJ_mol','energy',kJ_mol)
kelvin = Unit('Kelvin' ,'K' ,'energy',K)
celcius = Unit('Celcius' ,'degC' ,'energy',degC,degC_shift)
celsius = Unit('Celcius' ,'degC' ,'energy',degC,degC_shift)
fahrenheit = Unit('Fahrenheit' ,'degF' ,'energy',degF,degF_shift)
coulomb = Unit('Coulomb' ,'C','charge',C)
@ -1220,7 +1220,7 @@ class UnitConverter:
('Ha',hartree),\
('kJ_mol',kJ_mole),\
('K',kelvin),\
('degC',celcius),\
('degC',celsius),\
('degF',fahrenheit),\
])
@ -1266,7 +1266,7 @@ class UnitConverter:
('Ha',hartree),\
('kJ_mol',kJ_mole),\
('K',kelvin),\
('degC',celcius),\
('degC',celsius),\
('degF',fahrenheit),\
('C',coulomb),\
('e',electron_charge),\

View File

@ -16,7 +16,7 @@
# User function to create arbitrary GAMESS input. #
# #
# KeywordGroup #
# Represents an arbitary keyword group in the input file. #
# Represents an arbitrary keyword group in the input file. #
# #
# KeywordSpecGroup #
# Base class for specialized keyword groups. #

View File

@ -16,7 +16,7 @@
# User function to create arbitrary GAMESS input. #
# #
# KeywordGroup #
# Represents an arbitary keyword group in the input file. #
# Represents an arbitrary keyword group in the input file. #
# #
# KeywordSpecGroup #
# Base class for specialized keyword groups. #

View File

@ -235,7 +235,7 @@ class object_interface(object):
if isinstance(eqval,bool):
eq &= eqval
else:
try: # accomodate numpy arrays implicitly
try: # accommodate numpy arrays implicitly
eq &= eqval.all()
except:
return False

View File

@ -314,7 +314,7 @@ def morse_fit(r,E,p0=None,jackknife=False,cost=least_squares,auxfuncs=None,auxre
args = [r,None,morse,pf,cost],
position = 1,
capture = jcapture)
# compute auxilliary jackknife quantities, if desired (e.g. morse_freq, etc)
# compute auxiliary jackknife quantities, if desired (e.g. morse_freq, etc)
if calc_aux:
psamples = jcapture.jsamples
for auxname,auxfunc in auxfuncs.iteritems():
@ -346,7 +346,7 @@ def morse_fit(r,E,p0=None,jackknife=False,cost=least_squares,auxfuncs=None,auxre
# morse_fit_fine: fit data to a morse potential and interpolate on a fine grid
# compute direct jackknife variations in the fitted curves
# by using morse as an auxilliary jackknife function
# by using morse as an auxiliary jackknife function
def morse_fit_fine(r,E,p0=None,rfine=None,both=False,jackknife=False,cost=least_squares,capture=None):
if rfine is None:
rfine = linspace(r.min(),r.max(),400)

View File

@ -1529,7 +1529,7 @@ class Param(Names):
def __call__(self,*args,**kwargs):
if len(args)==0:
self.error('no arguments provided, should have recieved one XMLelement')
self.error('no arguments provided, should have received one XMLelement')
elif not isinstance(args[0],XMLelement):
return args[0]
#self.error('first argument is not an XMLelement')

View File

@ -1125,7 +1125,7 @@ class Param(Names):
def __call__(self,*args,**kwargs):
if len(args)==0:
self.error('no arguments provided, should have recieved one XMLelement')
self.error('no arguments provided, should have received one XMLelement')
elif not isinstance(args[0],XMLelement):
return args[0]
#self.error('first argument is not an XMLelement')

View File

@ -2618,7 +2618,7 @@ class Structure(Sobj):
#end def voronoi_neighbors
# get nearest neighbors according to constrants (voronoi, max distance, coord. number)
# get nearest neighbors according to constraints (voronoi, max distance, coord. number)
def nearest_neighbors(self,indices=None,rmax=None,nmax=None,restrict=False,voronoi=False,distances=False,**spec_max):
if indices is None:
indices = arange(len(self.pos))
@ -4053,7 +4053,7 @@ class Structure(Sobj):
lcur = 7
#end if
species = elem
# relabel species that have multiple occurances
# relabel species that have multiple occurrences
sset = set(species)
for spec in sset:
if species.count(spec)>1:

View File

@ -138,7 +138,7 @@ class UnitConverter(DevBase):
kJ_mole = Unit('energy' ,'kJ_mole' ,'kJ_mol' ,kJ_mol )
kcal_mole = Unit('energy' ,'kcal_mole' ,'kcal_mol',kcal_mol )
kelvin = Unit('energy' ,'Kelvin' ,'K' ,K )
celcius = Unit('energy' ,'Celcius' ,'degC' ,degC,degC_shift)
celsius = Unit('energy' ,'Celcius' ,'degC' ,degC,degC_shift)
fahrenheit = Unit('energy' ,'Fahrenheit' ,'degF' ,degF,degF_shift)
coulomb = Unit('charge' ,'Coulomb' ,'C' ,C )

View File

@ -699,7 +699,7 @@
default="no">
<xs:annotation>
<xs:documentation>
If yes, the section is appended to a preceeding qmc section.
If yes, the section is appended to a preceding qmc section.
</xs:documentation>
</xs:annotation>
</xs:attribute>

View File

@ -520,7 +520,7 @@ walker: walker-by-walker update</xs:documentation>
</xs:attribute>
<xs:attribute name="append" use="optional" default="no">
<xs:annotation>
<xs:documentation>If yes, the section is appended to a preceeding qmc section.</xs:documentation>
<xs:documentation>If yes, the section is appended to a preceding qmc section.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">

View File

@ -40,7 +40,7 @@
<xs:element name="particleset" type="particleSetType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="include" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>include an anyURI that conatins qmcsystem</xs:documentation>
<xs:documentation>include an anyURI that contains qmcsystem</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="href" type="xs:anyURI" use="required"/>

View File

@ -412,7 +412,7 @@ bool AFQMCDriver::checkpoint(int block, int step)
}
if(!wlkBucket->dumpToHDF5(dump,hdf_write_tag) ) {
app_error()<<" Problems writting checkpoint file in Driver/AFQMCDriver::checkpoint(). \n";
app_error()<<" Problems writing checkpoint file in Driver/AFQMCDriver::checkpoint(). \n";
return false;
}
@ -444,7 +444,7 @@ bool AFQMCDriver::writeSamples()
int nwtowrite=-1;
if(!wlkBucket->dumpSamplesHDF5(dump,nwtowrite) ) {
app_error()<<" Problems writting checkpoint file in Driver/AFQMCDriver::writeSample(). \n";
app_error()<<" Problems writing checkpoint file in Driver/AFQMCDriver::writeSample(). \n";
return false;
}

View File

@ -272,7 +272,7 @@ bool VMCDriver::checkpoint(int block, int step)
}
if(!wlkBucket->dumpToHDF5(dump,hdf_write_tag) ) {
app_error()<<" Problems writting checkpoint file in Driver/VMCDriver::checkpoint(). \n";
app_error()<<" Problems writing checkpoint file in Driver/VMCDriver::checkpoint(). \n";
return false;
}

View File

@ -59,7 +59,7 @@ bool selectedCI::run()
// ideas for speed-ups
// 1. Use the fact that H is stored in sparse ordered form to
// only consider terms that have hmat*ci > cut
// To do this, make a routine taht given (i,j) it gets all
// To do this, make a routine that given (i,j) it gets all
// (k,l) such that h(i,j,k,l)*ci > cut
// 2. Keep a different list for those determinants added in the last
// step (those new to the list that haven't been "excited" before)
@ -225,8 +225,8 @@ for(int i=0; i<ntr1; i++)
app_log()<<" Intermediate determinant list is empty. Stopping iterations. \n";
break;
}
bool sucess = diagonalizeTrialWavefunction(eigVal,eigVec,occ_orbs,occ_orbs.size()/ne,intm,intm.size()/ne,true);
if(!sucess) {
bool success = diagonalizeTrialWavefunction(eigVal,eigVec,occ_orbs,occ_orbs.size()/ne,intm,intm.size()/ne,true);
if(!success) {
app_error()<<" Error: Problems with diagonalizeTrialWavefunction. \n";
return false;
}
@ -315,8 +315,8 @@ for(int i=0; i<ntr1; i++)
int kk = std::get<1>(dets[ki]);
for(int kj=0; kj<ne; kj++) intm.push_back(occ_orbs[ kk*ne+kj]);
}
bool sucess = diagonalizeTrialWavefunction(eigVal,eigVec,intm,i,new_dets,0,false);
if(!sucess) {
bool success = diagonalizeTrialWavefunction(eigVal,eigVec,intm,i,new_dets,0,false);
if(!success) {
app_error()<<" Error: Problems with diagonalizeTrialWavefunction. \n";
return false;
}
@ -448,7 +448,7 @@ bool selectedCI::diagonalizeTrialWavefunction(std::vector<RealType>& eigVal, Val
{
ValueType one = ValueType(1.0);
ValueType zero = ValueType(0.0);
bool sucess;
bool success;
for(int i=0; i<nci1; i++)
std::sort(occ1.begin()+i*(NAEA+NAEB),occ1.begin()+(i+1)*(NAEA+NAEB));
@ -523,7 +523,7 @@ bool selectedCI::diagonalizeTrialWavefunction(std::vector<RealType>& eigVal, Val
eigVal.resize(1);
if(eigV) eigVec.resize(1,nci);
sucess = DenseMatrixOperators::symEigenSysSelect(nci,hm.data(),nci,1,eigVal.data(),eigV,eigVec.data(),eigVec.size2());
success = DenseMatrixOperators::symEigenSysSelect(nci,hm.data(),nci,1,eigVal.data(),eigV,eigVec.data(),eigVec.size2());
Timer.stop("Generic4");
//app_log()<<" Time to diagonalize hamiltonian in diagonalizeTrialWavefunction: " <<Timer.total("Generic2") <<std::endl;
@ -533,11 +533,11 @@ bool selectedCI::diagonalizeTrialWavefunction(std::vector<RealType>& eigVal, Val
if(eigV) eigVec.resize(1,nci);
}
myComm->bcast(sucess);
myComm->bcast(success);
myComm->bcast(eigVal.data(),eigVal.size(),0,myComm->getMPI());
if(eigV) myComm->bcast(eigVec.data(),eigVec.size1()*eigVec.size2(),0,myComm->getMPI());
return sucess;
return success;
}

View File

@ -266,8 +266,8 @@ out3.close();
out4.close();
APP_ABORT("Testing. \n");
*/
bool sucess = DenseMatrixOperators::genHermitianEigenSysSelect(N,H.data(),N,S.data(),N,nstates,eigVal.data(),getEigV,eigVec.data(),eigVec.size2(),ifail.data());
if(!sucess) for(int i=0; i<nstates; i++) eigVal[i]=0.0;
bool success = DenseMatrixOperators::genHermitianEigenSysSelect(N,H.data(),N,S.data(),N,nstates,eigVal.data(),getEigV,eigVec.data(),eigVec.size2(),ifail.data());
if(!success) for(int i=0; i<nstates; i++) eigVal[i]=0.0;
else {
std::ofstream out("diag.dat",std::ios_base::app | std::ios_base::out);
std::vector<double> coeff(N);

View File

@ -696,7 +696,7 @@ namespace qmcplusplus
}
MPI_Barrier(TG.getNodeCommLocal());
// generate IJ matrix to speedup table seaches
// generate IJ matrix to speedup table searches
if(V2.size()>0)
generateIJ();
@ -1971,7 +1971,7 @@ namespace qmcplusplus
}
myComm->barrier();
// generate IJ matrix to speedup table seaches
// generate IJ matrix to speedup table searches
if(!skip_V2 && V2.size()>0)
generateIJ();
@ -2316,7 +2316,7 @@ namespace qmcplusplus
ComplexMatrix v(NMO2,NMO),P(NMO2,NMO);
// v is the dense representation of H1+H1add+v0
// 1. Hadd should be the contribution from mean-field substraction, otherwise zero
// 1. Hadd should be the contribution from mean-field subtraction, otherwise zero
// Now also includes contribution from vn0 = -0.5* sum_{i,l,sigma} (sum_j <i_sigma,j_sigma|j_sigma,l_sigma> ) c+i_sigma cl_sigma
for(int i=0; i<NMO; i++) {
v(i,i) = Hadd(i,i);
@ -4843,7 +4843,7 @@ namespace qmcplusplus
std::swap(std::get<0>(val),std::get<2>(val));
std::swap(std::get<1>(val),std::get<3>(val));
std::get<4>(val) = std::conj(std::get<4>(val));
// jl < ik again since ij<->kl swap occured
// jl < ik again since ij<->kl swap occurred
if( std::forward_as_tuple(std::get<1>(val),std::get<3>(val) ) < std::forward_as_tuple(std::get<0>(val),std::get<2>(val) ) ) {
std::swap(std::get<0>(val),std::get<1>(val));
std::swap(std::get<2>(val),std::get<3>(val));

View File

@ -138,7 +138,7 @@ bool phaseless_ImpSamp_ForceBias::parse(xmlNodePtr cur)
app_log()<<"\n\n --------------- Parsing Propagator input ------------------ \n\n";
if(substractMF)
app_log()<<" Using mean-field substraction in propagator. \n";
app_log()<<" Using mean-field subtraction in propagator. \n";
if(parallel_factorization)
app_log()<<" Calculating factorization of 2-body hamiltonian in parallel. \n";
@ -1635,7 +1635,7 @@ void phaseless_ImpSamp_ForceBias::serial_propagation_single_step(WalkerHandlerBa
// the marix operation for vbias and CV0 determines the operation for vHS.
// These two are assembled independently, so it can be done.
// The actual assembly of each of these matrices may not be optimal,
// but for now implement with the efficientcy of the MM in mind.
// but for now implement with the efficiently of the MM in mind.
void phaseless_ImpSamp_ForceBias::dist_propagation_single_step(WalkerHandlerBase* wset, RealType& Eshift)
{
// structure in TG [hybrid_w, MFfactor, G(1:{2*}NMO*NMO), sigma(1:nCholVecs), vHS(1:{2*}NMO*NMO)]

View File

@ -43,7 +43,7 @@ class TaskGroup: public MPIObjectBase, public AFQMCInfo {
void setBuffer(SPComplexSMVector* buf) { commBuff = buf; }
// right now using std::vector and std::string to make the initial implementatino
// right now using std::vector and std::string to make the initial implementations
// easier, but this is not efficient and can lead to memory fragmentation for large
// processor counts (e.g. > 10k)
bool setup(int ncore, int nnode, bool print=false) {

View File

@ -660,8 +660,8 @@ bool MultiPureSingleDeterminant::getHamiltonian(HamPtr h)
app_log()<<" Diagonalizing trial wave function in MultiPureSingleDeterminant. \n";
std::vector<RealType> eigVal(ci.size());
ComplexMatrix eigVec(1,ci.size());
bool sucess = diagonalizeTrialWavefunction(eigVal,eigVec,occ_orbs,ci.size());
if(sucess) {
bool success = diagonalizeTrialWavefunction(eigVal,eigVec,occ_orbs,ci.size());
if(success) {
app_log()<<" New trial energy and ci coefficients: " <<eigVal[0]+NuclearCoulombEnergy <<std::endl;
for(int i=0; i<ci.size(); i++) app_log()<<i <<" old: " <<ci[i] <<" new: " <<eigVec(0,i) <<std::endl;
for(int i=0; i<ci.size(); i++) ci[i] = eigVec(0,i);
@ -1787,7 +1787,7 @@ void MultiPureSingleDeterminant::local_rankUpdateOneBodyTrialDensityMatrix(int n
APP_ABORT(" Error: runtype=0 not yet implemented for complex integrals. Need to fix L^+ issue. \n\n\n");
#endif
// only needed once, hopefuly doesn't waste time
// only needed once, hopefully doesn't waste time
allocate_hamiltonian_evaluation();
// calculate all overlaps first
@ -2816,7 +2816,7 @@ bool MultiPureSingleDeterminant::diagonalizeTrialWavefunction(std::vector<RealTy
{
SPComplexType one = SPComplexType(1.0,0.0);
SPComplexType zero = SPComplexType(0.0,0.0);
bool sucess;
bool success;
//int nci = ci.size();
if(rotated_hamiltonian) {
@ -2896,17 +2896,17 @@ bool MultiPureSingleDeterminant::diagonalizeTrialWavefunction(std::vector<RealTy
eigVal.resize(1);
eigVec.resize(1,nci);
std::vector<int> ifail(nci);
sucess = DenseMatrixOperators::genHermitianEigenSysSelect(nci,hm.data(),nci,ov.data(),nci,1,eigVal.data(),eigV,eigVec.data(),eigVec.size2(),ifail.data());
success = DenseMatrixOperators::genHermitianEigenSysSelect(nci,hm.data(),nci,ov.data(),nci,1,eigVal.data(),eigV,eigVec.data(),eigVec.size2(),ifail.data());
} else {
eigVal.resize(1);
eigVec.resize(1,nci);
}
myComm->bcast(sucess);
myComm->bcast(success);
myComm->bcast(eigVal.data(),eigVal.size(),0,myComm->getMPI());
myComm->bcast(eigVec.data(),eigVec.size1()*eigVec.size2(),0,myComm->getMPI());
return sucess;
return success;
} else {
@ -2978,7 +2978,7 @@ bool MultiPureSingleDeterminant::diagonalizeTrialWavefunction(std::vector<RealTy
eigVal.resize(1);
eigVec.resize(1,nci);
std::vector<int> ifail(nci);
sucess = DenseMatrixOperators::genHermitianEigenSysSelect(nci,hm.data(),nci,ov.data(),nci,1,eigVal.data(),eigV,eigVec.data(),eigVec.size2(),ifail.data());
success = DenseMatrixOperators::genHermitianEigenSysSelect(nci,hm.data(),nci,ov.data(),nci,1,eigVal.data(),eigV,eigVec.data(),eigVec.size2(),ifail.data());
Timer.stop("Generic4");
app_log()<<" Time to diagonalize hamiltonian in diagonalizeTrialWavefunction: " <<Timer.total("Generic4") <<std::endl;
@ -2988,11 +2988,11 @@ bool MultiPureSingleDeterminant::diagonalizeTrialWavefunction(std::vector<RealTy
eigVec.resize(1,nci);
}
myComm->bcast(sucess);
myComm->bcast(success);
myComm->bcast(eigVal.data(),eigVal.size(),0,myComm->getMPI());
myComm->bcast(eigVec.data(),eigVec.size1()*eigVec.size2(),0,myComm->getMPI());
return sucess;
return success;
}
}
@ -3145,8 +3145,8 @@ void MultiPureSingleDeterminant::iterativeCI(double cutoff, int nmax, int nmax_i
Timer.reset("Generic1");
Timer.start("Generic1");
bool sucess = diagonalizeTrialWavefunction(eigVal,eigVec,intm,nterms);
if(!sucess) {
bool success = diagonalizeTrialWavefunction(eigVal,eigVec,intm,nterms);
if(!success) {
app_error()<<" Error: Problems with diagonalizeTrialWavefunction. \n";
return;
}
@ -3207,8 +3207,8 @@ void MultiPureSingleDeterminant::iterativeCI(double cutoff, int nmax, int nmax_i
int kk = std::get<1>(dets[ki]);
for(int kj=0; kj<ne; kj++) intm.push_back(occ_orbs[ kk*ne+kj]);
}
bool sucess = diagonalizeTrialWavefunction(eigVal,eigVec,intm,i,false);
if(!sucess) {
bool success = diagonalizeTrialWavefunction(eigVal,eigVec,intm,i,false);
if(!success) {
app_error()<<" Error: Problems with diagonalizeTrialWavefunction. \n";
return;
}

View File

@ -1269,7 +1269,7 @@ void PureSingleDeterminant::local_evaluateOneBodyTrialDensityMatrix(bool full)
} else {
// copy to mixed_density_matrix
// Careful here!!!!! Only writting NAEB terms
// Careful here!!!!! Only writing NAEB terms
for(int i=0; i<NAEB; i++)
for(int j=0; j<NMO; j++)
trial_density_matrix(i+NMO,j) = SS0(j+NMO,i);

View File

@ -32,7 +32,7 @@ EXECUTE_PROCESS(
IF (IS_GIT_PROJECT)
# The following custom command picks up changes to the git revision information
# every time the project is rebuilt. Even if the repositiory is updated (git pull)
# every time the project is rebuilt. Even if the repository is updated (git pull)
# without re-running cmake. It also appends '-dirty' to the commit hash if there are
# unsaved changes to the repository.
#
@ -97,7 +97,7 @@ IF (IS_GIT_PROJECT)
# Breaking down the arguments to 'git describe'
# --abbrev=40 Size of hash to print. This should print the entire hash.
# --dirty Append hash with '-dirty' if there are uncommited changes.
# --dirty Append hash with '-dirty' if there are uncommitted changes.
# The behavior of describe looks for a tag in the parents first, and then falls
# back to the commit hash (if --always is specified)
# --always Show the commit hash as fallback

View File

@ -1575,7 +1575,7 @@ private:
//buffers for storing samples
// single row of buffer is a single sample from one walker
// number of rows adjusts to accomodate walker samples
// number of rows adjusts to accommodate walker samples
TraceBuffer<TraceInt> int_buffer;
TraceBuffer<TraceReal> real_buffer;

View File

@ -30,7 +30,7 @@
/** generic accumulator of a scalar type
*
* To simplify i/o, the values are storged in contens
* To simplify i/o, the values are storged in contents
*/
template<typename T,
typename = typename std::enable_if<std::is_floating_point<T>::value>::type>

View File

@ -96,7 +96,7 @@ struct CrystalLattice
///The scale factor for adding vacuum.
T VacuumScale;
//@{
/**@brief Physcial properties of a supercell*/
/**@brief Physical properties of a supercell*/
/// Volume of a supercell
Scalar_t Volume;
/// Wigner-Seitz cell radius

View File

@ -118,7 +118,7 @@ struct makelattice<CrystalLattice<T,3> >
* ::apply(CrystalLattice<T,3>& lattice, std::vector<std::string>& argv)
* \param lattice an CrystalLattice to be set
* \param argv input parameters
* \note Keywords to set a speical 3D primitive cell.
* \note Keywords to set a special 3D primitive cell.
* \li \p lattice \p cubic \p a
* \li \p lattice \p fcc \p a
* \li \p lattice \p bcc \p a

View File

@ -48,11 +48,11 @@ struct PowerOfN<N,0>
<td>SC</td><td>3D</td><td>2D</td><td>1D</td><td>comment</td>
</th>
<tr><td>SUPERCELL_OPEN </td><td>n n n</td><td>n n</td><td>n</td><td>open boudary conditions </td> </tr>
<tr><td>SUPERCELL_BULK </td><td>p p p</td><td>NA </td><td>NA</td><td>periodic boundry conditions in 3 dimensions, general cell</td> </tr>
<tr><td>SUPERCELL_BULK+TwoPowerD </td><td>p p p</td><td>NA </td><td>NA</td><td>periodic boundry conditions in 3 dimensions, orthorombic cell</td></tr>
<tr><td>SUPERCELL_SLAB </td><td>p p n</td><td>p p</td><td>NA</td><td>periodic boundry conditions in 2 dimensions, general cell</td></tr>
<tr><td>SUPERCELL_SLAB+TwoPowerD </td><td>p p n</td><td>p p</td><td>NA</td><td>periodic boundry conditions in 2 dimensions, orthorombic cell</td></tr>
<tr><td>SUPERCELL_WIRE </td><td>p n n</td><td>p n</td><td>p</td><td>periodic boundry conditions in 1 dimension</td></tr>
<tr><td>SUPERCELL_BULK </td><td>p p p</td><td>NA </td><td>NA</td><td>periodic boundary conditions in 3 dimensions, general cell</td> </tr>
<tr><td>SUPERCELL_BULK+TwoPowerD </td><td>p p p</td><td>NA </td><td>NA</td><td>periodic boundary conditions in 3 dimensions, orthorombic cell</td></tr>
<tr><td>SUPERCELL_SLAB </td><td>p p n</td><td>p p</td><td>NA</td><td>periodic boundary conditions in 2 dimensions, general cell</td></tr>
<tr><td>SUPERCELL_SLAB+TwoPowerD </td><td>p p n</td><td>p p</td><td>NA</td><td>periodic boundary conditions in 2 dimensions, orthorombic cell</td></tr>
<tr><td>SUPERCELL_WIRE </td><td>p n n</td><td>p n</td><td>p</td><td>periodic boundary conditions in 1 dimension</td></tr>
</table>
* \endhtmlonly
* Specialization of DTD_BConds should implement

View File

@ -257,7 +257,7 @@ public:
///UniformCartesianGrid for multi levels.
std::vector<Grid_t*> SuperGrid;
///offsets to determine cell conection
///offsets to determine cell connection
std::vector<int> c_offset, c_max;
///cell index connected to each cell

View File

@ -259,7 +259,7 @@ public:
///UniformCartesianGrid for multi levels.
std::vector<Grid_t*> SuperGrid;
///offsets to determine cell conection
///offsets to determine cell connection
std::vector<int> c_offset, c_max;
///cell index connected to each cell

View File

@ -18,8 +18,8 @@
/** @file LRHandlerTemp.h
* @brief Define a LRHandler with two template parameters
*/
#ifndef QMCPLUSPLUS_EWALD_HANLDER_H
#define QMCPLUSPLUS_EWALD_HANLDER_H
#ifndef QMCPLUSPLUS_EWALD_HANDLER_H
#define QMCPLUSPLUS_EWALD_HANDLER_H
#include "LongRange/LRHandlerBase.h"

View File

@ -44,7 +44,7 @@ KContainer::UpdateKLists(ParticleLayout_t& lattice, RealType kc, bool useSphere)
void
KContainer::FindApproxMMax(ParticleLayout_t& lattice)
{
//Estimate the size of the parallelpiped that encompases a sphere of kcutoff.
//Estimate the size of the parallelpiped that encompasses a sphere of kcutoff.
//mmax is stored as integer translations of the reciprocal cell vectors.
//Does not require an orthorhombic cell.
/* Old method.

View File

@ -26,7 +26,7 @@ namespace qmcplusplus
/** @ingroup longrange
*\brief A derivative of LRBasis class to provide the functionality
* of the LPQHI basis. A 1/r factor is incorporated into the basis functions
* to faciliate real space representation of the short-ranged coulomb potential,
* to facilitate real space representation of the short-ranged coulomb potential,
* following Natoli & Ceperley's 1995 paper on Optimized Breakup. http://dx.doi.org/10.1006/jcph.1995.1054.
*/

View File

@ -47,7 +47,7 @@ StructFact::UpdateNewCell(ParticleSet& P, RealType kc)
{
//Generate the lists of k-vectors
KLists.UpdateKLists(P.LRBox,kc);
//resize any arrary
//resize any array
resize(P.getSpeciesSet().size(),P.getTotalNum(),KLists.numk);
//Compute the entire Rhok
FillRhok(P);
@ -198,7 +198,7 @@ void StructFact::acceptMove(int active, int gid, const PosType& rold)
RealType* restrict rhok_ptr_r(rhok_r[gid]);
RealType* restrict rhok_ptr_i(rhok_i[gid]);
// add the new value and substract the old value
// add the new value and subtract the old value
#pragma omp simd
for(int ki=0; ki<KLists.numk; ++ki)
{

View File

@ -17,8 +17,8 @@
/** @file LRHandlerTemp.h
* @brief Define a LRHandler with two template parameters
*/
#ifndef QMCPLUSPLUS_EWALD_HANLDER_H
#define QMCPLUSPLUS_EWALD_HANLDER_H
#ifndef QMCPLUSPLUS_EWALD_HANDLER_H
#define QMCPLUSPLUS_EWALD_HANDLER_H
#include "LongRange/LRHandlerBase.h"

View File

@ -6,7 +6,7 @@ namespace qmcplusplus
{
/** @ingroup Numerics
* @brief Compute spherical bessel funciton from 0 to lmax
* @brief Compute spherical bessel function from 0 to lmax
*
* Using Steed/Barnett algorithm from Comp. Phys. Comm. 21, 297 (1981)
*/

View File

@ -46,7 +46,7 @@ namespace qmcplusplus
piecewise linear equations with a zero second derivative within each interval
and an undefined or infinite second derivative at the interval boundaries,
the grid points \f$ \{x_i\}. \f$ Ideally we would like to construct an
interpolation function with a smooth first derivate and a continuous second
interpolation function with a smooth first derivative and a continuous second
derivative both within the intervals and at the the grid points.
By adding a cubic polynomial to the linear interpolation equation within
@ -69,7 +69,7 @@ namespace qmcplusplus
\f]
To explictly check that this function does indeed satisfy the conditions
To explicitly check that this function does indeed satisfy the conditions
at the endpoints take the derivatives
\f[
\frac{dy}{dx} = \frac{y_{j+1}-y_j}{x_{j+1}-x_j}
@ -327,7 +327,7 @@ public:
return
m_grid->cubicInterpolateSecond(m_Y[Loc],m_Y[Loc+1],m_Y2[Loc],m_Y2[Loc+1],du,d2u);
}
/** Evaluate the 2nd derivate on the grid points
/** Evaluate the 2nd derivative on the grid points
*\param imin the index of the first valid data point
*\param yp1 the derivative at the imin-th grid point
*\param imax the index of the last valid data point

View File

@ -283,7 +283,7 @@ struct OneDimGridBase
/** evaluate the index of r
* @param r current position
*
* The grid index satifies \f$ X[Loc] \ge r < X[Loc+1]\f$.
* The grid index satisfies \f$ X[Loc] \ge r < X[Loc+1]\f$.
*/
virtual void locate(T r)=0;

View File

@ -34,7 +34,7 @@ namespace qmcplusplus
* - CTg container type associated with the grid data
*
* Store the values of the function for the
* cooresponding grid points, \f$ y_i = y(x_i) \f$.
* corresponding grid points, \f$ y_i = y(x_i) \f$.
*/
template <class Td,
class Tg = Td,

View File

@ -86,7 +86,7 @@ struct OptimizableFunctorBase
*/
virtual real_type f(real_type r)=0;
/** evaluate the first derivate
/** evaluate the first derivative
* @param r distance
*
* virtual function necessary for a transformation to a numerical functor

View File

@ -58,7 +58,7 @@ public:
bool operator!=(const OOMPI_Request &a);
//
// Compatibilty
// Compatibility
//
MPI_Request& Get_mpi(void);

View File

@ -22,7 +22,7 @@
//
// This class is only used for inheritence
// This class is only used for inheritance
//
class OOMPI_User_type : public OOMPI_Message

View File

@ -53,7 +53,7 @@ class OhmmsParameter: public OhmmsElementBase
T& ref_;
///the unit of this object
std::string unit_;
///pointer to the correponding xmlNode
///pointer to the corresponding xmlNode
xmlNodePtr node_;
//@}
@ -140,7 +140,7 @@ class OhmmsParameter<bool>: public OhmmsElementBase
bool& ref_;
///the unit of this object
std::string unit_;
///pointer to the correponding xmlNode
///pointer to the corresponding xmlNode
xmlNodePtr node_;
//@}

View File

@ -22,7 +22,7 @@
#include <string>
#include <fstream>
/** abstract base class to recrod any properties
/** abstract base class to record any properties
*/
struct RecordProperty
{

View File

@ -25,7 +25,7 @@ namespace qmcplusplus
* Therefore, users do not have to include this file.
*/
// foward declarations
// forward declarations
template<class T, unsigned D> class TinyVector;
template<class T, unsigned D> class Tensor;
template<class T, unsigned D> class SymTensor;

View File

@ -96,7 +96,7 @@ namespace qmcplusplus
return *this;
}
/** asign value */
/** assign value */
template<typename T1>
__forceinline Accessor& operator=(T1 rhs)
{

View File

@ -215,7 +215,7 @@ namespace qmcplusplus
return *this;
}
/** asign value */
/** assign value */
template<typename T1>
__forceinline Accessor& operator=(T1 rhs)
{

View File

@ -24,7 +24,7 @@
namespace optimize
{
/** An enum useful for determing the type of parameter is being optimized.
/** An enum useful for determining the type of parameter is being optimized.
* knowing this in the opt routine can reduce the computational load.
*/
enum
@ -271,7 +271,7 @@ struct VariableSet
// void insertTo(variable_map_type& output) const;
/** insert a VariableSet to the list
* @param input varaibles
* @param input variables
*/
void insertFrom(const VariableSet& input);
@ -350,7 +350,7 @@ struct VariableSet
// */
//void activate(const std::vector<std::string>& selected, bool reindex);
/** exlcude variables
/** exclude variables
* @param selected name-value pairs that should be dropped from the set
*/
void disable(const variable_map_type& selected);

View File

@ -67,7 +67,7 @@ public:
explicit Scalar(const T1 &t) : scalar_m(t) { }
//---------------------------------------------------------------------------
// Constructor with arbitary second/third arguments, which is/are ignored.
// Constructor with arbitrary second/third arguments, which is/are ignored.
// Needed for compatibility with tree node constructors taking an
// arbitrary argument.

View File

@ -56,7 +56,7 @@ bool AdiosWalkerInput::put(std::vector<xmlNodePtr>& wset)
if (wset.empty())
return false;
int walker_win = 0;
//This will accumalate the walkers we will be reading from the file
//This will accumulate the walkers we will be reading from the file
std::string bpFileName;
//Number of walkers per process
std::vector<int> nw(myComm->size(), 0);
@ -106,7 +106,7 @@ bool AdiosWalkerInput::put(std::vector<xmlNodePtr>& wset)
myComm->getMPI());
//Did the bp file open successfully
check_adios_error();
//Inquire about the number of proccess
//Inquire about the number of process
ADIOS_VARINFO* var_info = adios_inq_var(adios_file_handle, "walkers");
nprocs = *var_info->nblocks;
app_log() << "Number of procs that wrote " << nprocs << std::endl;
@ -155,12 +155,12 @@ void AdiosWalkerInput::read(int nprocs,
for (int j = 0; j < walker_num.size(); j++)
app_log() << walker_num[j] << ", ";
app_log() << std::endl;
//The number of proccess to add 1 extra walker too
//The number of process to add 1 extra walker too
int walker_wrap = total_walker_num % myComm->size();
//Buffer for each block in the adios
R_t block_buff((total_walker_num / nprocs + 1) * targetW.getParticleNum());
//Calculate how many walkers each proccess should read and from which files
// this proccess should read
//Calculate how many walkers each process should read and from which files
// this process should read
int current_adios_block = 0;
int current_offset = 0;
int next_offset;
@ -175,7 +175,7 @@ void AdiosWalkerInput::read(int nprocs,
else
walkers_to_read = total_walker_num / myComm->size();
app_log() << "walkers_to_read " << walkers_to_read << " proc=" << i << std::endl;
//Keep track of how many walkers each proccess has
//Keep track of how many walkers each process has
nw[i] += walkers_to_read;
while (walkers_to_read != 0)
{

View File

@ -18,7 +18,7 @@
/** @file HDFWalkerOuput.cpp
* @breif definition of HDFWalkerOuput and other support class and functions
* @brief definition of HDFWalkerOuput and other support class and functions
*/
#include "Particle/HDFWalkerOutput.h"
#include "Utilities/IteratorUtility.h"

View File

@ -350,7 +350,7 @@ public:
*/
void setActive(int iat);
/** return the position of the active partice
/** return the position of the active particle
*
* activePtcl=-1 is used to flag non-physical moves
*/

View File

@ -72,7 +72,7 @@ QMCCostFunctionOMP::Return_t QMCCostFunctionOMP::LMYEngineCost_detail(cqmc::engi
// compute energy and target relevant quantities
EngineObj->energy_target_compute();
// prepare variables to hold the ouput of the engine call
// prepare variables to hold the output of the engine call
double energy_avg = EngineObj->energy_mean();
double energy_sdev = EngineObj->energy_sdev();
double energy_serr = EngineObj->energy_statistical_err();

View File

@ -42,7 +42,7 @@ QMCCostFunctionCUDA::~QMCCostFunctionCUDA()
}
/** Perform the correlated sampling algorthim.
/** Perform the correlated sampling algorithm.
*/
QMCCostFunctionCUDA::Return_t QMCCostFunctionCUDA::correlatedSampling(bool needDerivs)
{

View File

@ -121,7 +121,7 @@ vdeps(1,std::vector<double>()),
60, // max krylov iter
0, // max spam inner iter
1, // spam appro degree
0, // eom relateds
0, // eom relates
0, // eom related
0, // eom related
0.0, // omega
@ -332,7 +332,7 @@ bool QMCFixedSampleLinearOptimize::run()
if (goodStep)
{
// this may have been evaluated allready
// this may have been evaluated already
// newCost=evaluated_cost;
//get cost at new minimum
newCost = optTarget->Cost(false);

View File

@ -169,7 +169,7 @@ public:
*/
virtual void initWalkersForPbyP(WalkerIter_t it, WalkerIter_t it_end);
/** initalize Walker for walker update
/** initialize Walker for walker update
*/
virtual void initWalkers(WalkerIter_t it, WalkerIter_t it_end);

View File

@ -131,7 +131,7 @@ namespace qmcplusplus
//copy back the random states
for (int ip = 0; ip < NumThreads; ++ip)
*(RandomNumberControl::Children[ip]) = *(Rng[ip]);
//return nbeads and stuff to its orginal unset state;
//return nbeads and stuff to its original unset state;
resetVars ();
return finalize (nBlocks);
}

View File

@ -429,7 +429,7 @@ bool HamiltonianFactory::build(xmlNodePtr cur, bool buildtree)
std::string SourceName = "I";
OhmmsAttributeSet hAttrib;
hAttrib.add(TargetName,"Dependant");
hAttrib.add(SourceName, "Independant");
hAttrib.add(SourceName, "Independent");
hAttrib.put(cur);
}

View File

@ -276,7 +276,7 @@ MPC::init_spline()
// * (4.0*M_PI*volInv/G2 - f_G[iG]);
}
}
// G=0 component calculated seperately
// G=0 component calculated separately
//GBox(0,0,0) = -vol * f_0 * Rho_G[0];
//Vconst += 0.5 * vol * vol * f_0 * norm(Rho_G[0]);
const RealType volf=vol*f_0;

View File

@ -120,7 +120,7 @@ PulayForce::evaluate(ParticleSet& P)
}
return Value=0.0;
// std::cerr << "In PulayForce::evaluate(ParticleSet& P).\n";
// Compute normalization of the warp tranform for each electron
// Compute normalization of the warp transform for each electron
for (int elec=0; elec<Nel; elec++)
WarpNorm[elec] = 0.0;
for (int ion=0; ion<Nnuc; ion++)

View File

@ -1101,7 +1101,7 @@ void GamesAsciiParser::getCSF(std::istream& is)
std::cout <<"Done reading csf coefficients." << std::endl;
std::cout <<"Found: " <<coeff2csf.size() <<" CSFs.\n";
std::cout.flush();
// look for highest occupied MO to avoid using unnecesary ones
// look for highest occupied MO to avoid using unnecessary ones
ci_nstates = 0;
for(int i=0; i<CSFocc.size(); i++)
{

View File

@ -87,7 +87,7 @@ void GaussianFCHKParser::parse(const std::string& fname)
NumberOfBeta=ndown;
getwords(currentWords,fin); //9 Number of basis functions
SizeOfBasisSet=atoi(currentWords.back().c_str());
getwords(currentWords,fin); //10 Number of independant functions
getwords(currentWords,fin); //10 Number of independent functions
int NumOfIndOrb=atoi(currentWords.back().c_str());
std::cout <<"Number of independent orbitals: " <<NumOfIndOrb << std::endl;
numMO = NumOfIndOrb;
@ -210,7 +210,7 @@ void GaussianFCHKParser::parse(const std::string& fname)
}
else
{
std::cerr <<"Gaussian parser currenly works for slater determinant basis only. Use SlaterDet in CAS() or improve parser.\n";
std::cerr <<"Gaussian parser currently works for slater determinant basis only. Use SlaterDet in CAS() or improve parser.\n";
abort();
}
}

View File

@ -543,7 +543,7 @@ def savetoqmcpack(cell,mf,title="Default",kpts=[],kmesh=[]):
H5_qmcpack.close()
print ('Wavefunction successfuly saved to QMCPACK HDF5 Format')
print ('Wavefunction successfully saved to QMCPACK HDF5 Format')
print ('Use: "convert4qmc -pyscf {}.h5" to generate QMCPACK input files'.format(title))
# Close the file before exiting

View File

@ -40,7 +40,7 @@ private:
/// The values of the derivative of the represented function on the
/// boundary. If each value is greater that 1e30, we compute
/// bondary conditions assuming that the second derivative is zero at
/// boundary conditions assuming that the second derivative is zero at
/// that boundary.
double StartDeriv, EndDeriv;
public:

View File

@ -476,7 +476,7 @@ PseudoClass::WriteXML(string fname)
// xmlTextWriterPtr writer = xmlNewTextWriterFilename (fname.c_str(), 0);
// rc = xmlTextWriterStartDocument (writer, NULL, "UTF-8", NULL);
// // Start psuedo
// // Start pseudo
// rc = xmlTextWriterStartElement(writer, (xmlChar*)"pseudo");
// rc = xmlTextWriterWriteAttribute
// (writer, (xmlChar*) "version", (xmlChar*)"0.5");

View File

@ -41,7 +41,7 @@ public:
Grid *grid;
/// The values of the derivative of the represented function on the
/// boundary. If each value is greater that 1e30, we compute
/// bondary conditions assuming that the second derivative is zero at
/// boundary conditions assuming that the second derivative is zero at
/// that boundary.
double StartDeriv, EndDeriv;

View File

@ -120,7 +120,7 @@ class GKIntegration {
}
private:
// funnel all calls through this function and branch to specfic n knot rule
// funnel all calls through this function and branch to specific n knot rule
void GK(IntervalResult & r) {
GKGeneral(GKRule::n,GKRule::xgk,GKRule::wg,GKRule::wgk,r);
}
@ -320,7 +320,7 @@ class GKIntegration {
ir.pop_front();
} else break;
}
// do you want to exit with a warning after the first unresolved sub-interval occured?
// do you want to exit with a warning after the first unresolved sub-interval occurred?
if (ir.size()==0 || errorUnresolved>0.0) break;
// or print as many as occur
// if (ir.size()==0) break;

View File

@ -29,7 +29,7 @@ using namespace blitz;
///////////////////////////////////////////////////////////////////
/// The following is a template trick for counting how many ///
/// dimension reductions we have made to a dataset by indexing ///
/// by integer arguements. ///
/// by integer arguments. ///
///////////////////////////////////////////////////////////////////
template<typename T> class SliceCheck
{ public: static const int isSlice = 0; };

View File

@ -42,9 +42,9 @@ public:
virtual double c(int n, double k) = 0;
virtual double dc_dk(int n, double k) = 0;
double c_numerical (int n, double k);
/// This returns the coefficent of the nth basis function
/// This returns the coefficient of the nth basis function
//virtual double Get_t(int n) const = 0;
/// This sets the coefficent of the nth basis function
/// This sets the coefficient of the nth basis function
//virtual void Set_t(int n, double t) = 0;
/// This returns the linear combination of the basis functions with
/// coefficients t_n
@ -99,7 +99,7 @@ public:
int NumKnots;
double delta, deltaInv;
TinyMatrix<double,3,6> S;
/// The following are helpers to calculate the Fourier tranform of
/// The following are helpers to calculate the Fourier transform of
/// the basis functions
inline std::complex<double> Eplus(int i, double k, int n);
inline std::complex<double> Eminus(int i, double k, int n);

View File

@ -189,7 +189,7 @@ struct SplineR2RSoA: public SplineAdoptorBase<ST,3>
return h5f.write(bigtable,o.str().c_str());//"spline_0");
}
/** convert postion in PrimLattice unit and return sign */
/** convert position in PrimLattice unit and return sign */
inline int convertPos(const PointType& r, PointType& ru)
{
ru=PrimLattice.toUnit(r);

View File

@ -726,7 +726,7 @@ void EinsplineSetBuilder::RotateBands_ESHDF (int spin, EinsplineSetExtended<std:
else
{
fout.close();
fout.open(backupName.c_str() , std::ios::out | std::ios::binary); // change to writting mode
fout.open(backupName.c_str() , std::ios::out | std::ios::binary); // change to writing mode
int BUFFER_SIZE = 128;
char buffer[BUFFER_SIZE];
while (!fin.eof() )
@ -902,7 +902,7 @@ void EinsplineSetBuilder::RotateBands_ESHDF (int spin, EinsplineSetExtended<doub
else
{
fout.close();
fout.open(backupName.c_str() , std::ios::out | std::ios::binary); // change to writting mode
fout.open(backupName.c_str() , std::ios::out | std::ios::binary); // change to writing mode
int BUFFER_SIZE = 128;
char buffer[BUFFER_SIZE];
while (!fin.eof() )

Some files were not shown because too many files have changed in this diff Show More