Pedro Silva
pedros@ufp.edu.pt
..
> $GUESS KDIAG=0 GUESS=MOREAD NORB=411 ASIS=.F. PRTMO=.T. NORDER=1
> IORDER(116)=-32 IORDER(117)=-30 IORDER(118)=-104
> IORDER(119)=123,119,120,121,122
> IORDER(121)=-477 IORDER(122)=-475
> $END
>Hmm, sorting of the active space is fine but # 120 is really lost.
First, you should understand that the command
IORDER(n) =a,b,c,d ....
fills the list of orbitals (starting at position n) with orbital numbers a,b,c,d , ... A minus sign before the orbital numbermeans that the two orbitals should be exchanged( e.g.
$guess IORDER(n)=-p $end
is the same as
$guess IORDER(n)=p IORDER(p)=n $end
Therefore, your command
IORDER(119)=123,119,120,121,122
is equivalent to:
IORDER(119)=123
IORDER(120)=119
IORDER(121)=120
IORDER(122)=121
IORDER(123)=122
The subsequent commands IORDER(121)=-477 IORDER(122)=-475 put orbital 477 in position 121 and orbital 475 in position 122. The orbital list then becomes:
123 | 119 | 477 | 475 | 122 orbital_id
119 | 120 | 121 | 122 | 123 position
you can see that orbital 120 is nowhere to be found, and that is the reason for the error you see.
your IORDER instructions should have been:
iorder(116)=-32
iorder(117)=-30
iorder(118)=-104
iorder(119)=-123
iorder(120)=-119
iorder(121)=-477
iorder(122)=-475
The manuals are your friends!
Pedro Silva