The TELEMAC-MASCARET system  trunk
asseg_3d.f
Go to the documentation of this file.
1 ! *******************
2  SUBROUTINE asseg_3d
3 ! *******************
4 !
5  &(flow,f,npoin3,nplan,nseg2d,gloseg,sizglo,iniflo)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief ASSEMBLES HORIZONTAL EDGE BY EDGE FLUXES ON POINTS.
12 !
13 !history J-M HERVOUET (LNHE)
14 !+ 18/05/09
15 !+ V6P0
16 !+
17 !
18 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
19 !+ 13/07/2010
20 !+ V6P0
21 !+ Translation of French comments within the FORTRAN sources into
22 !+ English comments
23 !
24 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
25 !+ 21/08/2010
26 !+ V6P0
27 !+ Creation of DOXYGEN tags for automated documentation and
28 !+ cross-referencing of the FORTRAN sources
29 !
30 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 !| F |<--| F WHERE THE FLUXES ARE ASSEMBLED
32 !| FLOW |-->| FLUXES (SIZE OF FLOW MAY NOT EXCEED
33 !| | | NSEG2D*NPLAN, THOUGH THE TOTAL NUMBER OF
34 !| | | SEGMENTS IS LARGER)
35 !| GLOSEG |-->| GLOBAL NUMBER OF THE 2 POINTS OF A SEGMENT
36 !| INIFLO |-->| IF(YES) F WILL BE INITIALISED AT 0.
37 !| NPLAN |-->| NUMBER OF PLANES
38 !| NPOIN3 |-->| NUMBER OF POINTS
39 !| NSEG2D |-->| NUMBER OF SEGMENTS IN 2D
40 !| SIZGLO |-->| FIRST DIMENSION OF GLOSEG
41 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 !
43  USE bief
44 !
46  IMPLICIT NONE
47 !
48 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
49 !
50  INTEGER, INTENT(IN) :: NSEG2D,NPOIN3,SIZGLO,NPLAN
51  INTEGER, INTENT(IN) :: GLOSEG(sizglo,2)
52  DOUBLE PRECISION, INTENT(IN) :: FLOW(*)
53 ! HERE * = NESG2D*NPLAN
54  DOUBLE PRECISION, INTENT(INOUT) :: F(npoin3)
55  LOGICAL, INTENT(IN) :: INIFLO
56 !
57 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
58 !
59  INTEGER ISEG,I
60 !
61 !-----------------------------------------------------------------------
62 !
63 ! INITIALISES THE FLOW TO 0.D0
64 !
65  IF(iniflo) THEN
66  DO i = 1,npoin3
67  f(i) = 0.d0
68  ENDDO
69  ENDIF
70 !
71 !-----------------------------------------------------------------------
72 !
73 ! ASSEMBLES THE FLUXES OF HORIZONTAL SEGMENTS
74 !
75  DO iseg = 1,nseg2d*nplan
76  f(gloseg(iseg,1))=f(gloseg(iseg,1))+flow(iseg)
77  f(gloseg(iseg,2))=f(gloseg(iseg,2))-flow(iseg)
78  ENDDO
79 !
80 !-----------------------------------------------------------------------
81 !
82  RETURN
83  END
subroutine asseg_3d(FLOW, F, NPOIN3, NPLAN, NSEG2D, GLOSEG, SIZGLO, INIFLO)
Definition: asseg_3d.f:7
Definition: bief.f:3