11.17.2008

Generation of Trial Wave Function

Generation of Trial Wave Function

In this section the bare basics for generation of input files for Zori will be presented.
As was mentioned before, the type of trial function that can currently be read by Zori is one or more Determinant(s) multiplied by a Correlation Function. The determinant can be from a Hartree-Fock or from a Density Functional Theory calculation. Pseudo-potentials are currently not implemented in Zori (version 1.0).
The example files discussed in the following text can be obtained from the DOWNLOADS (http://www.zori-code.com/component/option,com_docman/Itemid,42/) section of this web site. Wave function Generation.

Currently Zori includes converters for the output from the GAMESS(US) and ADF software packages.

The orbitals file can be modified so that the Grid is turned on and hence the QMC calculation is speed up. Example of speed up on 4 processor : 1.43x faster using Grid than without Grid and absolutely no loss in accuracy. The calculation can be speed up further by using different localization parameters and cutoffs (however care must be taken that they are not to aggressive and cause a loss in the accuracy of the calculation). Important Notice: the file mo_grid.hdf must be generated prior to running a multiprocessor run otherwise the code will crash. Please run a single processor run prior to a multiprocessor run to generate the required mo_grid.hdf file.

Additional Steps.
Generate walkers, run a short VMC to equilibrate walkers, optimize wave function, walk a little bit more with VMC and re-optimize again and repeat until satisfied with the quality of the trial wave function. The next few pages will guide you thru the creation of walkers, running of a VMC and optimization of correlation function using ZOPT.

Links to Generation of Walkers, Running Variational Monte Carlo and Optimization of correlation function
Return to zori manual

Overview of running QMC calculations

Overview of running QMC calculations

In this section a brief overview of the procedure necessary to complete a successful QMC calculation will be given. The steps in a QMC are as follows: * Generate and optimize the trial wave function.
* Equilibrate the walkers in one or more VMC calculations.
* Run a VMC to obtain the VMC results (if one desires a VMC calculation)
* If one desires higher level of accuracy than can usually be provided by VMC one may run a DMC calculation.

A Quantum Monte Carlo calculation consists of the following steps.


Table of contents
1 Generation of Trial Wave Function
2 Running Variational Monte Carlo
3 Running Diffusion Monte Carlo
4 Further improvements upon the Fixed-Node Approximation

Generation of Trial Wave Function
Actually, generation of the trial wave function is a multi-step process. For molecules it consists of:
1. Generate the anti-symmetric portion (determinantal part) of the wave function with some ab initio program such as GAMESS or ADF. 2. Run a VMC to equilibrate the walkers according to the distribution of the previously generated wavefunction. 3. Optimize the correlation function. 4. Run a VMC to equilibrate the walkers according to the new trial wave function. This wave function consists of one or more determinants multiplied by one or more correlation functions. 5. Re-optimize the correlation function and rerun a VMC. Repeat until satisfactory convergence.

Running Variational Monte Carlo
Once an appropriate trial wavefunction is generated, a VMC can be run. If one is interested in ground state properties one must not forget to remove the decay curve before the data from the VMC is used.

Running Diffusion Monte Carlo
DMC is significantly more computationally expensive than VMC and hence it is desirable for initial walkers to be as close to the DMC distribution as is feasible. A common practice, to reduce the number of DMC steps until the walkers become equilibrated, is to use walkers from an equilibrated VMC run as the starting point for DMC.

Further improvements upon the Fixed-Node Approximation

One could possibly attempt to improve upon the results of a DMC calculation by attempting to remove the Fixed-Node Approximation (and its associated error) by running some Release-Node method such as Fermion Monte Carlo or some Green's Function Monte Carlo on the walkers from an equilibrated DMC run. Many of these methods are still in the active development phase or not yet implemented into Zori. One must also note that these methods tend to be significantly more expensive than DMC. No documentation available nor will there be any further discussion of GFMC or FMC.

Running ZOPI-ZOri Processing Interface

Running ZOPI-ZOri Processing Interface

Table of contents
1 Invoke Zopi
2 Overview/To Begin With
3 Running ZOPI
3.1 General3.2 Create Walkers3.3 VMC3.4 DMC3.5 Optimization
4 GNUPlot
4.1 Making commands in GNUPlot
4.1.1 VMC4.1.2 DMC
5 Overall Appearance of important files

Invoke Zopi
Go to the bin file and invoke zopi e.g.: /usr/bin/zopi

Overview/To Begin With
ZOPI is the Graphic User Interface that makes Zori run easier. Once you have Rappture and downloaded the zopi.py and tool.xml files you only need to do a couple of things to run ZORI the easy way:
Read the readme.txt file. Most of the instructions to start using zopi are there. If you read this, these general instructions will not be necessary.
Change Z_PATH to the directory where zori is in the zopi.py file.
If you desire, change the default directories in the tool.xml files, where the file is going to be saved in, as well as where Zori will take the psi.xml and new_walkers file from. You can easily do this by utilizing emacs and its replace option.
Example: If the psi.xml file is in ~/psi/psi.xml Just click on the options replace ~/zori/src/psi.xml, push return and replace with ~/psi/psi.xml. After every prompt, push y. Be sure to save it!!
Additionally, make sure that the zopi.py file is correctly linked in the driver file. Rappture assumes that the file is in the same directory.
In tool.xml, make sure that the ld_library_path is currently set. To check this on a terminal, just type echo $LD_LIBRARY_PATH.
Most importantly, a symbolic link must be done to avoid running the python version of Rappture, because it does not allow certain libraries. To do this, go to ~/your/dir/rappture/bin and change the name of python and python2.4 appending a -rapp at the end:
mv python python-rapp
mv python2.4 python2.4-rapp
Afterwards, create a symbolic link for python and python 2.4 in /usr/bin/ and put it in ~/your/dir/rappture/bin:
ln -s python
ln -s python2.4

Running ZOPI
ZOPI's purpose is to be able to make Zori calculations easier. Nevertheless, ZOPI still needs some outer programs to function completely (GAMESS, GNUPlot).

General
Soon, ZOPI will be available on the cluster and for download!
ZOPI runs in a linear fashion, where a Create Walkers can be created and immediately afterwards.
After Simulate is pushed, Zori or ZOPT runs. Afterwards, an output page will show what ran. Nevertheless, the output can be followed simultaneously with GNUPlot (more on that on the VMC and DMC parts).

Create Walkers
Creates the Walkers necessary for running QMC.
Name of file will end on .xml
Output file will be new_walkers. This is the file that will be used in VMC and DMC.

VMC
It is essential to choose the Algorithm type.
The walker file SHOULD NOT have numbers or .xml at the end. Zori is programmed so that it recognizes all new_walkers pages.
Do not use the Check section please.

DMC
Two choices must be made concerning the algorithm type and the control type. Some control types can only be chosen with a specific algorithm, so be careful.
The Random Walk group has a lot of tabs. There is information to fill out in all of them to make the Zori run.
The substeps option is only for some runs, but if you fill something out there and the algorithm does not need it, there is no need to worry.

Optimization
This runs with a program called OPT++
Please follow the instructions in the tabs (choosing OPT++ and specifically which type).

GNUPlot
To check on the energy output, something outside the ZoPI Interface must be done.
Both VMC and DMC create a zori-energy.out file.
The zavg command (located in ~/zori/src by default) converts this file into zori-energy.txt and gives it a specific order. This can be done as the Zori run is taking place.

Making commands in GNUPlot
ZoPI can be run in GNUPlot just by typing !rappture
Make use of zavg in a similar fashion. i.e. !~/zori/src/zavg

VMC
After zavg has been executed, the command plot "zori-energy.txt" using 1:2 w l
This means it will plot that file using the first two lines and the style will be with lines (w l).
zavg and the plot can be used iteratively.

DMC
After zavg has been executed, the command plot "zori-energy.txt" using 1:3 w l
This means it will plot that file using the first and the third line and the style will be with lines (w l).
zavg and the plot can be used iteratively.

Overall Appearance of important files
This is included, so that future changes can be made easily and thoroughly.
zopi.py
tool.xml

e-mail

caltech.wiki@gmail.com
Zori.Wiki@gmail.com

About Zori Wiki

About Zori Wiki
http://www.zori-code.com/wiki/index.php/Zori_Wiki:About
All the content in this website is copyright of the Zori authors. It is for your own personal use. Commercial use of this documentation is forbidden. You have to quote the following paper if a publication results from the use of this documentation:
A. Aspuru-Guzik, R. Salomón-Ferrer, B. Austin, R. Perusquía-Flores, M. A. Griffin, R. A. Oliva, D. Skinner, D. Domin, and W. A. Lester, Jr., Zori 1.0 : A parallel quantum Monte Carlo electronic structure package. Journal of Computational Chemistry. (In press) 2005
This is the only request we make of users of the Zori Code. The code is free, but use of the online documentation requires you to quote us.