## Firefly and PC GAMESS-related discussion club

Learn how to ask questions correctly

Re: Orbitals sorting with firefly

Pedro Silva
pedros@ufp.edu.pt

On Sat Sep 27 '14 3:19am, alex wrote
------------------------------------
>Hello experienced ffly users and developers,
>I have encountered an (insolvable) problem when tried to sort my orbitals with J/IORDER. The details make the letter slightly longer as an average posts but should give the details.
>The goal of sorting is to get the sequence of orbitals:
>| 32 |  30 | 104 | 123 | 119 | 477 | 475 | orbital_id
>|116 | 117 | 118 | 119 | 120 | 121 | 122 | position

..
> \$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

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

Sat Sep 27 '14 7:46pm
This message read 1059 times