Statistiques
| Révision :

root / src / ConvertNumAt.f90 @ 2

Historique | Voir | Annoter | Télécharger (896 octet)

1
      FUNCTION ConvertNumAt(ATOM)
2

    
3
      use Path_module, only : Nom, max_Z
4

    
5
      IMPLICIT NONE
6

    
7
      INTEGER(4) :: I,Long,ConvertNumAt,IC
8
      character(*) :: ATOM
9
      CHARACTER(3) :: ATOME
10
      CHARACTER(10) :: L_Atom
11

    
12
!     Verifie qu'il n'y a que des lettres et des espaces dans ATOM
13

    
14
      L_atom=ADJUSTL(Atom)
15
      IF (ATOM(1:1).LT.'A') L_ATOM(1:1)=' '
16
      IC=Ichar(ATOM(1:1))
17
      IF ((ic.le.123).AND.(ic.ge.97)) L_ATOM(1:1)=CHAr(IC-32)
18
      IF (ATOM(2:2).LT.'A') L_ATOM(2:2)=' '
19
      IC=Ichar(ATOM(2:2))
20
      IF ((ic.le.123).AND.(ic.ge.97)) L_ATOM(2:2)=CHAr(IC-32)
21

    
22
!     Justifie le nom sur la droite (et non sur la gauche comme souvent...)
23
      Long=INDEX(L_ATOM,' ')-1
24
      ATOME=' ' // L_ATOM(1:2)
25
      IF (Long.EQ.1) L_ATOM=ATOME(1:2)
26
      I=max_Z
27
      DO WHILE ((nom(I).NE.L_ATOM(1:2)) .AND. (I.GT.0))
28
         I=I-1
29
      END DO
30

    
31
      ConvertNumAT=I
32

    
33
      END
34