[molpro-user] ROTATE orbitals directive in CASSCF, keeping a stable active space for RASSCF, disabling orbital optimisation in CASSCF

Bartosz Chmura bchmura at gmail.com
Wed Jul 20 11:11:53 BST 2011


Dear Molpro users,

the shortest possible description of my problem is:
Is it possible to rotate orbitals in a CASSCF calculation AND disable their
optimization?
The end outcome should produce a CAS in which the orbitals have been
rearranged into manually selected order, like:
switching from
(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, ...
to
(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, ...


More details about the problem:
For the last couple of days I have tried to rotate orbitals in CASSCF to a
selected order and keep them in that order.
During a simple trajectory scan in MgF* some of the orbitals switch
positions (probably due to changes in energy).
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.
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.
I have so far tried using the ROTATE directive, and it seems to be working,
as I do get the message :
" ROTATION OF ORBITALS  10.1   11.1       90.00 DEGREES " in my output
however, the CASSCF rotates them back...:
=============partial output
k=73
 CI vector for state symmetry 1
 ==============================
...
 2200a0 2200     -0.2752261   0.0138831   0.1793143....
 220a00 2200     -0.0293618  -0.0458465   0.0216476....
...
k=74
 CI vector for state symmetry 1
  ==============================
 2200a0 2200      0.0174272  -0.0443395  -0.0109980....
 220a00 2200     -0.2746797  -0.0005478   0.1825896....
...
=============partial output

Below is an example partial-input :

=============partial input
        do k=73,74
        mgfr=mgfrt(k)

        geomtyp=zmat;
        symmetry,x;
        orient,noorient;
        geometry={
!GEOMETRY SPECIFICATION ===== section BEGIN
        ang;                                                            !
use Angstroems
                Mg1;
                F1      Mg1     mgfr;
        };
        end;
!GEOMETRY SPECIFICATION ===== section END

        basis
                default=AVDZ
        end
        IF (k.eq.1) THEN
                {uhf                                                    !
UNRESTRICTED Hartree-Fock evaluation ===== section BEGIN
                wf,21,1,1;                                              !
Wavefunction has 21 total electrons, Cs(A') state should be evaluated, spin
1
                };                                                      !
UNRESTRICTED Hartree-Fock evaluation ===== section END

                text, finished HF
                file = 'hf__$mgfr.molden';
                put,molden,$file;                                       !
Save the output into the molden-type file
        ENDIF

        text,k=$k started CASSCF
        gthresh,printci=0.050;
                {casscf;
                close,6,0;
                occ,12,4;
                wf,21,1,1;
                state,10;
                wf,21,2,1;
                state,2;
                natorb,reforb1;
                noextra;                                        ! Do not use
extra symmetries
                };
        text,k=$k ended CASSCF
        text,k=$k CASSCF rotated orbitals START;
        IF ((k.le.73)) THEN
                {casscf;
                close,6,0;
                occ,12,4;
                wf,21,1,1;
                state,10;
                wf,21,2,1;
                state,2;
                start,reforb1;
                natorb,reforb1;
                noextra;                                        ! Do not use
extra symmetries
                };
        ENDIF
        IF ((k.gt.73)) THEN
                {casscf;
                close,6,0;
                occ,12,4;
                wf,21,1,1;
                state,10;
                wf,21,2,1;
                state,2;
                start,reforb1;
                rotate,10.1,11.1;
                {Iterations
                DONT,DIAGCI,1,TO,10;
                DO,NULL,1,TO,10;
        !               DO,UNCOUPLE,1,TO,10;
                }
        !               DONT,ORBITAL;
                natorb,reforb1;
                noextra;                                        ! Do not use
extra symmetries
                };
        ENDIF
        text,k=$k CASSCF rotated orbitals STOP;
=============partial input

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.
My idea so far was to :
1. perform CASSCF (this optimizes orbitals, etc BUT destabilizes the CAS)
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.)
3. perform RASSCF using the orbitals and CAS from step #2
But I cannot find a way to properly perform step #2.

I've been trying almost all possible options so far:
* CASSCF with ROTATE and :
*** DONT,ORBITAL,
*** DONT,DIAGCI and DO,NULL
*** DO,UNCOUPLE
*** DO,NULL
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.

* using MERGE with ROTATE before CASSCF
Like above, plus MERGE lost some information of the orbitals (occupancy,
etc)

* using MERGE with ROTATE before MRCI with NOEXC
Worked, but the MERGE option kept loosing orbital occupancy data ...

* MRCI with NOEXC and ROTATE
This was so far the best "working" option.

Is there any other possibility to solve this problem inside CASSCF?


Thanks for your help and time,
Bartosz Chmura
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.molpro.net/pipermail/molpro-user/attachments/20110720/ff2026c7/attachment.html>


More information about the Molpro-user mailing list