C HBMORDO   SOURCE    OF166741  26/05/11    21:15:13     12538          

*=======================================================================
*  tri des valeurs propres par partie imaginaire croisante en module
*=======================================================================

      SUBROUTINE HBMORDO(NM,NDDL,OMEG,EXPIM,INDEIG)

      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

      INTEGER NM,NDDL
C-      DIMENSION INDEIG(2*NM)
      INTEGER INDEIG(*)
      REAL*8 OMEG
C-      DIMENSION*8 EXPIM(NM)
      REAL*8 EXPIM(*)

      INTEGER I
*      INTEGER MINT
*      REAL*8 EXPIW(NM) <- Alloc. dynamique ! MLREEL ?

c      DO I=1,2*NDDL
c        INDEIG(I)=0
c      ENDDO
      DO I=1,NM
        INDEIG(I)=I
      ENDDO

*c  Copier EXPIM dans le tableau de travail EXPIW
*      DO I = 1,NM
*        EXPIW(I) = ABS(EXPIM(I))
*      ENDDO
*c  Pour l'instant, on prend simplement les 2*NDDL VP avec les parties
*c  imaginaires les plus petites en module
*      DO I=1,2*NDDL
*        MINT = MINLOC(EXPIW,DIM=1)
*        INDEIG(I) = MINT
*        EXPIW(MINT) = 1.E6
*      ENDDO

c   bp: on remplace ci-dessus par le classement de la liste
c       on recuperera seulement les 1eres valeurs
      CALL ORDO13(EXPIM,NM,.TRUE.,INDEIG)

      RETURN
      END

 
