14.09.2014 Views

CASINO manual - Theory of Condensed Matter

CASINO manual - Theory of Condensed Matter

CASINO manual - Theory of Condensed Matter

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!