3.5 Performing RASSI-Spin-Orbit calculations.
In the previous MS-CASPT2 step, the matrix of an effective Hamiltonian in the CAS basis was diagonalized (per symmetry block). The eigenvectors form the CAS ′ basis; the eigenvalues are the MS-CASPT2 energies. Both are transferred to RASSI through theJobMixfile. RASSIwill add the spin-orbit couplings ⟨CAS′i|HˆSO|CAS′j⟩, HˆSO being the spin-orbit coupling contribution to the full Hamiltonian, to the input (diagonal) MS-CASPT2 effective Hamiltonian matrix in the CAS ′ basis and will diagonalize it to get the wavefunctions and energies which contain SOC effects in addition to electron correlation.
MSIN option in RASSI-SO calculations with RASSI. Due to residual symmetry breakings, some MS-CASPT2 eigenvalues (MS-CASPT2 en- ergies) that should be degenerate are not, or are only almost-degenerate. The MSINput option provides the energies to do a “manual shift” of the input eigenvalues so that the close-but-non degenerate eigenvalues are substituted by their mean value; this avoids a lot of problems of identification of SO results later on. This is why the tail.$RassiStates.$RassiType.rassi.input file (see below) to be used with the MSIN option specifies which blocks should be degenerate. Note that in case of non- degeneracy beyond a threshold the input preparer will issue a warning. The MSIN option is not available in standard releases of MOLCAS; slight modifications of the RASSI code are needed.
3.5.1 Prepare and submit all RASSI-SO calculations using the program RASSI.
Spin-orbit coupling will not mix gerade and ungerade states in this centrosymmetric case and two independent SO calculations could be done. However, if one is inter- ested in obtaining the electric dipole transition moments between gerade and ungerade states, both sets should be included in the RASSI-SO calculations at once. We will do this. This means that all the wavefunctions we have calculated so far should be now invoked.
Go to directory inputs/RASSI.
To prepare a RASSI-SO calculation for gerade and ungerade states using the MSIN option ($RassiStates=g.and.u, $RassiType=msin), prepare the head and tail files
head.g.and.u.msin.rassi.input
tail.g.and.u.msin.rassi.input.
The head file specifies the number of JobIph (and JobMix) files stored in the vectors/CASPT2 directory that will be used by RASSI and the number of roots to be used from each. Note that spin-orbit coupling will mix different spins and different irrep subspecies. You will find in the template file:
NROFJOBIPHS= 8 2 2 2 1 3 1 1 1
The tail file specifies the labels that identify the JobIph (and JobMix) files, as well as information about degeneracy. You will find in the template file:
RASSI LIST DEGENERATE 3 2Tu2.ms-2 2Tu3.ms-2 2Tu5.ms-2 2Au.ms-1 2Ag.ms-3 DEGENERATE 3 2Tg4.ms-1 2Tg6.ms-1 2Tg7.ms-1
END OF RASSI LIST
Any order is possible in the RASSI LIST, but once a given input order is chosen, the info in the head and tail files must match!
Between the geometry independent head and tail info, the RASSI input preparer will insert the MSINput information to finish the preparation of an input file for each geometry (see next).
Edit and run do.prepare.rassi.
This will invoke the RASSI input preparer shells/pre-post/prepare.rassi.ksh, which will prepare the geometry-dependend RASSI input files $GeomLab.$RassiStates.msin.rassi.input, by using:
The above geometry-independent head and tail files.
The MSINput information available in the printouts/CASPT2/*.msin.energies files.
The MSIN information is the set of MS-CASPT2 energies corresponding to the CAS ′ wavefunctions in the RASSI list. These energies are averaged as demanded by the DEGENARATE n keyword used in the tail file. Should the non-degeneracy be larger than a threshold, the shell will issue a warning. For this reason, the directory where the MS-CASPT2 energies are should be given as a parameter to the input preparer shell. Check some input files. Note the average values obtained from actual quasi-degenerate energies by confronting the values in the *.msin.energies or *.caspt2.output files.
Submit the RASSI-SO calculations for all points in the dCe−F grid.
For that, in the shells directory: Edit j.calculation and uncomment only the “ksh run.rassi.msin.sh g.and.u $RassiDir” line. Invoke prepare.jobs to prepare all the job files, update do.submit, and invoke it to submit all the jobs.
3.5.2 Analyze and plot the results of RASSI.
Go to directory printouts/RASSI.
Grep the rc= value in all printouts. It should be 0. Check some printouts.
Use the RASSI analyzer to analyze the RASSI-SO calculations (assign Oh′ double group irreps) and to partially prepare input for EFIT program.
Update and invoke do.analyze.rassi.
This script shell links the $Block.ms-caspt2.assignments files in the CASPT2 printouts directory ../CASPT2 and calls the analyzer shells/pre-post/analyze.rassi.ksh.
The following files will be used by the analyzer:
*.msin.rassi.output files
../../inputs/RASSI/*.msin.rassi.input files
*.ms-caspt2.assignments
SO.REDUCTION.TABLE file, which is self explanatory
*.msin.rassi.fixed files (see below)
The following files are produced by the analyzer:
*.msin.rassi.summary files with the results of the analyses of the SO wave- functions read from RASSI printouts
*.msin.efit.dat file for EFIT
A file rassi.table.tex.dat with SO wavef unction analyses made at all geometries, preformatted for a later use to produce a LATEX table.
The *.summary files must be checked very carefully. They contain the spin-orbit vectors (states) specifying their spin-orbit-free components. On the basis of this table and using SO.REDUCTION.TABLE, the analyzer tries to assign each SO state to a double-group Oh′ irrep in this case. Once it has done that it looks for broken degeneracies larger than a threshold (300 cm−1) and issues warnings. This must be checked! After that, it counts and prints out the total number of SO levels (called terms in the analyzer) obtained. Again, this must be checked because if it is different from what is expected this could reveal wrong assignments which would demand the user sets the assignment of particular states in the *.fixed file and rerun the analysis again. This does not hapen in this case, though, but this will be the case in other more complex manifolds of states; Pr, for instance. The total number of SO states adapted to Oh′ double-group irreps are for the Ce3+ case we have calculated (4f1,5d1,6s1):
Oh double-group irreps
G6u G7u G8u G6g G7g G8g (G stands for Gamma)
2 2 4 2 2 4 <--degeneracies
SF Oh irreps
states irrep
1 2T1u 1 0 1 0 0 0
1 2T2u 0 1 1 0 0 0
1 2A2u 0 1 0 0 0 0
total: 1 2 2 <-- to be checked in the *.summary file
1 2Eg 0 0 0 0 0 1
1 2T2g 0 0 0 0 1 1
1 2A1g 0 0 0 1 0 0
total: 1 1 2 <-- to be checked in the *.summary file
Use EFIT to fit the RASSI-SO energy curves and to prepare input to plot them.
Go to the results directory.
Update msin.efit.inp.head and prep.msin.efit files and run the latter. Check file msin.efit.out.
To plot the RASSI-SO energy curves, run XMGRACE, open Ce.RAS.PT2.SO.agr, and import msin.curves.txt in the window of the RASSI-SO results.
Edit msin.efit.inp and run “efit.ksh msin” until the fitting of the energy curves has a good quality. The data in msin.efit.out immediately after the keyword SUMMARY will be later read to make a LATEX table in a report. Again, substi- tute the input data following the INPUT DATA keyword from eordered.efit.inpto produce energy ordered output. Note that the Ce4+ A1g energy curve has been appended to msin.efit.inp.
3.5.3 Calculate absorption and emission electric dipole oscillator strengths and radiative lifetimes.
In the RASSI calculation for gerade and ungerade states together, the program calculates and prints out the components of the electric dipole transition moment between all states above a threshold, as well as the Einstein emission coefficients. The correct combination of this data gives the absorption and emission electric dipole oscillator strengths and the radiative lifetimes.
Go to the printouts/RASSI/OS directory.
Update un run do.oscillator.strength.rassi.
Given a geometry to calculate the oscillator strengths ($GeomLab), this script shell links the necessary
../*.$GeomLab.*.msin.rassi.output and
../*.$GeomLab.*.msin.rassi.summary files
and calls shells/pre-post/oscillator.strength.rassi.ksh.
The script shell oscillator.strength.rassi.ksh calculates the total absorption or emission oscillator strengths associated with the electronic transition from one state of the initial SO level to all states of the final SO level. The parameter $initL specifies the initial SO level; its sign sets a flag for:
initL = 0 total oscillator strengths are not calculated; useful to check the SO level list and input data
initL > 0 absorptions from $initL to all possible upper levels
initL < 0 emissions from $initL to all possible lower levels;
emission lifetime of this state will also be calculated using the Einstein coefficients;
It produces the files
*.msin.rassi.OscStr.$initL, with absolute and relative oscillator strenghts (and radiative lifetime for emission), preceeded by the table of oscillator strength values between individual SO states read from the RASSI printout.
ABSORPTION.OS or EMISSION.OS files, which will be read later to make a LATEX table in a report.
3.5.4 Make a basic report with the RASSI-SO results.
Make the body of a LATEX table that combines RASSI-SO spectroscopic constants calculated with EFIT with the analyses of the SO wave functions (made at a given geometry) and, optionally, with the absorption and/or emission oscillator strenghts (made at their own given geometries).
In the results directory, run do.SO.table. It will use the files:
msin.efit.out, with RASSI-SO spectroscopic constants
printouts/RASSI/rassi.table.tex.dat, with the SO wavefunction analyses
printouts/RASSI/OS/ABSORPTION.OS and
printouts/RASSI/OS/EMISSION.OS, with oscillator strengths
It will produce:
SO.table.tex.dat, with the core of a LATEX table
SO.banda.dat, with the basic data to plot absorption and emission spectra profiles with the program BANDA-LS.
Make the report.
In the results/latex directory, issue make. It will make the report in report.pdf, which can be visualized.
3.5.5 Plot absorption and emission spectra profiles.
Go to results/spectrum-profile.
Update abs*.inp and/or emi*.inp files by inserting results/SO.banda.dat and changing the parameters of the spectrum simulations.
Update and run do.spectrum-profile.
Run XMGRACE, read spectrum-profile.agr, and import the appropriate *.dat files.