bedload_soulsby.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\bedload_soulsby.f
00002 !
00062                      SUBROUTINE BEDLOAD_SOULSBY
00063 !                    **************************
00064 !
00065      &  (UCMOY,HN, UW, NPOIN, DENS, GRAV, DM, DSTAR, HMIN, D90, QSC,
00066      &   QSS)
00067 !
00068 !***********************************************************************
00069 ! SISYPHE   V6P1                                   21/07/2011
00070 !***********************************************************************
00071 !
00072 !
00073 !
00074 !
00075 !
00076 !
00077 !
00078 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00079 !| D90            |-->| D90
00080 !| DENS           |-->| RELATIVE DENSITY
00081 !| DM             |-->| SEDIMENT GRAIN DIAMETER
00082 !| DSTAR          |-->| NON-DIMENSIONAL DIAMETER
00083 !| GRAV           |-->| ACCELERATION OF GRAVITY
00084 !| HMIN           |-->| MINIMUM VALUE OF WATER DEPTH
00085 !| HN             |-->| WATER DEPTH
00086 !| NPOIN          |-->| NUMBER OF POINTS
00087 !| QSC            |<->| BED LOAD TRANSPORT
00088 !| QSS            |<->| SUSPENDED LOAD TRANSPORT RATE
00089 !| UCMOY          |-->| CURRENT INTENSITY (M/S)
00090 !| UW             |-->| ORBITAL WAVE VELOCITY
00091 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00092 !
00093       USE INTERFACE_SISYPHE,EX_BEDLOAD_SOULSBY => BEDLOAD_SOULSBY
00094       USE BIEF
00095       IMPLICIT NONE
00096       INTEGER LNG,LU
00097       COMMON/INFO/LNG,LU
00098       ! 2/ GLOBAL VARIABLES
00099       ! -------------------
00100       TYPE(BIEF_OBJ),   INTENT(IN)  :: HN, UCMOY, UW
00101       INTEGER,          INTENT(IN)  :: NPOIN
00102       DOUBLE PRECISION, INTENT(IN)  :: DENS, GRAV, DM, DSTAR, HMIN, D90
00103       TYPE(BIEF_OBJ),   INTENT(INOUT) :: QSC, QSS
00104 !
00105       ! 3/ LOCAL VARIABLES
00106       ! ------------------
00107       INTEGER                     :: I
00108       DOUBLE PRECISION            :: COEF, ASS, ASB, CD
00109       DOUBLE PRECISION            :: UCR, VTOT, TRA
00110       DOUBLE PRECISION, PARAMETER :: Z0=0.006D0
00111 !
00112 !======================================================================!
00113 !======================================================================!
00114 !                               PROGRAM                                !
00115 !======================================================================!
00116 !======================================================================!
00117       ! ************************* !
00118       ! I - SUSPENSION COEFFCIENT !
00119       ! ************************* !
00120       COEF = (DENS *GRAV*DM)**1.2D0
00121       ASS  = 0.012D0*DM*(DSTAR**(-0.6D0))/COEF
00122 !
00123       DO I = 1, NPOIN
00124 !
00125         ! *************************** !
00126         ! III - BEDLOAD COEFFICIENT   !
00127         ! *************************** !
00128         ASB = 0.005D0*HN%R(I)*(DM/MAX(HN%R(I),DM))**1.2D0 / COEF
00129 !
00130         ! ********************************** !
00131         ! IV - ROUGHNESS COEFFICIENT CD      !
00132         !      SOULSBY: Z0=0.006 --> KS=18CM !
00133         ! ********************************** !
00134         CD = (0.4D0 / (LOG(MAX(HN%R(I),Z0)/Z0)-1.D0))**2
00135 !
00136         ! ************************************************ !
00137         ! V - CRTITICAL CURRENT SPEED UCR                  !
00138         ! ************************************************ !
00139         IF (DM < 0.0005D0) THEN
00140           UCR = 0.19D0*(DM**0.1D0)*LOG10(4.D0*MAX(HN%R(I),D90)/D90)
00141         ELSE
00142           UCR = 8.50D0*(DM**0.6D0)*LOG10(4.D0*MAX(HN%R(I),D90)/D90)
00143         ENDIF
00144 !
00145         ! ************************************************* !
00146         ! VI - SPEED INDUCED BY THE CURRENT AND WAVES       !
00147         ! ************************************************* !
00148         VTOT = SQRT(UCMOY%R(I)**2+(0.018D0/CD)*UW%R(I)**2)
00149 !
00150         ! *********************************************** !
00151         ! VII - SUSPENDED AND BEDLOAD TRANSPORT           !
00152         ! *********************************************** !
00153         IF (VTOT > UCR) THEN
00154           TRA     = UCMOY%R(I)  * (VTOT - UCR )**2.4D0
00155           QSS%R(I)= ASS * TRA
00156           QSC%R(I)= ASB * TRA
00157         ELSE
00158           QSS%R(I) = 0.D0
00159           QSC%R(I) = 0.D0
00160         ENDIF
00161       ENDDO
00162 !======================================================================!
00163 !======================================================================!
00164       RETURN
00165       END SUBROUTINE BEDLOAD_SOULSBY

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