fluxpr.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\fluxpr.f
00002 !
00056                      SUBROUTINE FLUXPR
00057 !                    *****************
00058 !
00059      &(NSEC,CTRLSC,FLX,VOLNEG,VOLPOS,INFO,TPS,NSEG,NCSIZE,CUMFLO)
00060 !
00061 !***********************************************************************
00062 ! BIEF   V6P1                                   21/08/2010
00063 !***********************************************************************
00064 !
00065 !
00066 !
00067 !
00068 !
00069 !
00070 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00071 !| CTRLSC         |-->| NUMBERS OF POINTS IN THE CONTROL SECTIONS
00072 !| CUMFLO         |-->| KEY-WORD: PRINTING CUMULATED FLOWRATES
00073 !| FLX            |-->| FLUXES THROUGH CONTROL SECTIONS
00074 !| INFO           |-->| IF YES : INFORMATION IS PRINTED
00075 !| NCSIZE         |-->| NUMBER OF PROCESSORS
00076 !| NSEC           |-->| NUMBER OF CONTROL SECTIONS
00077 !| NSEG           |-->| NUMBER OF SEGMENTS
00078 !| TPS            |-->| TIME
00079 !| VOLNEG         |-->| CUMULATED NEGATIVE VOLUME THROUGH SECTIONS
00080 !| VOLPOS         |-->| CUMULATED POSITIVE VOLUME THROUGH SECTIONS
00081 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00082 !
00083       IMPLICIT NONE
00084       INTEGER LNG,LU
00085       COMMON/INFO/LNG,LU
00086 !
00087 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00088 !
00089       INTEGER, INTENT(IN)          :: NSEC,NCSIZE
00090       INTEGER, INTENT(IN)          :: CTRLSC(*)
00091       INTEGER, INTENT(IN)          :: NSEG(NSEC)
00092       LOGICAL, INTENT(IN)          :: INFO,CUMFLO
00093       DOUBLE PRECISION, INTENT(IN) :: FLX(NSEC),TPS
00094       DOUBLE PRECISION, INTENT(IN) :: VOLNEG(NSEC),VOLPOS(NSEC)
00095 !
00096 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00097 !
00098       DOUBLE PRECISION P_DMAX,P_DMIN
00099       INTEGER                        P_IMIN
00100       EXTERNAL         P_DMAX,P_DMIN,P_IMIN
00101 !
00102       INTEGER ISEC,II
00103 !
00104 !-----------------------------------------------------------------------
00105 !
00106       IF(INFO) THEN
00107 !
00108       IF(NCSIZE.LE.1) THEN
00109 !
00110       DO ISEC = 1,NSEC
00111 !
00112       IF(CUMFLO) THEN
00113       IF(LNG.EQ.1) WRITE(LU,130) ISEC,CTRLSC(1+2*(ISEC-1)),
00114      &                                CTRLSC(2+2*(ISEC-1)),
00115      &                                FLX(ISEC),
00116      &                                VOLNEG(ISEC),
00117      &                                VOLPOS(ISEC)
00118       IF(LNG.EQ.2) WRITE(LU,131) ISEC,CTRLSC(1+2*(ISEC-1)),
00119      &                                CTRLSC(2+2*(ISEC-1)),
00120      &                                FLX(ISEC),
00121      &                                VOLNEG(ISEC),
00122      &                                VOLPOS(ISEC)
00123       ELSE
00124       IF(LNG.EQ.1) WRITE(LU,136) ISEC,CTRLSC(1+2*(ISEC-1)),
00125      &                                CTRLSC(2+2*(ISEC-1)),
00126      &                                FLX(ISEC)
00127       IF(LNG.EQ.2) WRITE(LU,137) ISEC,CTRLSC(1+2*(ISEC-1)),
00128      &                                CTRLSC(2+2*(ISEC-1)),
00129      &                                FLX(ISEC)
00130       ENDIF
00131 130   FORMAT(1X,/,1X,'SECTION DE CONTROLE ',1I2,
00132      &               ' (ENTRE LES POINTS ',1I5,' ET ',1I5,')',//,5X,
00133      &               'DEBIT : '                    ,G16.7,/,5X,
00134      &               'CUMUL DES DEBITS NEGATIFS : ',G16.7,/,5X,
00135      &               'CUMUL DES DEBITS POSITIFS : ',G16.7)
00136 131   FORMAT(1X,/,1X,'CONTROL SECTION NUMBER ',1I2,
00137      &               ' (BETWEEN POINTS ',1I5,' AND ',1I5,')',//,5X,
00138      &               'DISCHARGE: '                 ,G16.7,/,5X,
00139      &               'NEGATIVE VOLUME THROUGH THE SECTION: ',G16.7,/,5X,
00140      &               'POSITIVE VOLUME THROUGH THE SECTION: ',G16.7)
00141 136   FORMAT(1X,/,1X,'SECTION DE CONTROLE ',1I2,
00142      &               ' (ENTRE LES POINTS ',1I5,' ET ',1I5,')',//,5X,
00143      &               'DEBIT : '                    ,G16.7)
00144 137   FORMAT(1X,/,1X,'CONTROL SECTION NUMBER ',1I2,
00145      &               ' (BETWEEN POINTS ',1I5,' AND ',1I5,')',//,5X,
00146      &               'DISCHARGE: '                 ,G16.7)
00147 !
00148       ENDDO
00149 !
00150       ELSE
00151 !
00152       DO ISEC = 1,NSEC
00153 !     SECTIONS ACROSS 2 SUB-DOMAINS WILL HAVE NSEG=0 OR -1
00154 !     AND -1 WANTED HERE FOR RELEVANT MESSAGE
00155       II=P_IMIN(NSEG(ISEC))
00156 !
00157       IF(II.GE.0) THEN
00158 !
00159       IF(LNG.EQ.1) WRITE(LU,132) ISEC,CTRLSC(1+2*(ISEC-1)),
00160      &                                CTRLSC(2+2*(ISEC-1)),
00161      &              P_DMIN(FLX(ISEC))+P_DMAX(FLX(ISEC)),
00162      &                                P_DMIN(VOLNEG(ISEC)),
00163      &                                P_DMAX(VOLPOS(ISEC))
00164       IF(LNG.EQ.2) WRITE(LU,133) ISEC,CTRLSC(1+2*(ISEC-1)),
00165      &                                CTRLSC(2+2*(ISEC-1)),
00166      &              P_DMIN(FLX(ISEC))+P_DMAX(FLX(ISEC)),
00167      &                                P_DMIN(VOLNEG(ISEC)),
00168      &                                P_DMAX(VOLPOS(ISEC))
00169 132   FORMAT(1X,/,1X,'SECTION DE CONTROLE ',1I2,
00170      &               ' (ENTRE LES POINTS ',1I5,' ET ',1I5,')',//,5X,
00171      &               'DEBIT : '                    ,G16.7,/,5X,
00172      &               'CUMUL DES DEBITS NEGATIFS : ',G16.7,/,5X,
00173      &               'CUMUL DES DEBITS POSITIFS : ',G16.7)
00174 133   FORMAT(1X,/,1X,'CONTROL SECTION NUMBER ',1I2,
00175      &               ' (BETWEEN POINTS ',1I5,' AND ',1I5,')',//,5X,
00176      &               'DISCHARGE: '                 ,G16.7,/,5X,
00177      &               'NEGATIVE VOLUME THROUGH THE SECTION: ',G16.7,/,5X,
00178      &               'POSITIVE VOLUME THROUGH THE SECTION: ',G16.7)
00179 !
00180       ELSE
00181 !
00182       IF(LNG.EQ.1) WRITE(LU,134) ISEC,CTRLSC(1+2*(ISEC-1)),
00183      &                                CTRLSC(2+2*(ISEC-1))
00184       IF(LNG.EQ.2) WRITE(LU,135) ISEC,CTRLSC(1+2*(ISEC-1)),
00185      &                                CTRLSC(2+2*(ISEC-1))
00186 134   FORMAT(1X,/,1X,'SECTION DE CONTROLE ',1I2,
00187      &               ' (ENTRE LES POINTS ',1I5,' ET ',1I5,')',//,5X,
00188      &               'A CHEVAL SUR DEUX SOUS-DOMAINES, PAS DE CALCUL')
00189 135   FORMAT(1X,/,1X,'CONTROL SECTION NUMBER ',1I2,
00190      &               ' (BETWEEN POINTS ',1I5,' AND ',1I5,')',//,5X,
00191      &               'ACROSS TWO SUB-DOMAINS, NO COMPUTATION')
00192       ENDIF
00193 !
00194       ENDDO
00195 !
00196       ENDIF
00197 !
00198       ENDIF
00199 !
00200 !-----------------------------------------------------------------------
00201 !
00202       RETURN
00203       END

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