Support and discussions for Molcas and OpenMolcas users and developers
You are not logged in.
Pages: 1
Dear All:
Is it possible to perform MP2 calculations based on high-spin ROHF reference function? The equivalent of RMP2 in Molpro, ROMP2 in Gaussian.
The MBPT2 program is limited to closed-shell RHF references. I thought about using the CASPT2 program based on the ROHF calculations performed with the RASSCF program (only 1 configuration in CASSCF, obtained by making active only singly occupied orbitals). However, the CASPT2 energies differ from the ROHF-MP2 ones by many kcal's/mol. I guess it has to do with the form of the 0th-order Hamiltonian currently used in Molcas (the IPEA stuff).
Is it possible to perform CASPT2 calculations in such a way that they are equivalent to ROHF-MP2 in this special case where CASSCF reduces to ROHF?
Or is there any other way to obtain correct ROHF-MP2 energies in Molcas?
Thank you in advance!
Regards,
Mariusz Radoń
Offline
Anyone?
Offline
You can always set IPEA=0.0 if that's the problem.
Offline
Dear Ignacio:
Thank you for your reply. Yes, I can do CASPT2 with IPEA=0.0, but the energy is different from the expected one (from other programs)!
For instance, O2 (distance 1.208 Angstrom), cc-pVDZ basis set, triplet ground state (total energies in a.u.):
Molpro: ROHF=-149.60798659, MP2=-149.98700133 # hf rmp2
Gaussian: ROHF=-149.60798659, MP2=-149.98701565 # ROMP2(FreezeNobleGasCore)
OpenMolcas: CASSCF(2,2)=-149.60798384, CASPT2(IPEA=0)=-150.01567487, CASPT2(default IPEA) = -149.99690639 # OpenMolcas v21.06
As you can see, although all the ROHF / CASSCF(2,2) energies agree and the ROHF-MP2 energies agree between two other programs, the CASPT2(IPEA=0) energy is not the same. The same core orbitals (two O 1s) are frozen in all cases. Analogous comparison for closed-shell N2 gives identical MP2 and CASPT2 energies (identical to within 4e-6, this small difference is probably due to the Cholesky decomposition used in Molcas, but not in other programs).
So, how can I make CASPT2 equivalent to MP2 for open-shell systems?
Best regards,
Mariusz Radoń
Offline
Hi Mariusz and Ignacio,
I am replying to this older thread because I encountered the same issue while looking for an ROHF-based MP2 treatment in OpenMolcas.
I have now implemented canonical UMP2 and semicanonical ROHF-MBPT(2) / ROMP2 in the OpenMolcas MBPT2 module. As one validation test, I used triplet O2 at a fixed geometry, using the same bond lengths of 1.208 Angstrom as in your case, with cc-pVDZ and two frozen orbitals.
For UMP2, the OpenMolcas calculation uses
&SCF
UHF
Occupied
9
7
&MBPT2
Frozen = 2
and gives
OpenMolcas UMP2: -149.972502564846 a.u.
Gaussian UMP2: -149.9725026 a.u.
For ROMP2, the ROHF reference is generated with RASSCF,
&RASSCF
Spin = 3
Inactive = 7
Nactel = 2 0 0
Ras2 = 2
Ciroot = 1 1 1
&MBPT2
Frozen = 2
and gives
OpenMolcas ROMP2: -149.987015623588 a.u.
Gaussian ROMP2: -149.9870156 a.u.
The implementation also supports conventional and Cholesky integral routes, frozen-core treatment, MPI parallelization and molecular point-group symmetry even though I am continuing regression testings.
A development snapshot has been archived on Zenodo:
https://zenodo.org/records/22864412
DOI: 10.5281/zenodo.22864412
The source archive is currently restricted while I am awaiting technical feedback on the implementation and possible upstream contribution to OpenMolcas. Researchers interested in testing the current development version or providing additional reference cases are very welcome to contact me.
Best wishes,
Okan
Offline
Pages: 1