The TELEMAC-MASCARET system
trunk
sources
stbtel
inifas.f
Go to the documentation of this file.
1
! *****************
2
SUBROUTINE
inifas
3
! *****************
4
!
5
&(typele,ngeo)
6
!
7
!***********************************************************************
8
! PROGICIEL : STBTEL V5.2 09.07.1996 P. CHAILLET (LHF) - FASTTABS
9
!***********************************************************************
10
!
11
! FONCTION : INITIALISATION DES INFORMATIONS DANS LE CAS DE FASTTAB
12
!
13
!-----------------------------------------------------------------------
14
! ARGUMENTS
15
! .________________.____.______________________________________________
16
! ! NOM |MODE! ROLE
17
! !________________|____!______________________________________________
18
! ! TYPELE !<-- ! TYPE D'ELEMENT DU MAILLAGE (ICI TRIANGLES)
19
! ! NGEO ! -->! NUMERO DU CANAL DU FICHIER MAILLEUR
20
! !________________!____!______________________________________________
21
! MODE : -->(DONNEE NON MODIFIEE), <--(RESULTAT), <-->(DONNEE MODIFIEE)
22
!-----------------------------------------------------------------------
23
! APPELE PAR : HOMERE
24
! APPEL DE :
25
!***********************************************************************
26
!
27
USE
declarations_special
28
USE
declarations_stbtel
, ONLY
:
nelem
,
mesh
,
ndp
,
npoin
29
IMPLICIT NONE
30
!
31
INTEGER
,
INTENT(IN)
:: NGEO
32
CHARACTER(LEN=*)
,
INTENT(INOUT)
:: TYPELE
33
!
34
CHARACTER(LEN=80)
LIGNE
35
INTEGER
IE,J
36
INTEGER
ELMLOC(8)
37
!
38
! - INITIALISATION
39
!
40
rewind(ngeo)
41
npoin
= 0
42
nelem
= 0
43
!
44
! - BOUCLE DE LECTURE DU FICHIER DE MAILLAGE
45
! - TANT QUE NON FIN DE FICHIER
46
!
47
1
CONTINUE
48
READ
(ngeo,
'(A80)'
, end=9000, err=8000) ligne
49
!
50
! - LA LIGNE COMMENCE PAR "GNN" - DEINITION D'UN POINT
51
!
52
IF
(ligne(1:3).EQ.
'GNN'
)
THEN
53
npoin
=
npoin
+ 1
54
ENDIF
55
!
56
! - LA LIGNE COMMENCE PAR "GE" - DEINITION D'UN ELEMENT
57
!
58
IF
(ligne(1:2).EQ.
'GE'
)
THEN
59
nelem
=
nelem
+ 1
60
READ
(ligne(4:80),*,err=8000,end=9000) ie,
61
& (elmloc(j),j=1,8)
62
IF
(elmloc(8).NE.0.OR.
63
& (elmloc(4).NE.0.AND.elmloc(6).EQ.0) )
THEN
64
!
65
! - ON RAJOUTERA DES ELEMENTS
66
!
67
nelem
=
nelem
+ 1
68
ENDIF
69
ENDIF
70
GOTO
1
71
!
72
9000
CONTINUE
73
typele =
'TRIANGLES '
74
ndp
= 3
75
mesh
= 3
76
!
77
RETURN
78
!
79
! - TRAITEMENT ERREUR DE FICHIER
80
!
81
8000
CONTINUE
82
WRITE
(
lu
,4001)
83
4001
FORMAT
(//,1x,
'****************************'
84
& ,/,1x,
'SUBROUTINE INIFAS :'
85
& ,/,1x,
'ERROR READING FASTTABS FILE.'
86
& ,/,1x,
'****************************'
)
87
CALL
plante(1)
88
stop
89
END
declarations_stbtel::ndp
integer ndp
Definition:
declarations_stbtel.F:24
declarations_special
Definition:
declarations_special.F:3
inifas
subroutine inifas(TYPELE, NGEO)
Definition:
inifas.f:7
declarations_stbtel::npoin
integer npoin
Definition:
declarations_stbtel.F:25
declarations_special::lu
integer lu
Definition:
declarations_special.F:45
declarations_stbtel
Definition:
declarations_stbtel.F:5
declarations_stbtel::mesh
integer mesh
Definition:
declarations_stbtel.F:23
declarations_stbtel::nelem
integer nelem
Definition:
declarations_stbtel.F:22