erodnc.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac3d\erodnc.f
00002 !
00081                      SUBROUTINE ERODNC
00082 !                    *****************
00083 !
00084      &(CFDEP  , WCS    , HDEP     , FLUER  , TOB   , DT    ,
00085      & NPOIN2 , NPOIN3 , KSPRATIO , AC     , RHOS  , RHO0  , HN ,
00086      & GRAV   , DMOY   , CREF     , ZREF   , CF    , ICQ   ,RUGOF,
00087      & Z      , UETCAR , SETDEP   , EPAINCO, MIXTE)
00088 !
00089 !***********************************************************************
00090 ! TELEMAC3D   V7P0                                   21/08/2010
00091 !***********************************************************************
00092 !
00093 !
00094 !
00095 !
00096 !
00097 !
00098 !
00099 !
00100 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00101 !| AC             |-->| CRITICAL SHIELDS PARAMETER
00102 !| CF             |-->| QUADRATIC FRICTION COEFFICIENT (NOT USED)
00103 !| CFDEP          |-->| CONCENTRATION OF FRESH DEPOSIT DES DEPOTS FRAIS
00104 !| CREF           |<->| EQUILIBRIUM CONCENTRATION
00105 !| DMOY           |-->| MEAN DIAMETER OF GRAINS
00106 !| DT             |-->| TIME STEP
00107 !| EPAINCO        |-->| THICKNESS OF NON-COHESIVE SUB-LAYER
00108 !| FLUER          |<->| EROSION  FLUX
00109 !| GRAV           |-->| GRAVITY ACCELERATION
00110 !| HDEP           |<->| THICKNESS OF FRESH DEPOSIT (FLUID MUD LAYER)
00111 !| HN             |-->| WATER DEPTH AT TIME N
00112 !| ICQ            |-->| FLAG FOR REFERENCE CONCENTRATION FORMULA
00113 !| KSPRATIO       |-->| NOT USED
00114 !| MIXTE          |-->| LOGICAL, MIXED SEDIMENTS OR NOT
00115 !| NPOIN2         |-->| NUMBER OF POINTS IN 2D
00116 !| NPOIN3         |-->| NUMBER OF 3D POINTS
00117 !| RHO0           |-->| WATER DENSITY AT REFERENCE CONCENTRATION
00118 !| RHOS           |-->| SEDIMENT DENSITY
00119 !| RUGOF          |<->| FRICTION COEFFICIENT ON THE BOTTOM
00120 !| SETDEP         |-->| OPTION FOR THE TREATMENT OF SETTLING VELOCITY
00121 !| TOB            |-->| BOTTOM FRICTION
00122 !| UETCAR         |-->| SQUARE OF THE FRICTION VELOCITY
00123 !| WCS            |-->| SETTLING VELOCITY FOR SAND
00124 !| Z              |-->| NODE COORDINATES
00125 !| ZREF           |<->| REFERENCE ELEVATION
00126 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00127 !
00128       USE BIEF
00129       USE DECLARATIONS_TELEMAC3D, ONLY: KARMAN,PRANDTL,FICT
00130 !
00131       USE INTERFACE_TELEMAC3D, EX_ERODNC => ERODNC
00132 !     TRIGGERS A PGI COMPILER ERROR
00133       USE INTERFACE_SISYPHE,ONLY:SUSPENSION_FREDSOE,SUSPENSION_VANRIJN
00134 !
00135       IMPLICIT NONE
00136       INTEGER LNG,LU
00137       COMMON/INFO/LNG,LU
00138 !
00139 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00140 !
00141       INTEGER, INTENT(IN)             :: NPOIN2,NPOIN3,ICQ,SETDEP
00142 !
00143       DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2),FLUER(NPOIN2)
00144       DOUBLE PRECISION, INTENT(IN)    :: EPAINCO(NPOIN2)
00145 !
00146       DOUBLE PRECISION, INTENT(IN)    :: DT,CFDEP,GRAV,RHOS,RHO0
00147       DOUBLE PRECISION, INTENT(IN)    :: KSPRATIO,AC
00148 !
00149       TYPE(BIEF_OBJ)  , INTENT(IN)    :: DMOY,TOB,CF,HN
00150       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: CREF,ZREF,RUGOF
00151 !
00152       DOUBLE PRECISION, INTENT(IN)    :: WCS(NPOIN3)
00153 
00154       LOGICAL, INTENT(IN)             :: MIXTE
00155 
00156       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN3), UETCAR(NPOIN2)
00157 !
00158 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00159 !
00160       INTEGER IPOIN,I
00161       DOUBLE PRECISION USTAR, ROUSE, ROUSE_Z, DELTAZ, QS
00162 !
00163       INTRINSIC MIN,MAX
00164 !
00165 !-----------------------------------------------------------------------
00166 !
00167 !  ---------------------------------------------------------------------
00168 !  ------- COMPUTES THE REFERENCE CONCENTRATION CREF (IN G/L) ----------
00169 !  ---------------------------------------------------------------------
00170 !
00171 !     CV depth to extrapolate the near bed concentrations (see also KEPLC)
00172 !     For FV scheme use delta= Dz1/4
00173 !     FE scheme          = Dz1/2
00174 !
00175 !     ZYSERMAN & FREDSOE (1994) (BY DEFAULT)
00176 !
00177 !     SO FAR DMOY IS A CONSTANT
00178 !
00179       IF(ICQ.EQ.1) THEN
00180         CALL OS('X=CY    ', X=ZREF, Y=DMOY, C=2.D0)
00181         CALL SUSPENSION_FREDSOE(DMOY%R(1),TOB, NPOIN2,
00182      &                        GRAV,RHO0,RHOS,1.D-6,AC,CREF)
00183         CALL OS('X=CY    ', X=ZREF, Y=DMOY, C=2.D0)
00184       ELSEIF(ICQ.EQ.3) THEN
00185         CALL OS('X=CY    ', X=ZREF, Y=RUGOF, C=0.5D0)
00186         CALL SUSPENSION_VANRIJN(DMOY%R(1),TOB,NPOIN2,
00187      &                 GRAV,RHO0,RHOS,1.D-06,1.D-06,AC,CREF,ZREF)
00188       ENDIF
00189 !
00190 !     UNITS FOR CREF G/L, NOT LIKE IN SISYPHE
00191 !
00192       CALL OS('X=CX    ',X=CREF,C=RHOS)
00193 !
00194 !     JMH ON 05/05/2014
00195 !     Following lines put under condition of SETDEP=1, they change a
00196 !     lot the test case depot (76 cm of deposition at the
00197 !     entrance, while the bed should not evolve too much, as
00198 !     we simulate a Rouse profile. Lines below are probably compatible
00199 !     with FLUDPT done when SETDEP=1.
00200 !
00201 !     CV: Extrapolation of Rouse profile from ZREF to 1/2 or 1/4 of first grid mesh
00202 !
00203       IF(SETDEP.EQ.1) THEN
00204 !
00205         DO IPOIN =1,NPOIN2
00206           USTAR=MAX(SQRT(UETCAR(IPOIN)),1.D-6)
00207           ROUSE=PRANDTL*WCS(IPOIN)/KARMAN/USTAR
00208 !         rouse profile extrapolation up to 1/4 of the first layer
00209           DELTAZ=(Z(IPOIN +NPOIN2)-Z(IPOIN))/FICT
00210           ROUSE_Z=ZREF%R(IPOIN)/(HN%R(IPOIN)-ZREF%R(IPOIN))
00211      &           *(HN%R(IPOIN)-DELTAZ)/DELTAZ
00212           CREF%R(IPOIN)=CREF%R(IPOIN)*ROUSE_Z**ROUSE
00213         ENDDO
00214 !
00215       ENDIF
00216 !
00217 !  ------------------------------------------------------------
00218 !  -----------------     EROSION STEP    ----------------------
00219 !  ------------------------------------------------------------
00220 !
00221       IF(MIXTE) THEN
00222 
00223         DO I=1,NPOIN2
00224 !
00225         FLUER(I)= WCS(I)*CREF%R(I)
00226         QS=CFDEP*EPAINCO(I)
00227         FLUER(I)=MIN(FLUER(I),QS/DT)
00228 !
00229         ENDDO
00230 
00231       ELSE
00232 
00233         DO I=1,NPOIN2
00234 !
00235 !       COMPUTES THE EROSION FLUX
00236 !
00237         FLUER(I)= WCS(I)*CREF%R(I)
00238 !
00239 !       QUANTITY OF SOLID IN THE LAYER BEFORE EROSION
00240 !
00241 !       CFDEP IN KG/M3 ( ~ 0.65 RHOS )
00242         QS=CFDEP*HDEP(I)
00243 !
00244 !       LAYER THICKNESS AFTER EROSION
00245 !
00246 !CV     HDEP(I)=MAX(0.D0,HDEP(I)-(FLUER(I)*DT/CFDEP))
00247 !
00248 !       LIMITS THE EROSION FLUX
00249 !
00250         FLUER(I)=MIN(FLUER(I),QS/DT)
00251 !
00252       ENDDO
00253 !
00254       ENDIF
00255 !-----------------------------------------------------------------------
00256 !
00257       RETURN
00258       END

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