inifas.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\stbtel\inifas.f
00002 !
00031                         SUBROUTINE INIFAS
00032 !                       *****************
00033 !
00034      &(TYPELE,NGEO)
00035 !
00036 !***********************************************************************
00037 ! PROGICIEL : STBTEL V5.2      09.07.1996  P. CHAILLET  (LHF) - FASTTABS
00038 !***********************************************************************
00039 !
00040 !     FONCTION  : INITIALISATION DES INFORMATIONS DANS LE CAS DE FASTTAB
00041 !
00042 !-----------------------------------------------------------------------
00043 !                             ARGUMENTS
00044 ! .________________.____.______________________________________________
00045 ! !      NOM       |MODE!                   ROLE
00046 ! !________________|____!______________________________________________
00047 ! ! TYPELE         !<-- ! TYPE D'ELEMENT DU MAILLAGE (ICI TRIANGLES)
00048 ! !________________!____!______________________________________________
00049 ! ! COMMON:        !    !
00050 ! !  GEO:          !    !
00051 ! !    MESH        !<-- ! TYPE DES ELEMENTS DU MAILLAGE
00052 ! !    NDP         !<-- ! NOMBRE DE NOEUDS PAR ELEMENTS ( TOUJOURS 3 )
00053 ! !    NPOIN       !<-- ! NOMBRE TOTAL DE NOEUDS DU MAILLAGE
00054 ! !    NELEM       !<-- ! NOMBRE TOTAL D'ELEMENTS DU MAILLAGE
00055 ! !    NPMAX       ! -->! DIMENSION EFFECTIVE DES TABLEAUX X ET Y
00056 ! !                !    ! (NPMAX = NPOIN + 100)
00057 ! !    NELMAX      ! -->! DIMENSION EFFECTIVE DES TABLEAUX CONCERNANT
00058 ! !                !    ! LES ELEMENTS (NELMAX = NELEM + 200)
00059 ! !  FICH:         !    !
00060 ! !    NRES        ! -->! NUMERO DU CANAL DU FICHIER DE SERAFIN
00061 ! !    NGEO       ! -->! NUMERO DU CANAL DU FICHIER MAILLEUR
00062 ! !    NLIM      ! -->! NUMERO DU CANAL DU FICHIER DYNAM DE TELEMAC
00063 !     NFO1       -->! NUMERO DU CANAL DU FICHIER TRIANGLE DE TRIGRID
00064 ! !                !    !
00065 ! !  INFO:         !    !
00066 ! !    LNG         !--> ! LANGUE UTILISEE
00067 ! !    LU          !--> ! CANAL DE SORTIE DES MESSAGES
00068 ! !________________!____!______________________________________________
00069 ! MODE : -->(DONNEE NON MODIFIEE), <--(RESULTAT), <-->(DONNEE MODIFIEE)
00070 !-----------------------------------------------------------------------
00071 ! APPELE PAR : HOMERE
00072 ! APPEL DE :
00073 !***********************************************************************
00074 !
00075       IMPLICIT NONE
00076 !
00077       INTEGER       MESH, NDP, NPOIN, NELEM, NPMAX, NELMAX
00078       INTEGER       NGEO
00079       CHARACTER*(*) TYPELE
00080       CHARACTER*80  LIGNE
00081       INTEGER       LNG,LU
00082       INTEGER       IE,J
00083       INTEGER       ELMLOC(8)
00084 !
00085 ! COMMON
00086 !
00087       COMMON/GEO/MESH, NDP, NPOIN, NELEM, NPMAX, NELMAX
00088       COMMON/INFO/LNG,LU
00089 !
00090 ! - INITIALISATION
00091 !
00092       REWIND (NGEO)
00093       NPOIN = 0
00094       NELEM = 0
00095 !
00096 !  - BOUCLE DE LECTURE DU FICHIER DE MAILLAGE
00097 !  - TANT QUE NON FIN DE FICHIER
00098 !
00099  1    CONTINUE
00100         READ (NGEO, '(A80)', END=9000, ERR=8000) LIGNE
00101 !
00102 ! - LA LIGNE COMMENCE PAR "GNN" - DEINITION D'UN POINT
00103 !
00104         IF (LIGNE(1:3).EQ.'GNN') THEN
00105           NPOIN = NPOIN + 1
00106         ENDIF
00107 !
00108 ! - LA LIGNE COMMENCE PAR "GE" - DEINITION D'UN ELEMENT
00109 !
00110         IF (LIGNE(1:2).EQ.'GE') THEN
00111           NELEM = NELEM + 1
00112           READ(LIGNE(4:80),*,ERR=8000,END=9000) IE,
00113      &     (ELMLOC(J),J=1,8)
00114           IF (ELMLOC(8).NE.0.OR.
00115      &         (ELMLOC(4).NE.0.AND.ELMLOC(6).EQ.0) ) THEN
00116 !
00117 ! - ON RAJOUTERA DES ELEMENTS
00118 !
00119             NELEM = NELEM + 1
00120           ENDIF
00121         ENDIF
00122       GOTO 1
00123 !
00124  9000 CONTINUE
00125       TYPELE = 'TRIANGLES  '
00126       NDP = 3
00127       MESH = 3
00128 !
00129       RETURN
00130 !
00131 ! - TRAITEMENT ERREUR DE FICHIER
00132 !
00133  8000 CONTINUE
00134       IF (LNG.EQ.1) WRITE (LU,4000)
00135       IF (LNG.EQ.2) WRITE (LU,4001)
00136  4000 FORMAT (//,1X,'***************************************'
00137      &        ,/,1X,'SOUS-PROGRAMME INIFAS : ERREUR DANS LA'
00138      &        ,/,1X,'LECTURE DU FICHIER DE MAILLAGE FASTTABS.'
00139      &        ,/,1X,'***************************************')
00140  4001 FORMAT (//,1X,'****************************'
00141      &        ,/,1X,'SUBROUTINE INIFAS :'
00142      &        ,/,1X,'ERROR READING FASTTABS FILE.'
00143      &        ,/,1X,'****************************')
00144       CALL PLANTE(1)
00145       STOP
00146       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0