<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>