5 & (tob, xmve,hn, optdif, npoin, xkx, xky,
6 & t1, t2, t3, kx, ky, kz, disp,u2d,v2d,visc_tel,code)
69 type(bief_obj),
INTENT(IN) :: tob,hn,visc_tel
70 INTEGER,
INTENT(IN) :: OPTDIF, NPOIN
71 DOUBLE PRECISION,
INTENT(IN) :: XMVE, XKX, XKY
72 type(bief_obj),
INTENT(INOUT) :: t1, t2, t3
73 type(bief_obj),
INTENT(INOUT) :: kx, ky, kz, disp
74 type(bief_obj),
INTENT(IN) :: u2d,v2d
75 CHARACTER(LEN=24),
INTENT(IN) :: CODE
79 DOUBLE PRECISION :: UETH, COST, SINT
90 IF (optdif == 2.OR.optdif == 1)
THEN 97 ueth = sqrt(tob%R(k)/xmve)
98 t1%R(k) = xkx * ueth * hn%R(k)
99 t2%R(k) = xky * ueth * hn%R(k)
102 CALL os(
'X=C ', x=t1, c=xkx)
103 CALL os(
'X=C ', x=t2, c=xky)
106 CALL os(
'X=N(Y,Z)', x=t3, y=u2d, z=v2d)
110 IF(t3%R(k).GE.1.d-6)
THEN 111 cost = u2d%R(k)/t3%R(k)
112 sint = v2d%R(k)/t3%R(k)
118 kx%R(k) = (t1%R(k) - t2%R(k))*(cost**2) + t2%R(k)
119 ky%R(k) = (t2%R(k) - t1%R(k))*(cost**2) + t1%R(k)
120 kz%R(k) = (t1%R(k) - t2%R(k))*cost*sint
128 ELSEIF(optdif == 3)
THEN 130 IF(code(1:9).EQ.
'TELEMAC2D')
THEN 131 IF(visc_tel%DIM2.EQ.1)
THEN 132 CALL os(
'X=Y ', x=kx,y=visc_tel)
133 CALL os(
'X=Y ', x=ky,y=kx)
134 CALL os(
'X=0 ', x=kz)
135 ELSEIF(visc_tel%DIM2.EQ.3)
THEN 136 dimvisc=visc_tel%MAXDIM1
138 kx%R(k)=visc_tel%R(k)
139 ky%R(k)=visc_tel%R(k+ dimvisc)
140 kz%R(k)=visc_tel%R(k+2*dimvisc)
143 WRITE(
lu,*)
'SUSPENSION_DISPERSION:' 145 WRITE(
lu,*)
'UNEXPECTED DIMENSION OF VISC_TEL:',
152 WRITE(
lu,*)
'SUSPENSION_DISPERSION:' 154 WRITE(
lu,*)
'OPTION 3: DIFFUSIVITY GIVEN BY TELEMAC' 155 WRITE(
lu,*)
'NOT IMPLEMENTED OR IMPOSSIBLE WITH ',code
169 CALL ov_2(
'X=Y ', disp%R, 1, kx%R, 1, kx%R, 1, 0.d0,
170 & disp%MAXDIM1, disp%DIM1)
171 CALL ov_2(
'X=Y ', disp%R, 2, ky%R, 1, ky%R, 1, 0.d0,
172 & disp%MAXDIM1, disp%DIM1)
173 CALL ov_2(
'X=Y ', disp%R, 3, kz%R, 1, kz%R, 1, 0.d0,
174 & disp%MAXDIM1, disp%DIM1)
176 31
FORMAT(
'DISPERSION: OPTION FOR THE DISPERSION NOT AVAILABLE:',1i6)
subroutine ov_2(OP, X, DIMX, Y, DIMY, Z, DIMZ, C, DIM1, NPOIN)
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
subroutine suspension_dispersion