The TELEMAC-MASCARET system
trunk
sources
stbtel
cordep.f
Go to the documentation of this file.
1
! *****************
2
SUBROUTINE
cordep
3
! *****************
4
!
5
&(ikle,lgvec)
6
!
7
!***********************************************************************
8
! PROGICIEL: STBTEL V5.2 28/08/89 J-M HERVOUET (LNH) 3071 8018
9
!***********************************************************************
10
!
11
! FONCTION : CORRECTION DES DEPENDANCES ARRIERES
12
!
13
!-----------------------------------------------------------------------
14
! ARGUMENTS
15
! .________________.____.______________________________________________.
16
! | NOM |MODE| ROLE |
17
! |________________|____|______________________________________________|
18
! | IKLE |<-->| NUMERO GLOBAUX DES NOEUDS DE CHAQUE ELEMENT |
19
! |________________|____|______________________________________________
20
! | COMMON: | |
21
! | GEO: | |
22
! | MESH | -->| TYPE DES ELEMENTS DU MAILLAGE
23
! | NDP | -->| NOMBRE DE NOEUDS PAR ELEMENTS
24
! | NPOIN | -->| NOMBRE TOTAL DE NOEUDS DU MAILLAGE
25
! | NELEM | -->| NOMBRE TOTAL D'ELEMTS DU MAILLAGE
26
! | NPMAX | -->| DIMENSION EFFECTIVE DES TABLEAUX X ET Y
27
! | | | (NPMAX = NPOIN + 0.1*NELEM)
28
! | NELMAX | -->| DIMENSION EFFECTIVE DES TABLEAUX CONCERNANT
29
! | | | LES ELEMENTS (NELMAX = NELEM + 0.2*NELEM)
30
! |________________|____|______________________________________________|
31
! MODE : -->(DONNEE NON MODIFIEE), <--(RESULTAT), <-->(DONNEE MODIFIEE)
32
!-----------------------------------------------------------------------
33
! APPELE PAR : STBTEL
34
! APPEL DE : ECHELE
35
!***********************************************************************
36
!
37
USE
declarations_special
38
USE
declarations_stbtel
, ONLY
:
nelem
,
nelmax
39
USE
interface_stbtel
, ex_cordep =>
cordep
40
IMPLICIT NONE
41
!
42
INTEGER
,
INTENT(INOUT)
:: IKLE(
nelmax
,4)
43
INTEGER
,
INTENT(IN)
:: LGVEC
44
!
45
INTEGER
IELEM , IEL1 , IEL2
46
INTEGER
I1 , I2 , I3 , J1 , J2 , J3
47
INTEGER
K
48
!
49
LOGICAL
DEP
50
!
51
!
52
!=======================================================================
53
!
54
DO
ielem = 1,
nelem
55
iel2 = ielem
56
25
CONTINUE
57
dep = .false.
58
i1 = ikle(ielem,1)
59
i2 = ikle(ielem,2)
60
i3 = ikle(ielem,3)
61
DO
k = 2,lgvec
62
iel1 = mod(
nelem
+ielem-k,
nelem
) + 1
63
j1 = ikle(iel1,1)
64
j2 = ikle(iel1,2)
65
j3 = ikle(iel1,3)
66
IF
(i1.EQ.j1.OR.i1.EQ.j2.OR.i1.EQ.j3.OR.
67
& i2.EQ.j1.OR.i2.EQ.j2.OR.i2.EQ.j3.OR.
68
& i3.EQ.j1.OR.i3.EQ.j2.OR.i3.EQ.j3) dep=.true.
69
ENDDO
70
IF
(dep)
THEN
71
iel2 = mod(iel2,
nelem
) + 1
72
IF
(iel2.EQ.ielem)
GOTO
40
73
CALL
echele
(ikle,ielem,iel2)
74
GOTO
25
75
ENDIF
76
ENDDO
! IELEM
77
!
78
!=======================================================================
79
!
80
40
CONTINUE
81
!
82
RETURN
83
END
declarations_special
Definition:
declarations_special.F:3
cordep
subroutine cordep(IKLE, LGVEC)
Definition:
cordep.f:7
declarations_stbtel
Definition:
declarations_stbtel.F:5
echele
subroutine echele(IKLE, IEL1, IEL2)
Definition:
echele.f:7
interface_stbtel
Definition:
interface_stbtel.f:3
declarations_stbtel::nelem
integer nelem
Definition:
declarations_stbtel.F:22
declarations_stbtel::nelmax
integer nelmax
Definition:
declarations_stbtel.F:26