The TELEMAC-MASCARET system  trunk
bedload_engel.f
Go to the documentation of this file.
1 ! ************************
2  SUBROUTINE bedload_engel
3 ! ************************
4 !
5  &(tob,cf,dens,grav,dm,xmve,qsc)
6 !
7 !***********************************************************************
8 ! SISYPHE V7P3 10/01/2018
9 !***********************************************************************
10 !
11 !brief ENGELUND-HANSEN BEDLOAD TRANSPORT FORMULATION.
12 !
13 !history E. PELTIER; C. LENORMANT; J.-M. HERVOUET
14 !+ 11/09/1995
15 !+ V5P1
16 !+
17 !
18 !history C.VILLARET
19 !+ **/10/2003
20 !+ V5P4
21 !+
22 !
23 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
24 !+ 13/07/2010
25 !+ V6P0
26 !+ Translation of French comments within the FORTRAN sources into
27 !+ English comments
28 !
29 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
30 !+ 21/08/2010
31 !+ V6P0
32 !+ Creation of DOXYGEN tags for automated documentation and
33 !+ cross-referencing of the FORTRAN sources
34 !
35 !history C.VILLARET (EDF-LNHE), P.TASSI (EDF-LNHE)
36 !+ 19/07/2011
37 !+ V6P1
38 !+ Name of variables
39 !+
40 !history P.TASSI (EDF-LNHE)
41 !+ 10/01/2018
42 !+ V7P3
43 !+ Correction of the coefficient of the Engelund and Hansen formula
44 !+ (thanks to Alexander Breugem)
45 !
46 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47 !| CF |-->| QUADRATIC FRICTION COEFFICIENT
48 !| DENS |-->| RELATIVE DENSITY
49 !| DM |-->| SEDIMENT GRAIN DIAMETER
50 !| GRAV |-->| ACCELERATION OF GRAVITY
51 !| QSC |<->| BED LOAD TRANSPORT
52 !| TOB |<->| BED SHEAR STRESS (TOTAL FRICTION)
53 !| XMVE |-->| FLUID DENSITY
54 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 !
56  USE interface_sisyphe, ex_bedload_engel => bedload_engel
57  USE bief
59  IMPLICIT NONE
60 !
61 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
62 !
63  TYPE(bief_obj), INTENT(IN) :: TOB, CF
64  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, XMVE
65  TYPE(bief_obj), INTENT(INOUT) :: QSC
66 !
67 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
68 !
69  INTEGER I
70  DOUBLE PRECISION :: CENGEL, C1
71 !
72 !======================================================================!
73 ! PROGRAM !
74 !======================================================================!
75 !
76  c1 = 1.d0/(dens*xmve*grav*dm)
77  cengel = 0.05d0*sqrt(dens*grav*dm**3)
78 ! CALL OS('X=CY ', X=TETA, Y=TOB , C=C1)
79 ! CALL OS('X=Y**C ', X=TETA, Y=TETA, C=5.D0/2.D0)
80 !
81 ! CALL OS('X=+(Y,C)', X=QSC , Y=CF , C=1.D-06)
82 ! CALL OS('X=1/Y ', X=QSC , Y=QSC)
83 ! CALL OS('X=CXY ', X=QSC , Y=TETA, C=CENGEL)
84  DO i=1,qsc%DIM1
85 ! TOTAL NON DIMENSIONAL STRESS = SQRT(C1*TOB%R(I))**5
86 ! BEDLOAD TRANSPORT
87  qsc%R(i)=cengel*sqrt(c1*tob%R(i))**5/max(cf%R(i),1.d-6)
88  ENDDO
89 !
90 !======================================================================
91 !
92  RETURN
93  END
subroutine bedload_engel(TOB, CF, DENS, GRAV, DM, XMVE, QSC)
Definition: bedload_engel.f:7
Definition: bief.f:3