Until recently, in my calculations, I used only the classical quantum-mechanical methods, such as HF, MP2, CI, CC, DFT
and their multireference implementation.
However, these methods have a number of obvious limitations: the "gold standard" of quantum chemistry CCSD(T) and its multireference
extension proposed by Mukherjee scales as N^7, which makes them not suitable for the calculation of large molecules, DFT, in turn,
has no multireference extension that does not allow to compute the energy activation of bond breaking, furthermore exchange correlation in the DFT has incorrect
asymptotics behavior at infinity witch results of wrong energy of the excited state with charge transfer.
All this has led me to the idea to start using QMC calculation methods.
1-st step in this direction for me is to choose the most convenient-to-use QMC-package. Casino is one of contenders.
I decided for myself that the process of choosing the package should consist of passing a few check points (list only the first)..
1. I successfuly load files produced in any of external Gaussian basis set codes to CASINO and check if VMC energy without Jastow optimisation
(exception can be made only for cusp correction) is equal to Hartree-Fock one.
My favority molecule is cubane (C8H8), so I performed the calculation of this molecule in the experimental geometry l(C-C)=1.571, l(C-H)=1.098 and basis def2-SVP with ORCA program.
The output obtained I converted by script CASINO/utils/wfn_converters/orca/molden2qmc.py to gwfn.data.
To disable Jastrow correction to wfn I set use_jastrow : F, values of other parameters are as follows:
Code: Select all
#-------------------#
# CASINO input file #
#-------------------#
# Silane molecule (ground state)
# SYSTEM
neu : 28 #*! Number of up electrons (Integer)
ned : 28 #*! Number of down electrons (Integer)
periodic : F #*! Periodic boundary conditions (Boolean)
atom_basis_type : gaussian #*! Basis set type (text)
# RUN
runtype : vmc #*! Type of calculation (Text)
newrun : T #*! New run or continue old (Boolean)
testrun : F #*! Test run flag (Boolean)
block_time : 0.0 s #*! VMC/DMC block time (Physical)
# VMC
vmc_equil_nstep : 500 #*! Number of equilibration steps (Integer)
vmc_nstep : 10000000 #*! Number of steps (Integer)
vmc_nblock : 10 #*! Number of checkpoints (Integer)
vmc_nconfig_write : 0 #*! Number of configs to write (Integer)
vmc_decorr_period : 0 #*! VMC decorrelation period (0 - auto)
psi_s : slater #*! Type of [anti]symmetrizing wfn (Text)
complex_wf : F #*! Wave function real or complex (Boolean)
# DMC
dmc_equil_nstep : 2000 #*! Number of steps (Integer)
dmc_equil_nblock : 1 #*! Number of checkpoints (Integer)
dmc_stats_nstep : 10000 #*! Number of steps (Integer)
dmc_stats_nblock : 1 #*! Number of checkpoints (Integer)
dmc_target_weight : 1000.0 #*! Total target weight in DMC (Real)
dtdmc : 0.01 #*! DMC time step (Real)
use_tmove : F #*! Casula nl pp for DMC (Boolean)
# RMC
# OPTIMIZATION
opt_method : madmin #*! Opt method (varmin/madmin/emin/...)
opt_cycles : 6 #*! Number of optimization cycles (Integer)
opt_jastrow : F #*! Optimize Jastrow factor (Boolean)
opt_det_coeff : F #*! Optimize determinant coeffs (Boolean)
opt_backflow : F #*! Optimize backflow parameters (Boolean)
opt_orbitals : F #*! Optimize orbital parameters (Boolean)
# GENERAL PARAMETERS
use_jastrow : F #*! Use a Jastrow function (Boolean)
backflow : F #*! Use backflow corrections (Boolean)
expot : F #*! Use external potential (Boolean)
timing_info : F #*! Activate subroutine timers (Boolean)
esupercell : F #*! Energy/supercell in output (Boolean)
neighprint : 0 #*! Neighbour analysis (Integer)
mpc_cutoff : 30.d0 hartree #*! G vector cutoff for MPC (Physical)
forces : F #*! Evaluate forces on atoms (Boolean)
checkpoint : 1 #*! Checkpoint level (Integer)
# EXPECTATION VALUES
density : F #*! Accumulate density (Boolean)
spin_density : F #*! Accumulate spin densities (Boolean)
pair_corr : F #*! Accumulate rec. space PCF (Boolean)
pair_corr_sph : F #*! Accumulate sph. real space PCF (Boolean)
loc_tensor : F #*! Accumulate localization tensor (Boolean)
structure_factor : F #*! Accumulate structure factor (Boolean)
struc_factor_sph : F #*! Accumulate sph. struc. factor (Boolean)
onep_density_mat : F #*! Accumulate 1p density matrix (Boolean)
twop_density_mat : F #*! Accumulate 2p density matrix (Boolean)
cond_fraction : F #*! Accumulate cond fraction (Boolean)
dipole_moment : F #*! Accumulate elec. dipole moment (Boolean)
expval_cutoff : 30.d0 hartree #*! G vector cutoff for expval (Physical)
permit_den_symm : F #*! Symmetrize QMC charge data (Boolean)
qmc_density_mpc : F #*! Use QMC density in MPC int (Boolean)
# BLOCK INPUT
ORCA HF-energy (def2-SVP spherical harmonic basis) is 307.165180575428 au (from ORCA output).
VMC energy (au) Standard error Correction for serial correlation
-307.255906030836 +/- 0.002973873096 No correction
-307.255906030836 +/- 0.005879359091 Correlation time method
-307.255906030822 +/- 0.006067861278 On-the-fly reblocking method
Sample variance of E_L (au^2/sim.cell) : 88.374893578007 +- 1.537284407294
My interpretation is that VMC energy differ more than 3 standart errors from ORCA HF-energy, so check fails.

So my assumption is:
1. ORCA gave wrong energy result. This very, very, very unlikely because same energy I get in the NWCHEM and PSI4 and I using ORCA more than 3 years.
2. ORCA cubane.molden has not quite compatible file format and was not correctly interpreted/converted to gwfn.data. Nuances of interpretation ORCA MOLDEN file format widely discussed http://sourceforge.net/p/janpa/wiki/OrcaExamples/
3. I set the wrong parameters for CASINO calculation.
4. I misread the CASINO calculation result.
5. CASINO gave wrong energy/std. error result.
Can somebody check p.2-5 which one is incorrect?
thanks in advance, Vladimir.