The TELEMAC-MASCARET system  trunk
bedload_einst.f
Go to the documentation of this file.
1 ! ************************
2  SUBROUTINE bedload_einst
3 ! ************************
4 !
5  &(tetap, npoin, dens, grav, dm, dstar, qsc)
6 !
7 !***********************************************************************
8 ! SISYPHE V6P1 21/07/2011
9 !***********************************************************************
10 !
11 !brief EINSTEIN-BROWN 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 !
41 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 !| DENS |-->| RELATIVE SENSITY OF SEDIMENT
43 !| DM |-->| SEDIMENT GRAIN DIAMETER
44 !| DSTAR |-->| NON-DIMENSIONAL DIAMETER
45 !| GRAV |-->| ACCELERATION OF GRAVITY
46 !| NPOIN |-->| NUMBER OF POINTS
47 !| QSC |<->| BED LOAD TRANSPORT
48 !| TETAP |-->| ADIMENSIONAL SKIN FRICTION
49 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50 !
51  USE interface_sisyphe, ex_bedload_einst => bedload_einst
52  USE bief
54  IMPLICIT NONE
55 !
56 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
57 !
58  TYPE(bief_obj), INTENT(IN) :: TETAP
59  INTEGER, INTENT(IN) :: NPOIN
60  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, DSTAR
61  TYPE(bief_obj), INTENT(INOUT) :: QSC
62 !
63 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
64 !
65  INTEGER :: I
66  DOUBLE PRECISION :: CEINST
67 !
68 !======================================================================!
69 ! PROGRAM !
70 !======================================================================!
71 !
72 ! BEDLOAD TRANSPORT
73 !
74  ceinst = 36.d0/(dstar**3)
75  ceinst = sqrt(2.d0/3.d0+ceinst) - sqrt(ceinst)
76  ceinst = ceinst * sqrt(dens*grav*(dm**3))
77  DO i = 1, npoin
78  IF(tetap%R(i) < 2.5d-3) THEN
79  qsc%R(i) = 0.d0
80  ELSE IF (tetap%R(i) < 0.2d0) THEN
81  qsc%R(i) = 2.15d0* ceinst * exp(-0.391d0/tetap%R(i))
82  ELSE
83  qsc%R(i) = 40.d0 * ceinst * (tetap%R(i)**3.d0)
84  ENDIF
85  ENDDO
86 !
87 !=======================================================================
88 !
89  RETURN
90  END
subroutine bedload_einst(TETAP, NPOIN, DENS, GRAV, DM, DSTAR, QSC)
Definition: bedload_einst.f:7
Definition: bief.f:3