Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

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

#1 2026-05-02 16:25:49

ka3
Member
Registered: 2026-03-24
Posts: 5

Mixed Multi-state CASPT2 in RASSI with h5 vs JobMix

I'm using RASSI to compute absorption and XPS spectra using caspt2 h5 files. I know the h5 file does not contain the mixed coefficients but from what I understand they can be constructed by RASSI using HEFF keyword. An example of my input for the absorption calculation is given below.

&GATEWAY                                                                                                                                                                                                             
COORD = $CurrDir/../../../brthph_gs.xyz
GROUP = NOSYM
BASIS = ANO-RCC-VTZP
Douglas-Kroll
Verbose
RICD
BSShow

&SEWARD

>> COPY $CurrDir/../caspt2/valence-s10_as1.caspt2.h5 JOB001
>> COPY $CurrDir/../caspt2/valence-s10_as1.caspt2.h5 JOB002

&RASSI
Nrof JobIphs
2 1 9 
1
2 3 4 5 6 7 8 9 10
SUBSets
1
HEFF
TDM
CIPRint
NTOCalc
End of input

The MS-CASPT2 calculation includes 10 roots, here I load in the ground state and 9 excited states from the same file. However, when I look at the RASSI state energies they do not correspond to the MS-CASPT2 energies printed in the output of the caspt2 file. The ground state read into JOB001 correspond to the SS-CASPT2 GS energy and the 9 excited states correspond to neither the SS or MS-CASPT2 energies in the CASPT2 file. The coefficients for the 9 excited states printed in RASSI are very close to the MS-CASPT2 coefficients in the caspt2 file, although they differ slightly. Is it the case that RASSI only mixes the subset of states requested on each independent JOB file, so the 9 excited states here are not mixed with the ground state? I noticed the same problem in my Dyson norm calculations, which is a problem as if I load in the third state by itself it actually corresponds to the SS-CASPT2 state when I really want the mixed state.

I thought I could overcome this by using the JobMix files generated by caspt2 instead of the h5 file. However, it seems that caspt2 never produces a JobMix file even though the MS-CASPT2 calculation successfully finishes. I was trying to copy the JobMix file from scratch to the current working directory but the .err file produced by molcas says the JobMix file does not exist. My caspt2 input can be seen below.

&GATEWAY
COORD = $CurrDir/../../../brthph_gs.xyz
GROUP = NOSYM
BASIS = ANO-RCC-VTZP
Douglas-Kroll
Verbose
RICD
BSShow

&SEWARD

&CASPT2
File = $CurrDir/../tz/valence-tz-s10.rasscf.h5
Multistate = all 
IMAG = 0.3 

>>COPY $Project.JobMix $CurrDir/$Project.JobMix

The above EMIL command I use to copy the file works for other types of file e.g. RunFile in other calculations. I then reconfigured molcas to set the working the directory to the PWD and to not wipe anything before and after the calculation, this confirmed that the JobMix file is never actually written by caspt2. Any help as to why my caspt2 calculation does not produce JobMix would be greatly appreciated. I was wondering if JobMix is not created when compiled with h5 support? Or if it's not created as my caspt2 calculation reads a rasscf calculation from h5 and thus only writes the caspt2 outputs to h5? I would really like to be able to use the full mixed states in RASSI without having to read them all in from h5 and compute the mixing with HEFF.

Thanks for your help! smile

Offline

#2 2026-05-05 16:05:30

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

Re: Mixed Multi-state CASPT2 in RASSI with h5 vs JobMix

I think your problem is that you are trying to use a truncated Hamiltonian matrix. If I understand your input correctly, you're copying the same file as JOB001 and JOB002, and effectively setting to zero all interactions between SS-CASPT2 states in the first JOB (1st state) and SS-CASPT2 states in the second JOB (states 2 to 10). Unless those interactions are already negligible in the MS-CASPT2 calculation, the RASSI results cannot reproduce MS-CASPT2. You should be able to reproduce MS-CASPT2 if you include all states in the file.

