Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum.

Please note: The forum's URL has changed. The new URL is: https://molcasforum.univie.ac.at. Please update your bookmarks!

You can choose an avatar and change the default style by going to "Profile" → "Personality" or "Display".

#1 2019-03-11 00:52:55

daishudaishu
Member
Registered: 2019-02-24
Posts: 22

How necessary is EJOB tag in RASSI spin-orbit calculation

Dear all,
I would like to know if EJOB is really necessary for the RASSI spin-orbit calculation. In the following MOLCAS example, EJOB will ask MOLCAS to read the CASPT2 (or MS-CASPT2) energies from the JobMix files to be incorporated to the RASSI results.
http://www.molcas.org/documentation/manual/node33.html

However, EJOB will mess with the RASSSI energy as reported in the following posts.

https://molcasforum.univie.ac.at/viewtopic.php?id=159
https://molcasforum.univie.ac.at/viewtopic.php?id=451

The reason for this problem could possibly be caused by that the RASSCF states from different calculations are not orthogonal.

Is it possible to run RASSI without messing up the orbital energy?
Maybe we can reoptimize the orbitals read from different JobMix?

How about read the multi-state CASPT2 calculation energy and replace the diagonal element of the spin-free effective Hamiltonian after calculating the  RASSI State energy? 

Thanks a lot!

Last edited by daishudaishu (2019-03-11 01:09:35)

Offline

#2 2019-03-11 09:08:51

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,085

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

I think by default RASSI will recompute energies and couplings between the states, but it will be done with RASSCF (not CASPT2). If you don't want that, you can use EJOB (read diagonal Hamiltonian), HEFF (read full Hamiltonian) or HEXT (input Hamiltonian manually).

Offline

#3 2019-03-11 17:57:50

daishudaishu
Member
Registered: 2019-02-24
Posts: 22

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

Hi Ignacio,
Thanks for your reply!

If I use HEFF, all the RASSI energy are 0.0. How to fix it?

In the current code, EJOB will ask MOLCAS to read the multi-state CASPT2 calculation energy and replace the diagonal element of the spin-free effective Hamiltonian before calculating RASSI energy. I don't understand the meaning of doing this.

Is it possible to replace the diagonal element after calculating the RASSI State energy? It seems to make more sense because after diagonalizing the spin-free effective Hamiltonian, the off-diagonal elements are 0. So it becomes consistent with the EJOB tag, where EJOB tag assumes that off-diagonal elements are 0.

Thanks!

Offline

#4 2019-03-12 15:50:43

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,085

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

If I use HEFF, all the RASSI energy are 0.0. How to fix it?

I just learnt something new. When you run MS-CASPT2, it puts the HEFF on the JOBIPH file, not on the JOBMIX file. This makes sense, because the HEFF is computed in terms of the input states, while the mixed states are those that diagonalize it. So, use JOBMIX + EJOB or JOBIPH + HEFF. In either case, I'm afraid the couplings between states from different files will be set to 0.

In the current code, EJOB will ask MOLCAS to read the multi-state CASPT2 calculation energy and replace the diagonal element of the spin-free effective Hamiltonian before calculating RASSI energy. I don't understand the meaning of doing this.

EJOB essentially tells RASSI not to bother computing the Hamiltonian matrix, because we know it is diagonal. In the CASPT2 case, moreover, if we let RASSI compute it, it would not get the PT2 energies.

Is it possible to replace the diagonal element after calculating the RASSI State energy? It seems to make more sense because after diagonalizing the spin-free effective Hamiltonian, the off-diagonal elements are 0. So it becomes consistent with the EJOB tag, where EJOB tag assumes that off-diagonal elements are 0.

If you want to create some patchwork Hamiltonian from different types of calculation (e.g., H(1:3,1:3) from a MS-CASPT2, H(4:6,4:6) from a different MS-CASPT2, H(1:3,4:6) from a CASSCF-RASSI), I guess you can do it with the HEXT keyword.

Offline

#5 2019-03-13 06:51:47

daishudaishu
Member
Registered: 2019-02-24
Posts: 22

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

Hi Ignacio,
Thank you very much for your reply.
I believe that the reason for the wrong RASSI energy in the following post is a bug of MOLCAS.
https://molcasforum.univie.ac.at/viewtopic.php?id=451

