Support and discussions for Molcas and OpenMolcas users and developers
You are not logged in.
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".Hi all,
I am wondering if it is possible to calculate minimum energy conical intersection geometries between S0 and S1 states using CASSCF? If so, what is the best way to do this? I have seen from the manual there is the ciiscmng program which, when called with "CIOPtimization" keyword, can compute CI geometries.
However, the page then goes on to say that this is not implemented yet
http://www.molcas.org/documentation/man … g_examples.
Is the best strategy then to calculate the two states and use a constraint (dE=0), using SLAPAF minimize the gap?
Any help in this would be much appreciated
Thanks
Offline
Yes, that's the way to do it. With Molcas 8.0 you'll need to do two separate calculations, one for S0, one for S1, each with gradient (ALASKA), copy one RunFile to RUNFILE2 and let SLAPAF optimize. This will use the branching plane update method described in https://dx.doi.org/10.1021/ct1000268 (convergence can be problematic)
With the next Molcas version, it will be easier: specify an "EDiff" constraint with the root numbers you want to cross ("EDiff 1 2" for S0/S1), and optimize as any normal optimization; SLAPAF will take care of computing gradients and nonadiabatic coupling vectors as needed: http://dx.doi.org/10.1021/acs.jctc.6b00384
Offline
Thanks Ignacio, that is really helpful! Would this input example calculate correctly the S0/S1 crossing for ethylene, using a state average of the s0 and s1 orbitals for each state?
&GATEWAY
coord=ethylene.xyz
basis = STO-3G
group=C1
Constraints
a = Ediff
Value
a = 0.000
End of Constraints
>>> EXPORT MOLCAS_MAXITER=300
>>> Do while
&SEWARD
>>> If ( Iter = 1 ) <<<
&SCF
>>> EndIf <<<
&RASSCF
LumOrb
Title= acrolein
Spin= 1; nActEl= 8 0 0; Inactive= 4; Ras2= 8
CiRoot
2 2; 1 2; 1 1
&ALASKA
PNEW
>>COPY $WorkDir/$Project.RunFile $WorkDir/RUNFILE2
&RASSCF
LumOrb
Spin= 1; Nactel= 8 0 0; Inactive= 4; Ras2= 8
CiRoot
2 2; 1 2; 1 1
&ALASKA
PNEW
&SLAPAF
>>> EndDo
Thanks
Offline
Almost. By default &ALASKA will compute the gradient for the highest root included in the state-average, S1 in your case. Since you didn't change this, you are simply computing twice the same gradient. You should add "RlxRoot = 1" to one of the &RASSCF blocks. Then I think it will work.
Offline