<div class="gmail_quote">Dear Molpro users,<br><br>the shortest possible description of my problem is:<br>Is it possible to rotate orbitals in a CASSCF calculation AND disable their optimization?<br>The end outcome should produce a CAS in which the orbitals have been rearranged into manually selected order, like:<br>
switching from<br>(core) 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, (active) 7.1, 8.1, 9.1, 10.1, 11.1, 12.1, ...<br>to <br>(core) 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, (active) 7.1, 8.1, 9.1, 11.1, 10.1, 12.1, ...<br>
<br><br>More details about the problem:<br>For the last couple of days I have tried to rotate orbitals in CASSCF to a selected order and keep them in that order.<br>During a simple trajectory scan in MgF* some of the orbitals switch positions (probably due to changes in energy).<br>
Because I want to later use RASSCF with specified CSFs (using the SELECT, CON directives) - this destabilizes the active space that I want to use.<br>This is because specifying a CON like: 2,2,0,0,1,0, 2,2,0,0 (A',..., A'',...) - if the last 2 orbitals in A' switch places - this will lead to two different CSFs, and result in bad energies.<br>
I have so far tried using the ROTATE directive, and it seems to be working, as I do get the message :<br>" ROTATION OF ORBITALS 10.1 11.1 90.00 DEGREES " in my output<br>however, the CASSCF rotates them back...:<br>
=============partial output<br>k=73<br> CI vector for state symmetry 1<br> ==============================<br>...<br> 2200a0 2200 -0.2752261 0.0138831 0.1793143....<br> 220a00 2200 -0.0293618 -0.0458465 0.0216476....<br>
...<br>k=74<br>
CI vector for state symmetry 1<br>
==============================<br> 2200a0 2200 0.0174272 -0.0443395 -0.0109980....<br> 220a00 2200 -0.2746797 -0.0005478 0.1825896....<br>...<br>=============partial output<br><br>Below is an example partial-input :<br>
<br>=============partial input<br> do k=73,74<br> mgfr=mgfrt(k)<br><br> geomtyp=zmat;<br> symmetry,x;<br> orient,noorient;<br> geometry={ !GEOMETRY SPECIFICATION ===== section BEGIN<br>
ang; ! use Angstroems<br> Mg1;<br> F1 Mg1 mgfr;<br> };<br> end; !GEOMETRY SPECIFICATION ===== section END<br>
<br> basis<br> default=AVDZ<br> end<br> IF (k.eq.1) THEN<br> {uhf ! UNRESTRICTED Hartree-Fock evaluation ===== section BEGIN<br>
wf,21,1,1; ! Wavefunction has 21 total electrons, Cs(A') state should be evaluated, spin 1<br> }; ! UNRESTRICTED Hartree-Fock evaluation ===== section END<br>
<br> text, finished HF<br> file = 'hf__$mgfr.molden';<br> put,molden,$file; ! Save the output into the molden-type file<br> ENDIF<br>
<br> text,k=$k started CASSCF<br> gthresh,printci=0.050;<br> {casscf;<br> close,6,0;<br> occ,12,4;<br> wf,21,1,1;<br> state,10;<br>
wf,21,2,1;<br>
state,2;<br> natorb,reforb1;<br> noextra; ! Do not use extra symmetries<br> };<br> text,k=$k ended CASSCF<br> text,k=$k CASSCF rotated orbitals START;<br>
IF ((k.le.73)) THEN<br> {casscf;<br> close,6,0;<br> occ,12,4;<br> wf,21,1,1;<br> state,10;<br> wf,21,2,1;<br> state,2;<br>
start,reforb1;<br> natorb,reforb1;<br> noextra; ! Do not use extra symmetries<br> };<br> ENDIF<br> IF ((k.gt.73)) THEN<br>
{casscf;<br> close,6,0;<br> occ,12,4;<br> wf,21,1,1;<br> state,10;<br> wf,21,2,1;<br> state,2;<br> start,reforb1;<br>
rotate,10.1,11.1;<br> {Iterations<br> DONT,DIAGCI,1,TO,10;<br> DO,NULL,1,TO,10;<br> ! DO,UNCOUPLE,1,TO,10;<br> }<br> ! DONT,ORBITAL;<br>
natorb,reforb1;<br> noextra; ! Do not use extra symmetries<br> };<br> ENDIF<br> text,k=$k CASSCF rotated orbitals STOP;<br>
=============partial input<br><br>Since I want to perform a RASSCF calculation afterwards, I need to have a stable CASSCF trajectory with a CAS that doesn't change along my trajectory.<br>My idea so far was to :<br>1. perform CASSCF (this optimizes orbitals, etc BUT destabilizes the CAS)<br>
2. perform CASSCF with ROTATE and switching off the orbital optimization (this would put the CAS back into place. Orbitals don't need re-optimization as they're taken from step #1. Only the CI-vector needs diagonalization, to properly swap the coefficients.)<br>
3. perform RASSCF using the orbitals and CAS from step #2<br>But I cannot find a way to properly perform step #2.<br><br>I've been trying almost all possible options so far:<br>* CASSCF with ROTATE and :<br>*** DONT,ORBITAL,<br>
*** DONT,DIAGCI and DO,NULL<br>*** DO,UNCOUPLE<br>*** DO,NULL<br>These didn't work - I got messages saying that orbitals DID get rotated, but then the CI-vector analysis showed they went back to their previous order.<br>
<br>* using MERGE with ROTATE before CASSCF<br>Like above, plus MERGE lost some information of the orbitals (occupancy, etc)<br><br>* using MERGE with ROTATE before MRCI with NOEXC<br>Worked, but the MERGE option kept loosing orbital occupancy data ...<br>
<br>* MRCI with NOEXC and ROTATE<br>This was so far the best "working" option.<br><br>Is there any other possibility to solve this problem inside CASSCF?<br><br><br>Thanks for your help and time,<br><font color="#888888">Bartosz Chmura<br>
</font></div><br>