/usr/share/psi4/samples/dfmp2-2/test.in is in psi4-data 1:1.1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #! Density fitted MP2 energy of H2, using density fitted reference and automatic looping over cc-pVDZ and cc-pVTZ basis sets.
#! Results are tabulated using the built in table functions by using the default options and by specifiying the format.
# This will remove the 32 file in each iteration of the for loop
psi4_io.set_specific_retention(32,False)
refnuc = 0.587974676211111 #TEST
refscf = [ -1.1163920251650830, -1.118727560574628 ] #TEST
refmp2 = [ -1.1441651453612438, -1.151194028513022 ] #TEST
molecule h2 {
0 1
H
H 1 0.9
}
set {
scf_type df
guess sad
d_convergence 12
e_convergence 12
}
# This is a table that uses just the default parameters
table = Table(rows=("Basis"), cols=("E(DF-SCF)", "E(DF-MP2)"))
# This is the same table, but with more explicit control of column widths
longtable = Table(rows=("Basis"), cols=("E(DF-SCF)", "E(DF-MP2)"),
row_label_width=10,
row_label_precision=4,
width=20, precision=12)
basissets = ["cc-pVDZ", "cc-pVTZ"]
count = 0 #TEST
for basisset in basissets:
set basis $basisset
jkbasis = basisset + "-jkfit"
set df_basis_scf $jkbasis
ribasis = basisset + "-ri"
set df_basis_mp2 $ribasis
edfmp2 = energy('mp2')
edfscf = get_variable('SCF TOTAL ENERGY')
compare_values(edfscf, refscf[count], 10, basisset + " DF-SCF Energy") #TEST
compare_values(edfmp2, refmp2[count], 10, basisset + " DF-MP2 Energy") #TEST
count = count + 1 #TEST
# Store the computed values in the tables
table[basisset] = [edfscf, edfmp2]
longtable[basisset] = [edfscf, edfmp2]
# We clean out the scratch files here because the dimensions of the basis set have
# changed, so we want to generate new files
clean()
compare_values(refnuc, h2.nuclear_repulsion_energy(), 10, "Nuclear Repulsion Energy") #TEST
print_out("\nSummary of results\n")
print_out(str(table))
print_out("\nAnd again, but more precision\n")
print_out(str(longtable))
|