The TELEMAC-MASCARET system  trunk
bedload_soulsby.f
Go to the documentation of this file.
1 ! **************************
2  SUBROUTINE bedload_soulsby
3 ! **************************
4 !
5  & (ucmoy,hn, uw, npoin, dens, grav, dm, dstar, d90, qsc,
6  & qss)
7 !
8 !***********************************************************************
9 ! SISYPHE V6P1 21/07/2011
10 !***********************************************************************
11 !
12 !brief SOULSBY & VAN RIJN BEDLOAD TRANSPORT FORMULATION.
13 !
14 !history SOGREAH
15 !+ 22/05/2001
16 !+ V5P2
17 !+
18 !
19 !history C.VILLARET
20 !+ **/11/2003
21 !+ V5P4
22 !+
23 !
24 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
25 !+ 13/07/2010
26 !+ V6P0
27 !+ Translation of French comments within the FORTRAN sources into
28 !+ English comments
29 !
30 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
31 !+ 21/08/2010
32 !+ V6P0
33 !+ Creation of DOXYGEN tags for automated documentation and
34 !+ cross-referencing of the FORTRAN sources
35 !
36 !history C.VILLARET (EDF-LNHE), P.TASSI (EDF-LNHE)
37 !+ 19/07/2011
38 !+ V6P1
39 !+ Name of variables
40 !+
41 !
42 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43 !| D90 |-->| D90
44 !| DENS |-->| RELATIVE DENSITY
45 !| DM |-->| SEDIMENT GRAIN DIAMETER
46 !| DSTAR |-->| NON-DIMENSIONAL DIAMETER
47 !| GRAV |-->| ACCELERATION OF GRAVITY
48 !| HN |-->| WATER DEPTH
49 !| NPOIN |-->| NUMBER OF POINTS
50 !| QSC |<->| BED LOAD TRANSPORT
51 !| QSS |<->| SUSPENDED LOAD TRANSPORT RATE
52 !| UCMOY |-->| CURRENT INTENSITY (M/S)
53 !| UW |-->| ORBITAL WAVE VELOCITY
54 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 !
56  USE interface_sisyphe,ex_bedload_soulsby => bedload_soulsby
57  USE bief
59  IMPLICIT NONE
60  ! 2/ GLOBAL VARIABLES
61  ! -------------------
62  TYPE(bief_obj), INTENT(IN) :: HN, UCMOY, UW
63  INTEGER, INTENT(IN) :: NPOIN
64  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, DSTAR, D90
65  TYPE(bief_obj), INTENT(INOUT) :: QSC, QSS
66 !
67  ! 3/ LOCAL VARIABLES
68  ! ------------------
69  INTEGER :: I
70  DOUBLE PRECISION :: COEF, ASS, ASB, CD
71  DOUBLE PRECISION :: UCR, VTOT, TRA
72  DOUBLE PRECISION, PARAMETER :: Z0=0.006d0
73 !
74 !======================================================================!
75 !======================================================================!
76 ! PROGRAM !
77 !======================================================================!
78 !======================================================================!
79  ! ************************* !
80  ! I - SUSPENSION COEFFCIENT !
81  ! ************************* !
82  coef = (dens *grav*dm)**1.2d0
83  ass = 0.012d0*dm*(dstar**(-0.6d0))/coef
84 !
85  DO i = 1, npoin
86 !
87  ! *************************** !
88  ! III - BEDLOAD COEFFICIENT !
89  ! *************************** !
90  asb = 0.005d0*hn%R(i)*(dm/max(hn%R(i),dm))**1.2d0 / coef
91 !
92  ! ********************************** !
93  ! IV - ROUGHNESS COEFFICIENT CD !
94  ! SOULSBY: Z0=0.006 --> KS=18CM !
95  ! ********************************** !
96  cd = (0.4d0 / (log(max(hn%R(i),z0)/z0)-1.d0))**2
97 !
98  ! ************************************************ !
99  ! V - CRTITICAL CURRENT SPEED UCR !
100  ! ************************************************ !
101  IF (dm < 0.0005d0) THEN
102  ucr = 0.19d0*(dm**0.1d0)*log10(4.d0*max(hn%R(i),d90)/d90)
103  ELSE
104  ucr = 8.50d0*(dm**0.6d0)*log10(4.d0*max(hn%R(i),d90)/d90)
105  ENDIF
106 !
107  ! ************************************************* !
108  ! VI - SPEED INDUCED BY THE CURRENT AND WAVES !
109  ! ************************************************* !
110  vtot = sqrt(ucmoy%R(i)**2+(0.018d0/cd)*uw%R(i)**2)
111 !
112  ! *********************************************** !
113  ! VII - SUSPENDED AND BEDLOAD TRANSPORT !
114  ! *********************************************** !
115  IF (vtot > ucr) THEN
116  tra = ucmoy%R(i) * (vtot - ucr )**2.4d0
117  qss%R(i)= ass * tra
118  qsc%R(i)= asb * tra
119  ELSE
120  qss%R(i) = 0.d0
121  qsc%R(i) = 0.d0
122  ENDIF
123  ENDDO
124 !======================================================================!
125 !======================================================================!
126  RETURN
127  END SUBROUTINE bedload_soulsby
subroutine bedload_soulsby(UCMOY, HN, UW, NPOIN, DENS, GRAV, DM, DSTAR, D90, QSC, QSS)
Definition: bief.f:3