I have a working copy of Psi4 interfaced with CheMPS2. I have used CheMPS2 as a separate program before (feeding integrals to it), so I know that CheMPS2 is able to disk out 2PDM if requested. I, however, failed to do the same thing with Psi4, and the manual (http://www.psicode.org/psi4manual/master/autodir_options_c/module__dmrg.html) has no information about how to do it. I was wondering if anyone knows an input keyword to make this happen.
You’re right that that should probably be available. I’m away from computers just now but will investigate. Do you happen to recognize any of column D from https://github.com/psi4/psi4/issues/150#issuecomment-228951911 as the way you’re accustomed to getting the 2PDM? DMRG_OPDM_AO_PRINT possibly is it.
Thanks for this. I do not recognize anything listed in column D in the link you mentioned. And I think DMRG_OPDM_AO_PRINT prints out only OPDM. In CheMPS2, I believe there is a separate input rem variable to invoke disking out TPDM. It is definitely possible to disk out TPDM in DMRG, and especially when I compute correlation functions it calculates TPDM. But it just happens that it never disks out TPDM in the end. Thanks very much for investigating this for me.
I am not sure if it would help you solve this issue, but in CheMPS2 if I put --twodmfile=$filename in command line it will save 2PDM into $filename. I suppose a similar functionality exists through Psi4. Any thoughts on this? I appreciate your help.
Thanks, I think that will help. I found the object where the 2-RDM is stored in the psi4 interface, so will be glad to have the CheMPS2 binary code to work from.