The TELEMAC-MASCARET system  trunk
shields.f
Go to the documentation of this file.
1 ! ******************
2  SUBROUTINE shields
3 ! ******************
4 !***********************************************************************
5 ! GAIA
6 !***********************************************************************
7 !
12 !
13 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
14 !
16  IMPLICIT NONE
17 !
18 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
19  INTEGER :: ICLA,ISAND,IPOIN
20  DOUBLE PRECISION :: DSTAR,DENS
21 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
22 !
23  DO icla=1,nsicla
24  IF(type_sed(icla).EQ.'NCO') THEN
25  dens = (xmvs0(icla) - xmve) / xmve
26  IF(ac(icla).LT.0) THEN
27  dstar = dcla(icla)*(grav*dens/vce**2)**(1.d0/3.d0)
28  IF (dstar <= 4.d0) THEN
29  ac(icla) = 0.24d0/dstar
30  ELSEIF (dstar <= 10.d0) THEN
31  ac(icla) = 0.14d0*dstar**(-0.64d0)
32  ELSEIF (dstar <= 20.d0) THEN
33  ac(icla) = 0.04d0*dstar**(-0.1d0)
34 ! CORRECTION 27/06/2016
35 ! ELSEIF (DSTAR <= 150.D0) THEN
36  ELSEIF (dstar <= 72.d0) THEN
37  ac(icla) = 0.013d0*dstar**0.29d0
38  ELSE
39 ! CORRECTION 30/05/2012
40 ! AC(ICLA) = 0.055D0
41  ac(icla) = 0.045d0
42  ENDIF
43  ENDIF
44  ENDIF
45  ENDDO
46 !
47  IF(nsand.GT.0) THEN
48  DO isand = 1,nsand
49  toce_sand0(isand) = ac(isand)*
50  & dcla(isand)*grav*(xmvs0(num_isand_icla(isand)) - xmve)
51  DO ipoin=1,npoin
52  toce_sand(isand,ipoin) =toce_sand0(isand)
53  ENDDO
54  ENDDO
55  ENDIF
56 !
57  RETURN
58  END
double precision xmve
Water density (from steering file of T2D or T3D)
double precision vce
Water viscosity: it is defined here because the viscosity set in TELEMAC2D or TELEMAC3D may not b the...
double precision, dimension(nsiclm) xmvs0
Sand density.
integer nsand
Total number of sand.
integer, dimension(:), allocatable num_isand_icla
character(len=3), dimension(:), allocatable type_sed
Type of sediment (co or nco)
double precision, dimension(nsiclm), target dcla
Sediment diameter for each class It is only relevant for non-cohesive sediments. For the bedload...
subroutine shields
Definition: shields.f:4
integer, target nsicla
Number of sediment classes of bed material (less than NISCLM)
double precision grav
Gravity acceleration.
double precision, dimension(nsiclm) toce_sand0
Critical erosion shear stress of the sand.
double precision, dimension(nsiclm), target ac
Critical shields parameter.
double precision, dimension(:,:), allocatable toce_sand
Critical erosion shear stress of the sand, for each sand, for each point.
integer, pointer npoin
Number of 2d points in the mesh.