MOLCAS assumes that the Hamiltonian off-diagonal element is 0 when using EJOB. However, this is not true in this case. The off-diagonal element of Hamiltonian and overlap matrix are not negligible. If we neglect the off-diagonal matrix of Hamiltonian matrix but keeps that of overlap matrix, as EJOB does, the eigenvalues will be off. The error is 9 Hartree.

I think the solution is to keep the off-diagonal element of Hamiltonian matrix or diagonalize the Hamiltonian matrix before replacing the CASPT2 energy. I can email the details to you. Please tell me your email address. I already implement the first solution. But I am not sure how this will change the later oscillator strength calculation. I would like to talk to a developer and figure out how to fix this.

Thanks a lot!

Last edited by daishudaishu (2019-03-13 06:54:08)

Offline

#6 2019-03-13 09:33:56

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,085

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

daishudaishu wrote:

MOLCAS assumes that the Hamiltonian off-diagonal element is 0 when using EJOB. However, this is not true in this case. The off-diagonal element of Hamiltonian and overlap matrix are not negligible. If we neglect the off-diagonal matrix of Hamiltonian matrix but keeps that of overlap matrix, as EJOB does, the eigenvalues will be off. The error is 9 Hartree.

I wouldn't say it's a bug, since it is doing what the documentation says: assume the spin-free Hamiltonian is diagonal. If you know it is not diagonal, you should not use EJOB.

It may be a limitation, or maybe the behaviour has been changed since the keyword was introduced. I think what you want is the HDIAG keyword: it replaces the diagonal elements, and does not set off-diagonal elements to zero. The drawback is you have to input the values by hand.

For bug reports, suggestions and discussions about the code, you can use the issues page on GitLab.

Offline

#7 2019-03-13 20:44:52

daishudaishu
Member
Registered: 2019-02-24
Posts: 22

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

Hi Ignacio,
Thank you for the suggestions.

I would like to know if I use HDIAG tag to replace the diagonal element of the Hamiltonian matrix with CASPT2 energy, will the result still be meaningful? The issue is that the off-diagonal Hamiltonian matrix will contribute to the eigenvalue.

Do you happen to know why the wavefunctions from different calculations are not orthogonal? The maximum overlap matrix in my case is 0.00138988. Is this physical?

In my case, if I solve HC=ESC, the eigenvalue will be the same with RASSCF energy, which is the diagonal element of the Hamiltonian matrix. The difference is only 10^-5 Hartree.  Is this always true? By reading the code, I find that Hamiltonian matrix is built with overlap matrix. Is there any paper that discusses the algorithm of RASSI? I would like to know how the spin-free Hamiltonian matrix and spin-orbit Hamiltonian are built.

Thank you very much!

Offline

#8 2019-03-14 09:51:37

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,085

Re: How necessary is EJOB tag in RASSI spin-orbit calculation

daishudaishu wrote:

I would like to know if I use HDIAG tag to replace the diagonal element of the Hamiltonian matrix with CASPT2 energy, will the result still be meaningful? The issue is that the off-diagonal Hamiltonian matrix will contribute to the eigenvalue.

It is an approximation, but so is using EJOB, because RASSI will still compute RASSCF-like transition density matrix, but using CASPT2-like energies where needed.

Do you happen to know why the wavefunctions from different calculations are not orthogonal? The maximum overlap matrix in my case is 0.00138988. Is this physical?

Unless two separate calculations have different symmetry (spin or spatial), they will in general not be orthogonal. Why would they be? The orbitals are optimized with different conditions.

In my case, if I solve HC=ESC, the eigenvalue will be the same with RASSCF energy, which is the diagonal element of the Hamiltonian matrix. The difference is only 10^-5 Hartree.  Is this always true?

As long as off-diagonal elements are small, the eigenvalues will be close to the diagonal elements. That means your input states are close to orthogonal, but not quite.

By reading the code, I find that Hamiltonian matrix is built with overlap matrix. Is there any paper that discusses the algorithm of RASSI? I would like to know how the spin-free Hamiltonian matrix and spin-orbit Hamiltonian are built.

Try: https://doi.org/10.1002/qua.560300404 and https://doi.org/10.1016/S0009-2614(02)00498-0

Offline

Board footer

Powered by FluxBB 1.5.11

Last refresh: Today 18:46:37