Thank you for your reply. But don’t I need to relax the density matrix when I am calculating the “polarizability”?
I did some test calculations with H2O under 6-31G and got the following result(just the first five items of the first rows of DM’s were showed ):
SCF(FC=0) 1.04247606429881 -0.09150908508311 -0.00 -0.00 -0.02016733000915
gradient(FC=0) 1.04220942491249 -0.09128336492263 -0.00 -0.00 -0.01913359194153
SCF(FC=1) 1.04247606429881 -0.09150908508311 -0.00 -0.00 -0.02016733000915
dipole(FC=1) 1.04225500411870 -0.09151171578025 -0.00 0.00 -0.01910792905284
polarizability(FC=1) 1.04247604635203 -0.09150899173888 -0.00 -0.00 -0.02016731398249
Well from the result above I do see some differences between them. However, here are my questions:
- Since they look so similar to each other(they are the same until the fourth digital number), is the DM really updated in gradient/dipole calculations?
- The DM form polarizability calculation looks the same as that form the SCF calculation w/o CF. Why?
- I noticed that you used the keyword “properties” as well as in some Github discussion. However, I got an error when I used it in my input file… Does it mean that I am not using the latest version Psi4?
For clearance, here are the two input files I used:
memory 90000 mb
molecule mol {
0 1
O 0.00000000 0.00000000 0.00000000
H 0.75718909 0.00000000 -0.58651475
H -0.75718909 0.00000000 -0.58651475
symmetry c1
no_reorient
no_com
}
set {
basis 6-31G
guess sad
scf_type direct
freeze_core false
}
e, wfn=energy(‘SCF’, return_wfn=True)
mints = psi4.core.MintsHelper(wfn.basisset())
import numpy
numpy.set_printoptions(threshold=numpy.nan)
print_out("\nOverlap matrix")
mints.ao_overlap().print_out()
Da_so = wfn.Da()
Da_so.print_out()
grad, ccwfn=gradient(‘ccsd’,return_wfn=True,ref_wfn=wfn)
ccDa_so = ccwfn.Da()
ccDa_so.print_out()
memory 90000 mb
molecule mol {
0 1
O 0.00000000 0.00000000 0.00000000
H 0.75718909 0.00000000 -0.58651475
H -0.75718909 0.00000000 -0.58651475
symmetry c1
no_reorient
no_com
}
set {
basis 6-31G
guess sad
scf_type direct
freeze_core True
}
e, wfn=energy(‘SCF’, return_wfn=True)
mints = psi4.core.MintsHelper(wfn.basisset())
import numpy
numpy.set_printoptions(threshold=numpy.nan)
print_out("\nOverlap matrix")
mints.ao_overlap().print_out()
Da_so = wfn.Da()
Da_so.print_out()
dp, ccwfn=property(‘ccsd’, properties=[‘dipole’], return_wfn=True)
ccDa_so = ccwfn.Da()
ccDa_so.print_out()
pl, ccwfn1=property(‘ccsd’, properties=[‘polarizability’], return_wfn=True)
ccDa_so = ccwfn1.Da()
ccDa_so.print_out()
I am sorry that I have so many questions… I am so confused about the DM now. Any kind help would be strongly appreciated.