asseg_3d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\asseg_3d.f
00002 !
00049                      SUBROUTINE ASSEG_3D
00050 !                    *******************
00051 !
00052      &(FLOW,F,NPOIN3,NPLAN,NSEG2D,GLOSEG,SIZGLO,INIFLO)
00053 !
00054 !***********************************************************************
00055 ! BIEF   V6P1                                   21/08/2010
00056 !***********************************************************************
00057 !
00058 !
00059 !
00060 !
00061 !
00062 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00063 !| F              |<--| F WHERE THE FLUXES ARE ASSEMBLED
00064 !| FLOW           |-->| FLUXES (SIZE OF FLOW MAY NOT EXCEED
00065 !|                |   | NSEG2D*NPLAN, THOUGH THE TOTAL NUMBER OF
00066 !|                |   | SEGMENTS IS LARGER)
00067 !| GLOSEG         |-->| GLOBAL NUMBER OF THE 2 POINTS OF A SEGMENT
00068 !| INIFLO         |-->| IF(YES) F WILL BE INITIALISED AT 0.
00069 !| NPLAN          |-->| NUMBER OF PLANES
00070 !| NPOIN3         |-->| NUMBER OF POINTS
00071 !| NSEG2D         |-->| NUMBER OF SEGMENTS IN 2D
00072 !| SIZGLO         |-->| FIRST DIMENSION OF GLOSEG
00073 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00074 !
00075       USE BIEF
00076 !
00077       IMPLICIT NONE
00078       INTEGER LNG,LU
00079       COMMON/INFO/LNG,LU
00080 !
00081 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00082 !
00083       INTEGER, INTENT(IN)             :: NSEG2D,NPOIN3,SIZGLO,NPLAN
00084       INTEGER, INTENT(IN)             :: GLOSEG(SIZGLO,2)
00085       DOUBLE PRECISION, INTENT(IN)    :: FLOW(*)
00086 !                                        HERE * = NESG2D*NPLAN
00087       DOUBLE PRECISION, INTENT(INOUT) :: F(NPOIN3)
00088       LOGICAL, INTENT(IN)             :: INIFLO
00089 !
00090 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00091 !
00092       INTEGER ISEG,I
00093 !
00094 !-----------------------------------------------------------------------
00095 !
00096 !     INITIALISES THE FLOW TO 0.D0
00097 !
00098       IF(INIFLO) THEN
00099         DO I = 1,NPOIN3
00100           F(I) = 0.D0
00101         ENDDO
00102       ENDIF
00103 !
00104 !-----------------------------------------------------------------------
00105 !
00106 !     ASSEMBLES THE FLUXES OF HORIZONTAL SEGMENTS
00107 !
00108       DO ISEG = 1,NSEG2D*NPLAN
00109         F(GLOSEG(ISEG,1))=F(GLOSEG(ISEG,1))+FLOW(ISEG)
00110         F(GLOSEG(ISEG,2))=F(GLOSEG(ISEG,2))-FLOW(ISEG)
00111       ENDDO
00112 !
00113 !-----------------------------------------------------------------------
00114 !
00115       RETURN
00116       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0