disper.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac2d\disper.f
00002 !
00051                      SUBROUTINE DISPER
00052 !                    *****************
00053 !
00054      &( VISC , U , V , H , CF , ELDER , PROPNU )
00055 !
00056 !***********************************************************************
00057 ! TELEMAC2D   V6P1                                   21/08/2010
00058 !***********************************************************************
00059 !
00060 !
00061 !
00062 !
00063 !
00064 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00065 !| CF             |<--| ADIMENSIONAL FRICTION COEFFICIENT
00066 !| ELDER          |-->| ADIMENSIONAL DISPERSION COEFFICIENTS
00067 !| H              |-->| WATER DEPTH
00068 !| PROPNU         |-->| LAMINAR VISCOSITY
00069 !| U              |-->| X-COMPONENT OF VELOCITY
00070 !| V              |-->| Y-COMPONENT OF VELOCITY
00071 !| VISC           |<--| COEFFICIENTS OF DISPERSION TENSOR VISC(NPOIN,3)
00072 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00073 !
00074       USE BIEF
00075 !
00076       IMPLICIT NONE
00077       INTEGER LNG,LU
00078       COMMON/INFO/LNG,LU
00079 !
00080 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00081 !
00082       DOUBLE PRECISION, INTENT(IN)  :: ELDER(2),PROPNU
00083       DOUBLE PRECISION, INTENT(IN)  :: H(*),CF(*),U(*),V(*)
00084       TYPE(BIEF_OBJ), INTENT(INOUT) :: VISC
00085 !
00086 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00087 !
00088       INTEGER I,NPOIN,NPX
00089 !
00090       DOUBLE PRECISION KL,KT,COST,SINT,NORMV,USTAR
00091 !
00092       INTRINSIC SQRT,MAX
00093 !
00094 !-----------------------------------------------------------------------
00095 ! COMPUTES DISPERSION COEFFICIENTS
00096 !-----------------------------------------------------------------------
00097 !
00098       NPOIN = VISC%DIM1
00099       NPX   = VISC%MAXDIM1
00100 !
00101       DO I=1,NPOIN
00102 !
00103         NORMV = MAX(SQRT(U(I)**2+V(I)**2),1.D-6)
00104         COST = U(I)/NORMV
00105         SINT = V(I)/NORMV
00106         USTAR = SQRT( 0.5D0 * CF(I) * ( U(I)**2 + V(I)**2 ) )
00107         KL = ELDER(1) * USTAR * H(I)
00108         KT = ELDER(2) * USTAR * H(I)
00109         VISC%R(I      ) = PROPNU + ( KL - KT ) * COST**2    + KT
00110         VISC%R(I+NPX  ) = PROPNU + ( KT - KL ) * COST**2    + KL
00111         VISC%R(I+2*NPX) = PROPNU + ( KL - KT ) * COST*SINT
00112 !
00113       ENDDO ! I
00114 !
00115 !-----------------------------------------------------------------------
00116 !
00117       RETURN
00118       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0