For instance, with a single job I get in RASSI:

       EIGENSTATES OF A SPIN-FREE HAMILTONIAN WILL BE COMPUTED BASED ON:

  a (effective) Hamiltonian matrix that was read from the wavefunction file(s).

  Nr of states:                    4

   State:        1   2   3   4
  JobIph:        1   1   1   1
 Root nr:        1   2   3   4

  HAMILTONIAN MATRIX FOR THE ORIGINAL STATES:

                   |    1 >          |    2 >          |    3 >          |    4 >
 <    1 |       -78.43398772        0.00000001       -0.00000269       -0.02747681
 <    2 |         0.00000001      -78.13185684       -0.00003001        0.00000000
 <    3 |        -0.00000269       -0.00003001      -78.14361195       -0.00000262
 <    4 |        -0.02747681        0.00000000       -0.00000262      -77.93931528

which matches the matrix printed in CASPT2 (because that is what is stored in the caspt2.h5 file)

But with a split like yours:

 ###############################################################################
 ###############################################################################
 ###                                                                         ###
 ###                                                                         ###
 ###    WARNING: HEFF used for a situation where possible extra              ###
 ###    interaction between states is ignored!                               ###
 ###                                                                         ###
 ###                                                                         ###
 ###############################################################################
 ###############################################################################

and

  HAMILTONIAN MATRIX FOR THE ORIGINAL STATES:

                   |    1 >          |    2 >          |    3 >          |    4 >
 <    1 |       -78.43398772        0.00000000        0.00000000        0.00000000
 <    2 |         0.00000000      -78.13185684       -0.00003001        0.00000000
 <    3 |         0.00000000       -0.00003001      -78.14361195       -0.00000262
 <    4 |         0.00000000        0.00000000       -0.00000262      -77.93931528

Note that the 2-4 block is identical, but the 1st row and column interactions are (artificially) set to zero. RASSI reads the 1-1 block from the 1st JOB and the 2-4 block from the 2nd JOB, and sets all other elements to zero.

As for generating JobMix files, you would need to run CASPT2 using JobIph files as input (i.e. do not use the FILE keyword). Use h5, get h5; use JobIph, get JobMix.

Offline

#3 2026-05-06 14:48:01

ka3
Member
Registered: 2026-03-24
Posts: 5

Re: Mixed Multi-state CASPT2 in RASSI with h5 vs JobMix

Yes, my reason for reading in the states like this is that I just wish to compute all transitions from the one requested state to all other states without loading in all states on each file and having to extract the transitions I want. In the case of Dyson norms where the intensity is printed as a function of binding energy of SO coupled states it will be difficult to figure out which transitions I actually want. I can achieve this by just using the JobMix files instead so I have just switched to using JobMix to ensure no state interactions are missed - as in the below input.

&GATEWAY                                                                                                                                                                                                             
COORD = $CurrDir/../../../brthph_gs.xyz
GROUP = NOSYM
BASIS = ANO-RCC-VTZP
Douglas-Kroll
Verbose
RICD
AMFI
BSShow

&SEWARD

>> COPY $CurrDir/../caspt2/valence-s10-as1.JobMix JOB001
>> COPY $CurrDir/../caspt2/core-as1.JobMix JOB002

&RASSI
Nrof JobIphs
2 1 40
2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Ejob
CIPRint
SPINorbit
DYSExport
1 1
Dyson
End of input

In the case of h5 files, I was wondering if it is possible to account for all state interactions by reading every state from each h5 file but only calculate the transitions between the one state on JOB001 and all other states on JOB002? Or would you just advise to use JobMix in this case? Thanks!

Offline

#4 2026-05-07 13:37:42

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

Re: Mixed Multi-state CASPT2 in RASSI with h5 vs JobMix

Does the SUBSET keyword help?

Offline

Board footer

Powered by FluxBB 1.5.11

Last refresh: Today 23:37:57