The TELEMAC-MASCARET system  trunk
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 !
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
subroutine cordep(IKLE, LGVEC)
Definition: cordep.f:7
subroutine echele(IKLE, IEL1, IEL2)
Definition: echele.f:7