The TELEMAC-MASCARET system  trunk
windiss3.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE windiss3
3 ! *****************
4  & (fwx, fwy, npoin2, xk, ndire, fs,nf)
5 ! SURFACE STRESS DUE TO WIND INPUT ENERGY AND WHITECAPPING
6 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7 !| FS |-->| VARIANCE DENSITY DIRECTIONAL SPECTRUM
8 !| FWX |<--| SURFACE STRESS DUE TO WIND ALONG X
9 !| FWY |<--| SURFACE STRESS DUE TO WIND ALONG Y
10 !| NF |-->| NUMBER OF FREQUENCIES
11 !| NDIRE |-->| NUMBER OF DIRECTIONS
12 !| NPOIN2 |-->| NUMBER OF POINTS IN 2D MESH
13 !| XK |-->| DISCRETIZED WAVE NUMBER
14 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 
17  & teta, deupi, twold, usold, coefwd, coefwe, coefwf, coefwh
18 !
19  IMPLICIT NONE
20 !
21  INTEGER, INTENT(IN) :: NPOIN2, NDIRE,NF
22  DOUBLE PRECISION, INTENT(IN) :: FS(npoin2,ndire,nf)
23  DOUBLE PRECISION, INTENT(IN) :: XK(npoin2,nf)
24  DOUBLE PRECISION, INTENT(INOUT) :: FWX(npoin2), FWY(npoin2)
25 !
26  DOUBLE PRECISION DTETAR, AUX1, CPHAS, SIGMA
27  DOUBLE PRECISION BETAWIN, DIREC, INTER, DIR
28  INTEGER IP, JF, JP
29  dtetar=deupi/dble(ndire)
30  DO ip=1,npoin2
31  fwx(ip) = 0.d0
32  fwy(ip) = 0.d0
33  ENDDO
34 
35 !.....LOOP ON THE DISCRETISED FREQUENCIES
36 ! """"""""""""""""""""""""""""""""""""""""""""
37  DO jf=1,nf
38 
39  sigma=deupi*freq(jf)
40  aux1=dfreq(jf)*dtetar
41 !
42 !.......LOOP ON THE DISCRETISED DIRECTIONS
43 ! """"""""""""""""""""""""""""""""""""""""""""
44  DO jp=1,ndire
45  direc=teta(jp)
46  DO ip=1,npoin2
47 !.......COMPUTES THE FREQUENCIES (OMEGA AND UETOILE/CPHASE)
48  cphas = sigma / xk(ip,jf)
49  inter=usold(ip)/cphas
50  dir=cos(direc-twold(ip))
51  betawin = (coefwd*inter**2*dir+coefwe*inter*dir
52  & +coefwf*dir+coefwh)*sigma
53 
54  fwx(ip)=fwx(ip)+((xk(ip,jf)/sigma)*sintet(jp)
55  & *betawin*fs(ip,jp,jf))*aux1
56  fwy(ip)=fwy(ip)+((xk(ip,jf)/sigma)*costet(jp)
57  & *betawin*fs(ip,jp,jf))*aux1
58  ENDDO
59  ENDDO
60  ENDDO
61  RETURN
62  END
double precision, dimension(:), pointer sintet
double precision, dimension(:), pointer freq
subroutine windiss3(FWX, FWY, NPOIN2, XK, NDIRE, FS, NF)
Definition: windiss3.f:6
double precision, dimension(:), pointer dfreq
double precision, dimension(:), pointer costet