inisim.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\stbtel\inisim.f
00002 !
00031                         SUBROUTINE INISIM
00032 !                       *****************
00033 !
00034      &(NPOIN1,TYPELE,INOP5,NGEO)
00035 !
00036 !***********************************************************************
00037 ! PROGICIEL : STBTEL  V5.2            25/02/92    J.C. GALLAND
00038 !***********************************************************************
00039 !
00040 !   FONCTION  : RECHERCHE LES NOMBRES TOTAUX DE NOEUDS ET D'ELEMENTS DU
00041 !               MAILLAGE, AINSI QUE LA LONGUEUR DU TABLEAU NOP5 DANS LE
00042 !               FICHIER GEOMETRIE DE SIMAIL
00043 !
00044 !-----------------------------------------------------------------------
00045 !                             ARGUMENTS
00046 ! .________________.____.______________________________________________
00047 ! |      NOM       |MODE|                   ROLE
00048 ! |________________|____|______________________________________________
00049 ! | NPOIN1         |<-- | NOMBRE REEL DE POINTS DU MAILLAGE
00050 ! | TYPELE         |<-- | TYPE D'ELEMENTS
00051 ! | IA             |--> | TABLEAU DE TRAVAIL POUR LA LECTURE DE LA SD
00052 ! | INOP5          |<-- | DIMENSION DU TABLEAU NOP5 (CONTENANT LES IKLE)
00053 ! |                |    | DU FICHIER GEOMETRIE DE SIMAIL
00054 ! |________________|____|______________________________________________
00055 ! | COMMON:        |    |
00056 ! |  GEO:          |    |
00057 ! |    MESH        |<-- | TYPE DES ELEMENTS DU MAILLAGE
00058 ! |    NDP         |<-- | NOMBRE DE NOEUDS PAR ELEMENTS
00059 ! |    NPOIN       |<-- | NOMBRE TOTAL DE NOEUDS DU MAILLAGE
00060 ! |    NELEM       |<-- | NOMBRE TOTAL D'ELEMENTS DU MAILLAGE
00061 ! |    NPMAX       |<-- | DIMENSION EFFECTIVE DES TABLEAUX X ET Y
00062 ! |                |    | (NPMAX = NPOIN + 0.1*NELEM)
00063 ! |    NELMAX      |<-- | DIMENSION EFFECTIVE DES TABLEAUX CONCERNANT
00064 ! |                |    | LES ELEMENTS (NELMAX = NELEM + 0.2*NELEM)
00065 ! |  FICH:         |    |
00066 ! |    NRES        |--> | NUMERO DU CANAL DU FICHIER DE SERAFIN
00067 ! |    NGEO        |--> | NUMERO DU CANAL DU FICHIER MAILLEUR
00068 ! |    NDYNAM      |--> | NUMERO DU CANAL DU FICHIER DYNAM DE TELEMAC
00069 ! |    NFO1        |--> | NUMERO DU CANAL DU FICHIER TRIANGLE TRIGRID
00070 ! |________________|____|______________________________________________
00071 ! MODE : -->(DONNEE NON MODIFIEE), <--(RESULTAT), <-->(DONNEE MODIFIEE)
00072 !-----------------------------------------------------------------------
00073 ! APPELE PAR : HOMERE
00074 ! APPEL DE : -
00075 !***********************************************************************
00076 !
00077       IMPLICIT NONE
00078       INTEGER LNG,LU
00079       COMMON/INFO/LNG,LU
00080 !
00081       INTEGER NGEO
00082       INTEGER NPOIN1 , NELEM , NPMAX , NELMAX , MESH
00083       INTEGER NPOIN , IA(32) , INOP5
00084       INTEGER LONG , I , J , NTASD , MESHT , MESHQ , NDP
00085       CHARACTER*11 TYPELE
00086 !
00087 ! COMMON
00088 !
00089       COMMON/GEO/ MESH , NDP , NPOIN , NELEM , NPMAX , NELMAX
00090 !
00091 !=======================================================================
00092 ! INITIALISATION
00093 !=======================================================================
00094 !
00095       REWIND NGEO
00096       NPOIN  = 0
00097       NPOIN1 = 0
00098       NELEM  = 0
00099 !
00100 !=======================================================================
00101 ! LECTURE PARTIELLE DU 1ER ENREGISTREMENT DE LA SD
00102 !=======================================================================
00103 !
00104       READ(NGEO,ERR=110,END=120) LONG,(IA(I),I=1,MIN(LONG,32))
00105 !
00106 !=======================================================================
00107 ! LECTURE PARTIELLE DU TABLEAU NOP0
00108 ! RECHERCHE DU NOMBRE DE TABLEAUX ASSOCIES, NTASD
00109 !=======================================================================
00110 !
00111       READ(NGEO,ERR=110,END=120) LONG,(IA(I),I=1,32)
00112       NTASD = IA(32)
00113 !
00114 !=======================================================================
00115 ! LECTURE DU TABLEAU NOP1 ET DES TABLEAUX ASSOCIES
00116 !=======================================================================
00117 !
00118       IF (NTASD.GT.0) THEN
00119         READ(NGEO,ERR=110,END=120) LONG,(IA(I),I=1,MIN(LONG,32))
00120         DO I=1,NTASD
00121           READ(NGEO,ERR=110,END=120) LONG,(IA(J),J=1,MIN(LONG,32))
00122         ENDDO
00123       ENDIF
00124 !
00125 !=======================================================================
00126 ! LECTURE DU TABLEAU NOP2
00127 ! LECTURE DU NOMBRE DE POINTS, DU NOMBRE D'ELEMENTS, DU TYPE D'ELEMENT
00128 ! ET DE LA LONGUEUR DU TABLEAU NOP5 (TABLEAU DES IKLE)
00129 ! AFFECTATION DES VALEURS LUES AUX VARIABLES CONCERNEES
00130 !=======================================================================
00131 !
00132       READ(NGEO,ERR=110,END=120) LONG,(IA(I),I=1,MIN(LONG,32))
00133       NPOIN1 = IA(15)
00134       NELEM  = IA(5)
00135       MESHT  = IA(8)
00136       MESHQ  = IA(9)
00137       INOP5  = IA(26)
00138 !
00139       NPOIN = NPOIN1
00140 !
00141 !=======================================================================
00142 ! MISE DES VALEURS DE MESH AU STANDARD TELEMAC
00143 !=======================================================================
00144 !
00145       IF (MESHQ.NE.0) THEN
00146         MESH = 2
00147         NDP  = 4
00148         TYPELE = 'QUADRANGLES'
00149       ELSEIF (MESHT.NE.0) THEN
00150         MESH = 3
00151         NDP  = 3
00152         TYPELE = 'TRIANGLES  '
00153       ELSE
00154         IF (LNG.EQ.1) WRITE(LU,100)
00155         IF (LNG.EQ.2) WRITE(LU,3100)
00156         CALL PLANTE(1)
00157         STOP
00158       ENDIF
00159 !
00160       GOTO 20
00161 !
00162  110  IF (LNG.EQ.1) WRITE(LU,1100)
00163       IF (LNG.EQ.2) WRITE(LU,4100)
00164  120  IF (LNG.EQ.1) WRITE(LU,1200)
00165       IF (LNG.EQ.2) WRITE(LU,4200)
00166 !
00167 20    CONTINUE
00168 !
00169 !=======================================================================
00170 ! IMPRESSION DES RESULTATS
00171 !=======================================================================
00172 !
00173  100  FORMAT(/,'*******************************************************'
00174      &      ,/,'INISIM : TELEMAC NE TRAITE PAS LES MAILLAGES COMPORTANT'
00175      &      ,/,'         A LA FOIS DES TRIANGLES ET DES QUADRANGLES',
00176      &      /,'*******************************************************')
00177  3100 FORMAT(/,'*************************************************'
00178      &      ,/,'INISIM : TELEMAC DOESN''T WORK WITH MESHES MIXING '
00179      &      ,/,'         TRIANGLES AND QUADRILATERALS',
00180      &      /,'**************************************************')
00181  1100 FORMAT(//,'**********************************************',/,
00182      &          'INISIM : ERREUR A LA LECTURE DU FICHIER SIMAIL',/,
00183      &          '**********************************************',//)
00184  4100 FORMAT(//,'*************************************',/,
00185      &          'INISIM : ERROR IN READING FILE SIMAIL',/,
00186      &          '*************************************',//)
00187  1200 FORMAT(//,'*****************************************',/,
00188      &          'INISIM : FIN PREMATUREE DU FICHIER SIMAIL',/,
00189      &          '*****************************************',//)
00190  4200 FORMAT(//,'*************************************************',/,
00191      &          'INISIM : ATTEMPT TO READ AFTER END OF FILE SIMAIL',/,
00192      &          '*************************************************',//)
00193 !
00194       RETURN
00195       END

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