Skip to content
Snippets Groups Projects
Commit a7de1f77 authored by Jean Felder's avatar Jean Felder
Browse files

Delete ride_vr_gaia.f

parent 0ffb00b5
No related branches found
No related tags found
No related merge requests found
! ***********************
SUBROUTINE RIDE_VR_GAIA
! ***********************
!
& (KSR,KS,UNORM,HN,GRAV,XMVE,XMVS,NPOIN,ACLADM)
!
!***********************************************************************
! GAIA
!***********************************************************************
!
! Mégadunes (KSCD) exclues du KS global (T3D) si prédicteur activé.
!
!***********************************************************************
!
!>@brief Computes the dimensions of equilibrium ripples.
!! VAN RIJN (2007) (CURRENT ONLY).
!
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!>@param[in] ACLADM Mean diameter of active layer
!>@param[in] GRAV Acceleration of gravity
!>@param[in] HN Water depth
!>@param[in,out] KS Total roughness
!>@param[in,out] KSR Bed skin roughness
!>@param[in] NPOIN Number of points
!>@param[in] UNORM Norm of the mean flow velocity
!>@param[in] XMVE Fluid density
!>@param[in] XMVS Sediment density
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
USE DECLARATIONS_TELEMAC3D, ONLY : X,Y,ZF
USE DECLARATIONS_GAIA, ONLY:ES,NOMBLAY,RATIO_MUD_SAND
IMPLICIT NONE
!
INTEGER I,NPOIN,ILAYER
!
DOUBLE PRECISION, INTENT(INOUT) :: KSR(NPOIN),KS(NPOIN)
DOUBLE PRECISION, INTENT(IN) :: GRAV,XMVE,XMVS
DOUBLE PRECISION, INTENT(IN) :: HN(NPOIN)
DOUBLE PRECISION, INTENT(IN) :: ACLADM(NPOIN),UNORM(NPOIN)
!
! LOCAL VARIABLES
!
DOUBLE PRECISION AI,ZERO,KSCR,KSCD,KSCMR,MOB,FES,FFS,kssand
DOUBLE PRECISION DSAND,DGRAVEL,DSILT, OPTKS,OPTV,epaimud
DOUBLE PRECISION epaimud2,epaimud1
!
!---------------------------------------------------------------------
!
ZERO=1.D-6
DSILT=0.000032D0
DGRAVEL=0.002D0
DSAND=0.000062D0
! OPTKS=1
! 1 predit par van rijn
! 2 abaque de frottement
! OPTV 1 corr de la vase fluide cf artelia
!
! COMPUTES CURRENT-DOMINATED ROUGHNESS USING VAN RIJN (2007)
!
DO I=1,NPOIN
!
! MOBILITY NUMBER FOR CURRENT ONLY
!
! print *,'ks',I,ACLADM(I)
AI = ACLADM(I)*GRAV*(XMVS-XMVE)/XMVE
MOB = UNORM(I)**2/AI
!
! RIPPLE ROUGHNESS
!
IF(ACLADM(I).LE.0.25D0*DGRAVEL)THEN
FES=1.D0
ELSE
FES=(0.25D0*DGRAVEL/ACLADM(I))**1.5D0
ENDIF
!
IF(ACLADM(I).LT.DSILT)THEN
KSCR=20.D0*DSILT
ELSE
AI= TANH(0.015D0*(MOB-150.D0))
KSCR=FES*ACLADM(I)*(85.D0-65.D0*AI)
ENDIF
!
! MEGARIPPLE ROUGHNESS
!
IF(ACLADM(I).GE.(1.5D0*DSAND))THEN
FFS=1.D0
ELSE
FFS=ACLADM(I)/1.5D0/DSAND
ENDIF
IF(ACLADM(I).LE.DSILT)THEN
KSCMR=0.D0
ELSE
AI=(1.D0-EXP(-0.05D0*MOB))*(550.D0-MOB)
KSCMR=0.00002D0*FFS*HN(I)*AI
! KSCMR=0.00002D0*FFS*HN(I)*(1.D0-EXP(-0.05D0*MOB))
IF(MOB.GT.550.D0.AND.ACLADM(I).GE.1.5D0*DSAND)THEN
KSCMR=0.02D0
ELSEIF(MOB.GT.550D0.AND.ACLADM(I).LT.1.5D0*DSAND)THEN
KSCMR=200.D0*ACLADM(I)
ENDIF
ENDIF
!
! DUNE ROUGHNESS
!
IF(ACLADM(I).LT.DSILT) THEN
KSCD=0.D0
ELSE
AI=(1.D0-EXP(-0.02D0*MOB))*(600.D0-MOB)
KSCD=0.00008D0*FFS*HN(I)* AI
ENDIF
IF(MOB.GT.600.D0) KSCD=0.D0
IF(KSCD.GT.1.D0) KSCD=1.D0
!
! ***RIPPLE BED ROUGHNESS FOR SEDIMENT COMPUTATIONS IN GAIA ***
!
KSR(I)=KSCR
!
! *** TOTAL ROUGHNESS FOR COMPUTATIONS IN TELEMAC2D **
! print *, I,KSCR,KSCMR,KSCD,ACLADM(I)
!
! KS(I)=SQRT(KSCR**2+KSCMR**2+KSCD**2)+3.*ACLADM(I)
KS(I)=SQRT(KSCR**2+KSCMR**2)+3.*ACLADM(I)
! if (I.EQ.1336) then
! print *, I,KS(I)
! endif
! DO IPOIN = 1,NPOIN
! IF (LT.lt.32400) then
! IF (LT.lt.45640) then
! print *, ZF%R(IPOIN),ZR%R(IPOIN)
! endif
! ZR%R(IPOIN) = ZF%R(IPOIN)
! ZF%R(IPOIN) = ZF%R(IPOIN)
! if (epaimud.gt.epaimud2) then
! print *, 'aft', KS(I)
! endif
! print *, 'aft', KS(I)
! endif
! KS(I)=SQRT(KSCR**2+KSCMR**2+KSCD**2)
! KS(I)= ACLADM(I)
! print *, 'aft', KS(I),ACLADM(I)
ENDDO
!
!AGD****************************************************
!
!---------------------------------------------------------------------
!
RETURN
END
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment