The TELEMAC-MASCARET system  trunk
qbrek4.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE qbrek4
3 ! *****************
4 !
5  &( tstot , f , fcar , varian, nf , ndire , npoin2)
6 !
7 !***********************************************************************
8 ! TOMAWAC V6P1 23/06/2011
9 !***********************************************************************
10 !
11 !brief COMPUTES THE CONTRIBUTION OF THE DEPTH-INDUCED
12 !+ BREAKING SOURCE TERM BASED ON IZUMIYA ET HORIKAWA (1984).
13 !
14 !note THIS SOURCE TERM IS LINEAR IN F(FREQ,TETA), AND THE LINEAR
15 !+ COEFFICIENT DOES NOT VARY WITH TIME.
16 !
17 !reference IZUMIYA T., HORIKAWA K. (1984) :
18 !+ "WAVE ENERGY EQUATION APPLICABLE IN AND OUTSIDE
19 !+ THE SURF ZONE". COASTAL ENGINEERING IN JAPAN, VOL 17, PP 119-137.
20 !
21 !history F. BECQ; M. BENOIT (EDF/DER/LNH)
22 !+ 26/03/96
23 !+ V1P1
24 !+
25 !
26 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
27 !+ 13/07/2010
28 !+ V6P0
29 !+ Translation of French comments within the FORTRAN sources into
30 !+ English comments
31 !
32 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
33 !+ 21/08/2010
34 !+ V6P0
35 !+ Creation of DOXYGEN tags for automated documentation and
36 !+ cross-referencing of the FORTRAN sources
37 !
38 !history G.MATTAROLO (EDF - LNHE)
39 !+ 23/06/2011
40 !+ V6P1
41 !+ Translation of French names of the variables in argument
42 !
43 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 !| DEPTH |-->| WATER DEPTH
45 !| F |-->| DIRECTIONAL SPECTRUM
46 !| FCAR |-->| CHARACTERISTIC FREQUENCY
47 !| NF |-->| NUMBER OF FREQUENCIES
48 !| NDIRE |-->| NUMBER OF DIRECTIONS
49 !| NPOIN2 |-->| NUMBER OF POINTS IN 2D MESH
50 !| TSTOT |<->| TOTAL PART OF THE SOURCE TERM CONTRIBUTION
51 !| VARIAN |-->| SPECTRUM VARIANCE
52 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 !
55  & betabr
56  USE interface_tomawac, ex_qbrek4 => qbrek4
57  IMPLICIT NONE
58 !
59 !.....VARIABLES IN ARGUMENT
60 ! """"""""""""""""""""
61  INTEGER, INTENT(IN) :: NF , NDIRE , NPOIN2
62  DOUBLE PRECISION, INTENT(IN) :: F(npoin2,ndire,nf)
63  DOUBLE PRECISION, INTENT(IN) :: VARIAN(npoin2),FCAR(npoin2)
64  DOUBLE PRECISION, INTENT(INOUT):: TSTOT(npoin2,ndire,nf)
65 !
66 !.....LOCAL VARIABLES
67 ! """""""""""""""""
68  INTEGER JP , IFF , IP
69  DOUBLE PRECISION COEF , XKCAR , DEUKD , GG1 , GG2
70 !
71 !
72  coef = -sqrt(gravit)*betaih
73 !
74 !.....COMPUTES THE LINEAR COEFFICIENT BETABR : QBREK4 = BETABR * F
75 ! """""""""""""""""""""""""""""""""""""""""""""""""""""""
76  DO ip = 1,npoin2
77  CALL wnscou( xkcar, fcar(ip), depth(ip) )
78  deukd=2.d0*xkcar*depth(ip)
79  IF (deukd.GT.7.d2) THEN
80  gg1 = 0.d0
81  gg2 = 0.5d0
82  ELSE
83  gg1 = deukd/sinh(deukd)
84  gg2 = 0.5d0*(1.d0+gg1)
85  ENDIF
86  betabr(ip) = coef/depth(ip)**1.5*sqrt(varian(ip)*gg1)
87  & *sqrt(max(0.d0,gg2*varian(ip)
88  & /(depth(ip)*depth(ip))-em2sih))
89  DO iff = 1,nf
90  DO jp = 1,ndire
91  tstot(ip,jp,iff) = tstot(ip,jp,iff)+betabr(ip)*f(ip,jp,iff)
92  ENDDO ! JP
93  ENDDO ! IFF
94  ENDDO ! IP
95 !
96  RETURN
97  END
double precision, dimension(:), pointer depth
subroutine wnscou(CK2, FREQ, DEPTH)
Definition: wnscou.f:7
subroutine qbrek4(TSTOT, F, FCAR, VARIAN, NF, NDIRE, NPOIN2)
Definition: qbrek4.f:7