The TELEMAC-MASCARET system  trunk
veclen.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE veclen
3 ! *****************
4 !
5  & (lv,ndp,ikle,nelem,nelmax,npoin,v)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief DETERMINES THE LENGTH OF A VECTOR WITHOUT BACK
12 !+ DEPENDENCIES FOR LOOPS ON THE ELEMENTS.
13 !+
14 !+ ONLY LOOKS FOR VALUES :
15 !+ 1, 64, 128, 256, 512, OR 1024.
16 !+
17 !+ THE PRINCIPLE IS TO PERFORM, IN SCALAR AND VECTOR
18 !+ MODE, AN ALGORITHM WHICH COMPUTES THE NUMBER OF
19 !+ ADJACENT ELEMENTS AT EACH POINT.
20 !
21 !warning IN VECTOR MODE WITH DEPENDENCIES, THE RESULT IS WRONG
22 !
23 !history J-M HERVOUET (LNH)
24 !+ 11/03/94
25 !+ V5P1
26 !+ ORIGINAL IDEA FROM J.-P. GREGOIRE
27 !
28 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
29 !+ 13/07/2010
30 !+ V6P0
31 !+ Translation of French comments within the FORTRAN sources into
32 !+ English comments
33 !
34 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
35 !+ 21/08/2010
36 !+ V6P0
37 !+ Creation of DOXYGEN tags for automated documentation and
38 !+ cross-referencing of the FORTRAN sources
39 !
40 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 !| IKLE |-->| CONNECTIVITY TABLE.
42 !| LV |-->| VECTOR LENGTH OF THE MACHINE
43 !| NDP |-->| NUMBER OF POINTS PER ELEMENT
44 !| NELEM |-->| NUMBER OF ELEMENTS
45 !| NELMAX |-->| MAXIMUM NUMBER OF ELEMENTS
46 !| NPOIN |-->| NUMBER OF POINTS
47 !| V |-->| ARRAY OF SIZE NPOIN
48 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 !
50  USE bief, ex_veclen => veclen
51 !
53  IMPLICIT NONE
54 !
55 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
56 !
57  INTEGER, INTENT(INOUT) :: LV
58  INTEGER, INTENT(IN) :: NELEM,NELMAX,NDP,NPOIN
59  INTEGER, INTENT(IN) :: IKLE(nelmax,ndp)
60 !
61  DOUBLE PRECISION, INTENT(INOUT) :: V(npoin)
62 !
63 !-----------------------------------------------------------------------
64 !
65  IF(ndp.EQ.3) THEN
66  CALL vecle3(lv,ikle,nelem,nelmax,npoin,v)
67  ELSEIF(ndp.EQ.4) THEN
68  CALL vecle4(lv,ikle,nelem,nelmax,npoin,v)
69  ELSEIF(ndp.EQ.6) THEN
70  CALL vecle6(lv,ikle,nelem,nelmax,npoin,v)
71  ELSE
72  WRITE(lu,60) ndp
73 60 FORMAT(1x,'VECLEN : UNEXPECTED VALUE OF NDP: ',1i6)
74  CALL plante(1)
75  stop
76  ENDIF
77 !
78 !-----------------------------------------------------------------------
79 !
80  RETURN
81  END
subroutine vecle3(LV, IKLE, NELEM, NELMAX, NPOIN, V)
Definition: vecle3.f:7
subroutine vecle6(LV, IKLE, NELEM, NELMAX, NPOIN, V)
Definition: vecle6.f:7
subroutine veclen(LV, NDP, IKLE, NELEM, NELMAX, NPOIN, V)
Definition: veclen.f:7
subroutine vecle4(LV, IKLE, NELEM, NELMAX, NPOIN, V)
Definition: vecle4.f:7
Definition: bief.f:3