CCSD density matrix

You can write a little hack to calculate CCSD dipoles and quadrupoles using relaxed densities without having to calculate gradients:

dp, ccwfn = properties('ccsd', properties=['dipole'],return_wfn=True)
set_global_option('DERTYPE','FIRST')
set_global_option('WFN','CCSD')
ccdensity(ccwfn)

Da_so = ccwfn.Da()
Da_so.print_out()

The ccdensity(ccwfn) call should give you the relaxed dipole which should be identical to the one obtained from a gradient calculation. Also, the density matrix should match as well.

Thank you for your reply! That’s just perfect!
I think I just have one last question:
I tried with this code and found that it only worked with ‘Frozen core’ false, which makes sense because I think that it is still under the control of ‘gradient’. Because

So I am wondering if I can call this function with ‘Frozen core’ on? If so, how can I do it?

Unfortunately, there is no way of getting relaxed CCSD densities/properties with frozen core as of now since we haven’t coded frozen core contributions to orbital relaxations. Frozen core CC gradients is definitely on our TODO list and we would try to implement it soon in PSI4.

Thank you very much for all the reply and explanation! They really helped a lot!

A post was split to a new topic: Can I get a CCSD(T) relaxed density matrix to hack a property calc?