Printing (or disking) out DMRG 2PDM in Psi4?

Hello,

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.

Thanks very much for your help.

L

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.

Dear Lori,

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.

I’m not finding the --twodmfile arg you mention, so opened an issue with Sebastian to see what’s going on.