CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
8 Generating <strong>CASINO</strong> trial wave functions with other programs<br />
The following third-party codes have support for producing casino trial wave function xwfn.data<br />
files. The exact degree <strong>of</strong> support will depend on time; in particular the interfaces may stop working<br />
if the developers release a new version <strong>of</strong> their code without bothering to check that casino support<br />
still works. If you find this is the case, please let us know. All voluntary contributions to maintaining<br />
these interfaces is gratefully accepted, since doing so is very boring indeed. Our personal support<br />
for the codes can be greatly enhanced if we have someone working in Cambridge who is a dedicated<br />
user <strong>of</strong> the code in question. When they leave, our group knowledge may become non-existent (e.g.,<br />
currently, none <strong>of</strong> us know anything about the Gaussian code).<br />
Example input files for some <strong>of</strong> the codes below can be found in the distribution directory examples/wfn<br />
generation. Instructions are in accompanying READMEs.<br />
A summary <strong>of</strong> the current status <strong>of</strong> the various interfaces—which supplements and may be<br />
more up-to-date than the information given here—can be found on the casino web site here:<br />
http://vallico.net/casinoqmc/interfaces/<br />
and a page <strong>of</strong> advice for developers who wish to<br />
http://vallico.net/casinoqmc/interface_development/<br />
create their own interfaces is here:<br />
Developers should note that for Gaussian basis set codes, there is a special test suite in the directory<br />
examples/generic/gauss dfg. The README file there should be consulted for conventions on solid<br />
harmonics/normalization etc., and calculations should be run using the provided set <strong>of</strong> input files to<br />
test the treatment <strong>of</strong> d, f and g functions.<br />
8.1 ABINIT<br />
Website: www.abinit.org.<br />
To produce a wave function suitable for use as a casino trial wave function, certain abinit parameters<br />
must be set correctly. To tell abinit to write the wave function in casino format, set prtwf to 2<br />
in the abinit input file. casino (and QMC methods generally) can only take advantage <strong>of</strong> timereversal<br />
symmetry, and not the full set <strong>of</strong> symmetries <strong>of</strong> the crystal structure. Therefore, abinit<br />
must be instructed to generate k points not just in the irreducible Brillouin zone, but in a full half<br />
<strong>of</strong> the Brillouin zone (using time-reversal symmetry to generate the other half). Additionally, unless<br />
instructed otherwise, abinit avoids the need for internal storage <strong>of</strong> many <strong>of</strong> the coefficients <strong>of</strong> its<br />
wave functions for k points that have the property 2k = G latt , where G latt is a reciprocal lattice<br />
vector, by making use <strong>of</strong> the property that c k (G) = c ∗ k (−G − G latt). abinit must be instructed not<br />
to do this in order to output the full set <strong>of</strong> coefficients for use in casino. See the abinit theoretical<br />
background documents ABINIT/Infos/<strong>Theory</strong>/geometry.pdf and ABINIT/Infos/<strong>Theory</strong>/1WF.pdf<br />
for more information.<br />
The first <strong>of</strong> these requirements is met by setting the abinit input variable kptopt to 2 (see<br />
ABINIT/Infos/varbas.html#kptopt) and the second by setting istwfk to 1 for all the k points (see<br />
ABINIT/Infos/vardev.html#istwfk). Since casino is typically run with relatively small numbers<br />
<strong>of</strong> k points, this is easily done by defining an array <strong>of</strong> ‘1’s in the input file.<br />
For example, for the eight k points generated with ‘ngkpt 2 2 2’, we add the following lines to the<br />
abinit input file:<br />
# Turn <strong>of</strong>f special storage mode for time-reversal k-points<br />
istwfk 1 1 1 1 1 1 1 1<br />
# Use only time reversal symmetry, not full set <strong>of</strong> symmetries.<br />
kptopt 2<br />
# Write a <strong>CASINO</strong> pwfn.data wave function file<br />
prtwf 2<br />
Other useful input variables <strong>of</strong> relevance to the plane waves abinit will produce include ecut,<br />
nshiftk, shiftk, nband, occopt, occ, spinat and nsppol (see relevant input variable documents<br />
in ABINIT/Infos/). If abinit is run in multiple dataset mode, the different wave functions for the<br />
various datasets are exported as pwfn1.data, pwfn2.data, . . . , pwfnn.data where the numbers are<br />
the contents <strong>of</strong> the contents <strong>of</strong> the input array jdtset (defaults to 1,2,. . . ,ndtset).<br />
100