The TELEMAC-MASCARET system  trunk
fdiss3d.f
Go to the documentation of this file.
1 !#######################################################################
2  SUBROUTINE fdiss3d
3  & (fdx, fdy, npoin2, xk, ndire, fs,nf)
4 ! SURFACE STRESS DUE TO DEPTH INDUCED WAVE BREAKING
5 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 !| FS |-->| VARIANCE DENSITY DIRECTIONAL SPECTRUM
7 !| FDX |<--| SURFACE STRESS ALONG X
8 !| FDY |<--| SURFACE STRESS ALONG Y
9 !| NF |-->| NUMBER OF FREQUENCIES
10 !| NDIRE |-->| NUMBER OF DIRECTIONS
11 !| NPOIN2 |-->| NUMBER OF POINTS IN 2D MESH
12 !| XK |-->| DISCRETIZED WAVE NUMBER
13 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14  USE bief
16  & betabr, deupi
17  USE interface_tomawac, ex_fdiss3d => fdiss3d
18 
19  IMPLICIT NONE
20 
21 !.....VARIABLES IN ARGUMENT
22 ! """"""""""""""""""""
23  INTEGER, INTENT(IN) :: NPOIN2, NDIRE,NF
24  DOUBLE PRECISION, INTENT(IN) :: FS(npoin2,ndire,nf)
25  DOUBLE PRECISION, INTENT(IN) :: XK(npoin2,nf)
26  DOUBLE PRECISION, INTENT(INOUT) :: FDX(npoin2)
27  DOUBLE PRECISION, INTENT(INOUT) :: FDY(npoin2)
28 
29 ! """""""""""""""""
30 !.....LOCAL VARIABLES
31 ! """""""""""""""""
32  INTEGER JP , JF , IP
33  DOUBLE PRECISION SIGMA
34  DOUBLE PRECISION DTETAR, AUX1
35 !
36  dtetar=deupi/dble(ndire)
37  DO ip=1,npoin2
38  fdx(ip) = 0.d0
39  fdy(ip) = 0.d0
40  ENDDO
41  DO jf=1,nf
42  sigma=deupi*freq(jf)
43  aux1=dfreq(jf)*dtetar
44  DO jp=1,ndire
45  DO ip=1,npoin2
46  fdx(ip)=fdx(ip)+((xk(ip,jf)/sigma)*sintet(jp)
47  & *betabr(ip)*fs(ip,jp,jf))*aux1
48  fdy(ip)=fdy(ip)+((xk(ip,jf)/sigma)*costet(jp)
49  & *betabr(ip)*fs(ip,jp,jf))*aux1
50  ENDDO
51  ENDDO
52  ENDDO
53 
54  RETURN
55  END
56 
57 
double precision, dimension(:), pointer sintet
double precision, dimension(:), pointer freq
subroutine fdiss3d(FDX, FDY, NPOIN2, XK, NDIRE, FS, NF)
Definition: fdiss3d.f:5
double precision, dimension(:), pointer dfreq
double precision, dimension(:), pointer costet
Definition: bief.f:3