The TELEMAC-MASCARET system  trunk
survol.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE survol
3 ! *****************
4 !
5  &(surfac, xel,yel,nelem,nelmax,ielm)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief COMPUTES THE AREA (VOLUME) OF THE ELEMENTS OF A MESH.
12 !code
13 !+ MEANING OF IELM:
14 !+
15 !+ TYPE OF ELEMENT NUMBER OF POINTS CODED IN THIS SUBROUTINE
16 !+
17 !+ 11 : TRIANGLE P1 3 YES
18 !+ 21 : QUADRILATERAL Q1 4 YES
19 !+ 41 : TELEMAC-3D PRISMS 6 NO
20 !
21 !history J-M HERVOUET (LNH) ; F LEPEINTRE (LNH)
22 !+ 05/02/91
23 !+ V5P1
24 !+
25 !
26 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
27 !+ 13/07/2010
28 !+ V6P0
29 !+ Translation of French comments within the FORTRAN sources into
30 !+ English comments
31 !
32 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
33 !+ 21/08/2010
34 !+ V6P0
35 !+ Creation of DOXYGEN tags for automated documentation and
36 !+ cross-referencing of the FORTRAN sources
37 !
38 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 !| IELM |-->| TYPE OF ELEMENT
40 !| NELEM |-->| NUMBER OF ELEMENTS
41 !| NELMAX |-->| MAXIMUM NUMBER OF ELEMENTS
42 !| SURFAC |<--| AREA OR VOLUME OF ELEMENTS.
43 !| XEL |-->| ABSCISSAE OF POINTS IN THE MESH, PER ELEMENT
44 !| YEL |-->| ORDINATES OF POINTS IN THE MESH, PER ELEMENT
45 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 !
47  USE bief, ex_survol => survol
48 !
50  IMPLICIT NONE
51 !
52 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
53 !
54  INTEGER, INTENT(IN) :: IELM,NELEM,NELMAX
55 !
56  DOUBLE PRECISION, INTENT(INOUT) :: SURFAC(*)
57  DOUBLE PRECISION, INTENT(IN) :: XEL(nelmax,*)
58  DOUBLE PRECISION, INTENT(IN) :: YEL(nelmax,*)
59 !
60 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
61 !
62  IF(ielm.EQ.11) THEN
63 !
64  CALL surv11(surfac, xel,yel,nelem,nelmax)
65 !
66 ! ELSEIF(IELM.EQ.21) THEN
67 !
68 ! CALL SURV21(SURFAC, XEL,YEL,NELEM,NELMAX)
69 !
70 ! ELSEIF(IELM.EQ.41) THEN
71 !
72 ! CALL SURV41(SURFAC, XEL,YEL,ZEL,NELEM,NELMAX)
73 !
74 ! VALUE FOR IELM NOT PERMITTED : ERROR
75 !
76  ELSE
77  WRITE(lu,101) ielm
78 101 FORMAT(1x,
79  & 'SURVOL (BIEF) : IELM = ',1i6,' ELEMENT NOT AVAILABLE')
80  CALL plante(1)
81  stop
82  ENDIF
83 !
84 !-----------------------------------------------------------------------
85 !
86  RETURN
87  END
subroutine surv11(SURFAC, XEL, YEL, NELEM, NELMAX)
Definition: surv11.f:7
subroutine survol(SURFAC, XEL, YEL, NELEM, NELMAX, IELM)
Definition: survol.f:7
Definition: bief.f:3