The TELEMAC-MASCARET system  trunk
bedload_bijker.f
Go to the documentation of this file.
1 ! *************************
2  SUBROUTINE bedload_bijker
3 ! *************************
4 !
5  & (tobw,tob,mu,ksp,ksr,hn,npoin,dm,dens,xmve,grav,xwc,
6  & karman,zero,t4,t7,t8,t9,qsc,qss,bijk,houle)
7 !
8 !***********************************************************************
9 ! SISYPHE V6P1 21/07/2011
10 !***********************************************************************
11 !
12 !brief BIJKER BEDLOAD TRANSPORT FORMULATION.
13 !
14 !history C. MACHET; T. BOULET; E. BEN SLAMA
15 !+ 26/11/2001
16 !+ V5P1
17 !+
18 !
19 !history C. VILLARET
20 !+ 10/03/2004
21 !+ V5P4
22 !+
23 !
24 !history F. HUVELIN
25 !+ **/12/2004
26 !+ V5P6
27 !+
28 !
29 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
30 !+ 13/07/2010
31 !+ V6P0
32 !+ Translation of French comments within the FORTRAN sources into
33 !+ English comments
34 !
35 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
36 !+ 21/08/2010
37 !+ V6P0
38 !+ Creation of DOXYGEN tags for automated documentation and
39 !+ cross-referencing of the FORTRAN sources
40 !
41 !history C.VILLARET (EDF-LNHE), P.TASSI (EDF-LNHE)
42 !+ 19/07/2011
43 !+ V6P1
44 !+ Name of variables
45 !+
46 !
47 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48 !| BIJK |-->| COEFFICIENT OF THE BIJKER FORMULA
49 !| DENS |-->| RELATIVE DENSITY
50 !| DM |-->| SEDIMENT GRAIN DIAMETER
51 !| GRAV |-->| ACCELERATION OF GRAVITY
52 !| HN |-->| WATER DEPTH
53 !| HOULE |-->| LOGICAL, FOR WAVE EFFECTS
54 !| KARMAN |-->| VON KARMAN CONSTANT
55 !| KSP |-->| BED SKIN ROUGHNESS
56 !| KSR |-->| RIPPLE BED ROUGHNESS
57 !| MU |<->| CORRECTION FACTOR FOR BED ROUGHNESS
58 !| NPOIN |-->| NUMBER OF POINTS
59 !| QSC |<->| BED LOAD TRANSPORT
60 !| QSS |<->| SUSPENDED LOAD TRANSPORT
61 !| T4 |<->| WORK BIEF_OBJ STRUCTURE
62 !| T7 |<->| WORK BIEF_OBJ STRUCTURE
63 !| T8 |<->| WORK BIEF_OBJ STRUCTURE
64 !| T9 |<->| WORK BIEF_OBJ STRUCTURE
65 !| TOB |<->| BED SHEAR STRESS (TOTAL FRICTION)
66 !| TOBW |-->| WAVE INDUCED SHEAR STRESS
67 !| XMVE |-->| FLUID DENSITY
68 !| XWC |-->| SETTLING VELOCITY
69 !| ZERO |-->| ZERO
70 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 !
72  USE interface_sisyphe,ex_bedload_bijker => bedload_bijker
73  USE bief
75  IMPLICIT NONE
76 !
77 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
78 !
79  TYPE(bief_obj), INTENT(IN) :: TOBW, TOB, KSR,KSP, HN,MU
80  INTEGER, INTENT(IN) :: NPOIN
81  LOGICAL, INTENT(IN) :: HOULE
82  DOUBLE PRECISION, INTENT(IN) :: DM, DENS, XMVE, GRAV, XWC
83  DOUBLE PRECISION, INTENT(IN) :: KARMAN, ZERO
84  TYPE(bief_obj), INTENT(INOUT) :: T4
85  TYPE(bief_obj), INTENT(INOUT) :: T7, T8, T9
86  TYPE(bief_obj), INTENT(INOUT) :: QSC, QSS
87 !
88 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
89 !
90  INTEGER :: I
91  DOUBLE PRECISION :: C1, C2, UCF
92  DOUBLE PRECISION, INTENT(IN) :: BIJK
93 !
94 !======================================================================!
95 !======================================================================!
96 ! PROGRAM !
97 !======================================================================!
98 !======================================================================!
99 !
100  ! ***************************************************** !
101  ! I - STRESS UNDER THE COMBINED ACTION OF WAVES AND CURRENTS !
102  ! ***************************************************** !
103  IF(houle) THEN
104  CALL os('X=CY ', x=t4, y=tobw, c= 0.5d0)
105  CALL os('X=X+Y ', x=t4, y=tob)
106  ELSE
107  CALL os('X=Y ', x=t4, y=tob)
108  ENDIF
109  ! ******************************************************* !
110  ! II - CORRECTION TO TAKE BED FORMS INTO ACCOUNT !
111  ! ******************************************************* !
112 ! CALL OS('X=Y/Z ', X=MU, Y=CFP, Z=CF)
113 ! CALL OS('X=Y**C ', X=MU, Y=MU , C=0.75D0)
114  ! ***************************** !
115  ! III - BEDLOAD TRANSPORT !
116  ! ***************************** !
117  c1 = bijk*dm
118  c2 = dens*dm*xmve*grav
119  DO i = 1, npoin
120  IF (t4%R(i)*mu%R(i)> zero) THEN
121  qsc%R(i) = c1*sqrt(tob%R(i)/xmve )
122  & * exp(-0.27d0*(c2/(t4%R(i)*mu%R(i))))
123  ELSE
124  qsc%R(i) = 0.d0
125  ENDIF
126  ENDDO
127  ! *********************************************************** !
128  ! IV- ROUSE NUMBER AND LOWER BOUND OF EINSTEIN INTEGRAL !
129  ! *********************************************************** !
130  DO i = 1, npoin
131  IF (t4%R(i) > 0.d0) THEN
132  ucf = sqrt( t4%R(i) / xmve)
133  t7%R(i) = xwc / ( karman * ucf )
134 ! AUX = 1.D0 + KARMAN*SQRT(2.D0/MAX(CF%R(I),ZERO))
135 ! T8%R(I) = 30.D0*EXP(-AUX)
136  t8%R(i) = max(ksr%R(i),ksp%R(i))/max(hn%R(i),zero)
137  ELSE
138  t7%R(i)= 100001.d0
139  t8%R(i)= 100001.d0
140  ENDIF
141  ENDDO
142  ! ************************************ !
143  ! V - EINSTEIN INTEGRAL !
144  ! ************************************ !
145  CALL integ(t7%R, t8%R, t9%R, npoin)
146  ! ************************************** !
147  ! VI - TRANSPORT BY SUSPENSION !
148  ! ************************************** !
149  CALL os('X=YZ ', x=qss, y=t9, z=qsc)
150 !======================================================================!
151 !======================================================================!
152  RETURN
153  END SUBROUTINE bedload_bijker
subroutine integ(A, B, IEIN, NPOIN)
Definition: integ.f:7
subroutine bedload_bijker(TOBW, TOB, MU, KSP, KSR, HN, NPOIN, DM, DENS, XMVE, GRAV, XWC, KARMAN, ZERO, T4, T7, T8, T9, QSC, QSS, BIJK, HOULE)
Definition: bedload_bijker.f:8
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
Definition: os.f:7
Definition: bief.f:3