suspension_listing.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\suspension_listing.f
00002 !
00069                      SUBROUTINE SUSPENSION_LISTING !
00070 !                    *******************************
00071 !
00072      &(MESH,CST,ZFCL_S,UCONV,VCONV,MASKEL,IELMT,DT,MSK,T1)
00073 !
00074 !***********************************************************************
00075 ! SISYPHE   V6P1                                   21/07/2011
00076 !***********************************************************************
00077 !
00078 !
00079 !
00080 !
00081 !
00082 !
00083 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00084 !| CST            |<->| CONCENTRATION AT TIME T(N+1)
00085 !| DT             |-->| TIME STEP IN SECONDS
00086 !| IELMT          |-->| NUMBER OF ELEMENTS
00087 !| MASKEL         |-->| MASKING OF ELEMENTS
00088 !| MESH           |<->| MESH STRUCTURE
00089 !| MSK            |-->| IF YES, THERE IS MASKED ELEMENTS
00090 !| T1             |<->| WORK BIEF_OBJ STRUCTURE
00091 !| UCONV          |<->| X-COMPONENT ADVECTION FIELD (TELEMAC)
00092 !| VCONV          |<->| Y-COMPONENT ADVECTION FIELD
00093 !| ZFCL_S         |<->| BED EVOLUTION PER CLASS, DUE TO SUSPENDED SEDIMENT
00094 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00095 !
00096       USE INTERFACE_SISYPHE,
00097      &    EX_SUSPENSION_LISTING => SUSPENSION_LISTING
00098       USE BIEF
00099       IMPLICIT NONE
00100       INTEGER LNG,LU
00101       COMMON/INFO/LNG,LU
00102 !
00103       ! 2/ GLOBAL VARIABLES
00104       ! -------------------
00105       TYPE(BIEF_MESH),  INTENT(INOUT) :: MESH
00106       TYPE(BIEF_OBJ),   INTENT(IN)    :: CST,ZFCL_S
00107       TYPE(BIEF_OBJ),   INTENT(IN)    :: UCONV,VCONV,MASKEL
00108       INTEGER,          INTENT(IN)    :: IELMT
00109       DOUBLE PRECISION, INTENT(IN)    :: DT
00110       LOGICAL,          INTENT(IN)    :: MSK
00111       TYPE(BIEF_OBJ),   INTENT(INOUT) :: T1
00112 !
00113       ! 3/ LOCAL VARIABLES
00114       ! ------------------
00115       INTEGER          :: IMAX,IMA
00116       DOUBLE PRECISION :: XMAX,XMA
00117       INTEGER                        P_IMAX
00118       DOUBLE PRECISION P_DMAX,P_DMIN
00119       EXTERNAL         P_DMAX,P_DMIN,P_IMAX
00120 !======================================================================!
00121 !======================================================================!
00122 !                               PROGRAM                                !
00123 !======================================================================!
00124 !======================================================================!
00125 !
00126       CALL MAXI(XMAX,IMAX,CST%R,MESH%NPOIN)
00127       IF(NCSIZE.GT.1) THEN
00128         XMA=P_DMAX(XMAX)
00129         IF(XMAX.EQ.XMA) THEN
00130           IMA=MESH%KNOLG%I(IMAX)
00131         ELSE
00132           IMA=0
00133         ENDIF
00134         IMA=P_IMAX(IMA)
00135       ELSE
00136         IMA=IMAX
00137         XMA=XMAX
00138       ENDIF
00139       IF(LNG.EQ.1) WRITE(LU,500) XMA, IMA
00140       IF(LNG.EQ.2) WRITE(LU,510) XMA, IMA
00141       CALL MINI(XMAX, IMAX, CST%R, MESH%NPOIN)
00142       IF(NCSIZE.GT.1) THEN
00143         XMA=P_DMIN(XMAX)
00144         IF(XMAX.EQ.XMA) THEN
00145           IMA=MESH%KNOLG%I(IMAX)
00146         ELSE
00147           IMA=0
00148         ENDIF
00149         IMA=P_IMAX(IMA)
00150       ELSE
00151         IMA=IMAX
00152         XMA=XMAX
00153       ENDIF
00154       IF(LNG.EQ.1) WRITE(LU,501) XMA, IMA
00155       IF(LNG.EQ.2) WRITE(LU,511) XMA, IMA
00156       CALL MAXI(XMAX, IMAX, ZFCL_S%R, MESH%NPOIN)
00157       IF(NCSIZE.GT.1) THEN
00158         XMA=P_DMAX(XMAX)
00159         IF(XMAX.EQ.XMA) THEN
00160           IMA=MESH%KNOLG%I(IMAX)
00161         ELSE
00162           IMA=0
00163         ENDIF
00164         IMA=P_IMAX(IMA)
00165       ELSE
00166         IMA=IMAX
00167         XMA=XMAX
00168       ENDIF
00169       IF(LNG.EQ.1) WRITE(LU,502) XMA, IMA
00170       IF(LNG.EQ.2) WRITE(LU,512) XMA, IMA
00171       CALL MINI(XMAX, IMAX, ZFCL_S%R, MESH%NPOIN)
00172       IF(NCSIZE.GT.1) THEN
00173         XMA=P_DMIN(XMAX)
00174         IF(XMAX.EQ.XMA) THEN
00175           IMA=MESH%KNOLG%I(IMAX)
00176         ELSE
00177           IMA=0
00178         ENDIF
00179         IMA=P_IMAX(IMA)
00180       ELSE
00181         IMA=IMAX
00182         XMA=XMAX
00183       ENDIF
00184       IF(LNG.EQ.1) WRITE(LU,503) XMA, IMA
00185       IF(LNG.EQ.2) WRITE(LU,513) XMA, IMA
00186 !
00187       CALL CFLPSI(T1, UCONV, VCONV, DT, IELMT, MESH, MSK, MASKEL)
00188       CALL MAXI(XMAX, IMAX, T1%R, MESH%NPOIN)
00189       IF(NCSIZE.GT.1) THEN
00190         XMA=P_DMAX(XMAX)
00191         IF(XMAX.EQ.XMA) THEN
00192           IMA=MESH%KNOLG%I(IMAX)
00193         ELSE
00194           IMA=0
00195         ENDIF
00196         IMA=P_IMAX(IMA)
00197       ELSE
00198         IMA=IMAX
00199         XMA=XMAX
00200       ENDIF
00201       IF(LNG.EQ.1) WRITE(LU,507) XMA,IMA
00202       IF(LNG.EQ.2) WRITE(LU,517) XMA,IMA
00203       !----------------------------------------------------------------!
00204 500   FORMAT(' CONCENTRATION MAXIMALE     : ',G16.7,' %, NOEUD = ',1I8)
00205 501   FORMAT(' CONCENTRATION MINIMALE     : ',G16.7,' %, NOEUD = ',1I8)
00206 502   FORMAT(' EVOLUTION MAXIMALE         : ',G16.7,'  , NOEUD = ',1I8)
00207 503   FORMAT(' EVOLUTION MINIMALE         : ',G16.7,'  , NOEUD = ',1I8)
00208 507   FORMAT(' CFL MAX POUR LA SUSPENSION : ',G16.7,'  , NOEUD = ',1I8)
00209       !----------------------------------------------------------------!
00210 510   FORMAT(' MAXIMAL CONCENTRATION    : ',G16.7,' %, NODE = ',1I8)
00211 511   FORMAT(' MINIMAL CONCENTRATION    : ',G16.7,' %, NODE = ',1I8)
00212 512   FORMAT(' MAXIMAL EVOLUTION        : ',G16.7,'  , NODE = ',1I8)
00213 513   FORMAT(' MINIMAL EVOLUTION        : ',G16.7,'  , NODE = ',1I8)
00214 517   FORMAT(' MAX. CFL FOR SUSPENSION  : ',G16.7,'  , NODE = ',1I8)
00215       !----------------------------------------------------------------!
00216 !======================================================================!
00217 !======================================================================!
00218       RETURN
00219       END SUBROUTINE SUSPENSION_LISTING

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