The TELEMAC-MASCARET system  trunk
kerbou.f
Go to the documentation of this file.
1 ! ********************************
2  DOUBLE PRECISION FUNCTION kerbou
3 ! ********************************
4 !
5  &( xk1 , xk2 , freq1 , freq2 , depth , teta1 , teta2 )
6 !
7 !***********************************************************************
8 ! TOMAWAC V6P3 20/06/2011
9 !***********************************************************************
10 !
11 !brief COMPUTES THE COUPLING COEFFICIENT.
12 !
13 !history EDF/DER/LNH
14 !+ 11/06/98
15 !+ V1P1
16 !+
17 !
18 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
19 !+ 13/07/2010
20 !+ V6P0
21 !+ Translation of French comments within the FORTRAN sources into
22 !+ English comments
23 !
24 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
25 !+ 21/08/2010
26 !+ V6P0
27 !+ Creation of DOXYGEN tags for automated documentation and
28 !+ cross-referencing of the FORTRAN sources
29 !
30 !history G.MATTAROLO (EDF - LNHE)
31 !+ 20/06/2011
32 !+ V6P1
33 !+ Translation of French names of the variables in argument
34 !
35 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36 !| DEPTH |-->| WATER DEPTH
37 !| FREQ1 |-->| FREQUENCY OF COMPONENT 1
38 !| FREQ2 |-->| FREQUENCE OF COMPONENT 2
39 !| TETA1 |-->| DIRECTION OF COMPONENT 1
40 !| TETA2 |-->| DIRECTION OF COMPONENT 2
41 !| XK1 |-->| WAVE NUMBER OF COMPONENT 1
42 !| XK2 |-->| WAVE NUMBER OF COMPONENT 2
43 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 !
46 !
47  USE interface_tomawac, ex_kerbou => kerbou
48  IMPLICIT NONE
49 !
50 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
51 !
52  DOUBLE PRECISION, INTENT(IN) :: XK1,XK2,FREQ1,FREQ2,TETA1,TETA2
53  DOUBLE PRECISION, INTENT(IN) :: DEPTH
54 !
55 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
56 !
57  DOUBLE PRECISION VAR1,VAR2,VAR3,VAR4,DANG
58 !
59 !-----------------------------------------------------------------------
60 !
61  var1 = xk1**2
62  var2 = xk2**2
63  var3 = xk1*xk2
64  var4 = deupi**2*freq1*freq2
65  dang = cos(teta1-teta2)
66 !
67  kerbou = gravit*0.5d0*(var1+var2+2.d0*var3*dang) +
68  & (var4/var3)*((var1+var2)*dang+var3*(1.d0+dang**2))/depth
69 !
70 !-----------------------------------------------------------------------
71 !
72  RETURN
73  END
double precision function kerbou(XK1, XK2, FREQ1, FREQ2, DEPTH, TETA1, TETA2)
Definition: kerbou.f:7