clsedi.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac3d\clsedi.f
00002 !
00080                      SUBROUTINE CLSEDI
00081 !                    *****************
00082 !
00083      &( ATABOF , BTABOF  , ATABOS , BTABOS  , TA     ,
00084      &  WC     , GRADZFX , GRADZFY, GRADZSX , GRADZSY,
00085      &  X      , Y       , Z      , HN      , DELTAR ,
00086      &  TOB    , DENSI   , TRA03  , EPAI    , CFDEP  ,
00087      &  CONC   , HDEP    , FLUER  , FLUDPT  , LITABF ,
00088      &  LITABS , KLOG    , NPOIN3 , NPOIN2  , NPLAN  ,
00089      &  NCOUCH , ITURBV  , DT     , RHO0    ,  RHOS  ,
00090      &  TOCD   , MPART   , TOCE   , UETCAR  , GRAV   ,
00091      &  SEDCO  , DMOY    , CREF   , ZREF    , CF     ,
00092      &  AC     , KSPRATIO, ICR    , ICQ     , RUGOF  ,
00093      &  SETDEP , HMIN    , WCS    , EPAICO  , EPAINCO,
00094      &  MIXTE  , SEDNCO  , FLUDPTC, FLUDPTNC, FLUERC ,
00095      &  FLUERNC, NTRAC   , ITRAC)
00096 !
00097 !***********************************************************************
00098 ! TELEMAC3D   V7P0                                   21/08/2010
00099 !***********************************************************************
00100 !
00101 !
00102 !
00103 !
00104 !
00105 !
00106 !
00107 !
00108 !
00109 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00110 !| AC             |-->| CRITICAL SHIELDS PARAMETER
00111 !| ATABOF         |<->| FOR BOUNDARY CONDITION (BOTTOM)
00112 !| ATABOS         |<->| FOR BOUNDARY CONDITION (SURFACE)
00113 !| BTABOF         |<->| FOR BOUNDARY CONDITION (BOTTOM)
00114 !| BTABOS         |<->| FOR BOUNDARY CONDITION (SURFACE)
00115 !| CF             |-->| QUADRATIC FRICTION COEFFICIENT
00116 !| CFDEP          |-->| MUD DEPOSITION CONCENTRATION (G/L)
00117 !| CONC           |-->| MUD CONCENTRATION FOR EACH LAYER
00118 !| CREF           |<->| EQUILIBRIUM NEAR-BED CONCENTRATION
00119 !| DELTAR         |-->| DELTA RHO / RHO0 = (RHO-RHO0)/RHO0
00120 !| DENSI          |<->| WATER DENSITY
00121 !| DMOY           |-->| DIAMETRE MOYEN DES GRAINS
00122 !| DT             |-->| HYDRODYNAMICS TIME STEP
00123 !| EPAI           |<->| THICKNESS OF BOTTOM LAYERS IN
00124 !|                |   | MATERIAL COORDINATES (EPAI=DZ/(1+IVIDE))
00125 !| EPAICO         |-->| THICKNESS OF COHESIVE SUB-LAYER
00126 !| EPAINCO        |-->| THICKNESS OF NON-COHESIVE SUB-LAYER
00127 !| SETDEP         |-->| SETTLING SCHEME (0 or 1)
00128 !| FLUDPT         |<->| IMPLICIT DEPOSITION FLUX
00129 !| FLUDPTC        |<->| IMPLICIT DEPOSITION FLUX FOR COHESIVE SEDIMENT
00130 !| FLUDPTNC       |<->| IMPLICIT DEPOSITION FLUX FOR NON-COHESIVE SEDIMENT
00131 !| FLUER          |<->| EROSION FLUX FOR POINTS IN 2D
00132 !| FLUERC         |<->| EROSION FLUX FOR COHESIVE SEDIMENT IN 2D
00133 !| FLUERNC        |<->| EROSION FLUX FOR NON-COHESIVE SEDIMENT IN 2D
00134 !| GRADZFX        |-->| GRADIENT-X OF BOTTOM
00135 !| GRADZFY        |-->| GRADIENT-Y OF BOTTOM
00136 !| GRADZSX        |-->| GRADIENT-X OF SURFACE
00137 !| GRADZSY        |-->| GRADIENT-Y OF SURFACE
00138 !| GRAV           |-->| ACCELERATION OF GRAVITY
00139 !| HDEP           |<->| THICKNESS OF FRESH DEPOSIT (FLUID MUD LAYER)
00140 !| HMIN           |-->| THRESHOLD FOR EROSION FLUXES ON TIDAL FLATS
00141 !| HN             |-->| WATER DEPTH AT TIME N
00142 !| ICR            |-->| FLAG FOR THE SKIN FRICTION OPTION
00143 !| ICQ            |-->| FLAG FOR THE REFERENCE CONCENTRATION FORMULA
00144 !| ITRAC          |-->| INDEX OF THE ACTIVE TRACER
00145 !| ITURBV         |-->| VERTICAL TURBULENCE MODEL
00146 !| KLOG           |-->| CONVENTION FOR LOGARITHMIC WALL
00147 !| KSPRATIO       |-->| RELATION BETWEEN SKIN BED ROUGHNESS AND SEDIMENT DIAMETER
00148 !| LITABF         |<->| FOR BOUNDARY CONDITION BOTTOM
00149 !| LITABS         |<->| FOR BOUNDARY CONDITION SURFACE
00150 !| MIXTE          |-->| LOGICAL, MIXED SEDIMENTS OR NOT
00151 !| MPART          |-->| EROSION COEFFICIENT (PARTHENIADES'S LAW)
00152 !| NCOUCH         |-->| NUMBER OF LAYERS FOR THE COHESIVE MULTILAYER MODEL
00153 !| NPLAN          |-->| NUMBER OF PLANES IN THE 3D MESH OF PRISMS
00154 !| NPOIN2         |-->| NUMBER OF POINTS IN 2D
00155 !| NPOIN3         |-->| NUMBER OF POINTS IN 3D
00156 !| NTRAC          |-->| NUMBER OF TRACERS
00157 !| RHO0           |-->| WATER DENSITY (REFERENCE)
00158 !| RHOS           |-->| MASSE VOLUMIQUE DU SEDIMENT
00159 !| RUGOF          |-->| FRICTION COEFFICIENT
00160 !| SEDCO          |-->| LOGICAL, SEDIMENT COHESIVE OR NOT
00161 !| SEDNCO         |-->| LOGICAL, SEDIMENT NON-COHESIVE OR NOT
00162 !| TA             |-->| SEDIMENT CONCENTRATION
00163 !| TOB            |-->| BED SHEAR STRESS (TOTAL FRICTION)
00164 !| TOCD           |-->| CRITICAL DEPOSITION SHEAR STRESS
00165 !| TOCE           |-->| CRITICAL EROSION SHEAR STRESS
00166 !| TRA03          |<->| WORK STRUCTURE FOR USER
00167 !| UETCAR         |-->| SQUARE OF THE FRICTION VELOCITY
00168 !| WC             |-->| SETTLING VELOCITY OF MUD
00169 !| WCS            |-->| SETTLING VELOCITY OF SAND
00170 !| X              |-->| FIRST NODE COORDINATE
00171 !| Y              |-->| SECOND NODE COORDINATE
00172 !| Z              |-->| THIRD NODE COORDINATE
00173 !| ZREF           |-->| VERTICAL COORDINATE OF THE HARD BOTTOM
00174 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00175 !
00176       USE BIEF
00177       USE INTERFACE_TELEMAC3D, EX_CLSEDI => CLSEDI
00178       IMPLICIT NONE
00179       INTEGER LNG,LU
00180       COMMON/INFO/LNG,LU
00181 !
00182 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00183 !
00184       INTEGER, INTENT(IN) :: NPOIN2,NPOIN3,KLOG,ICQ, ITRAC, NTRAC
00185       INTEGER, INTENT(IN) :: NCOUCH,ITURBV,NPLAN,ICR
00186 !
00187       DOUBLE PRECISION, INTENT(INOUT) :: ATABOF(NPOIN2), BTABOF(NPOIN2)
00188       DOUBLE PRECISION, INTENT(INOUT) :: ATABOS(NPOIN2), BTABOS(NPOIN2)
00189 !
00190       DOUBLE PRECISION, INTENT(IN)  :: X(NPOIN3), Y(NPOIN3), Z(NPOIN3)
00191       DOUBLE PRECISION, INTENT(IN)  :: TA(NPOIN3),CFDEP
00192       DOUBLE PRECISION, INTENT(IN)  :: WC(NPOIN3), DELTAR(NPOIN3)
00193       DOUBLE PRECISION, INTENT(IN)  :: WCS(NPOIN3)
00194 !
00195       TYPE(BIEF_OBJ), INTENT(INOUT) :: TOB,CREF,ZREF,RUGOF
00196       TYPE(BIEF_OBJ), INTENT(IN)    :: DMOY,HN,CF
00197 !
00198       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
00199       DOUBLE PRECISION, INTENT(IN)    :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
00200       DOUBLE PRECISION, INTENT(IN)    :: CONC(NPOIN2,NCOUCH)
00201 !
00202       DOUBLE PRECISION, INTENT(INOUT) :: DENSI(NPOIN2)
00203       DOUBLE PRECISION, INTENT(INOUT) :: TRA03(NPOIN2),UETCAR(NPOIN2)
00204       DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2),FLUER(NPOIN2)
00205       DOUBLE PRECISION, INTENT(INOUT) :: FLUERC(NPOIN2), FLUERNC(NPOIN2)
00206       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPT(NPOIN2)
00207       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPTC(NPOIN2)
00208       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPTNC(NPOIN2)
00209 !
00210       DOUBLE PRECISION, INTENT(IN) :: GRADZFX(NPOIN2),GRADZFY(NPOIN2)
00211       DOUBLE PRECISION, INTENT(IN) :: GRADZSX(NPOIN2),GRADZSY(NPOIN2)
00212 !
00213       DOUBLE PRECISION, INTENT(IN) :: DT, RHO0, RHOS, HMIN
00214       DOUBLE PRECISION, INTENT(IN) :: TOCD, GRAV
00215       DOUBLE PRECISION, INTENT(IN) :: MPART, TOCE(NPOIN2,NCOUCH)
00216 !
00217       INTEGER, INTENT(INOUT)       :: LITABF(NPOIN2), LITABS(NPOIN2)
00218       LOGICAL, INTENT(IN)          :: SEDCO, MIXTE, SEDNCO
00219       INTEGER, INTENT(IN)          :: SETDEP
00220       DOUBLE PRECISION, INTENT(IN) :: AC, KSPRATIO
00221 !
00222 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00223 !
00224       DOUBLE PRECISION KSP,A,ZERO,HCLIP,MU
00225       INTEGER IPOIN
00226 !
00227 !-----------------------------------------------------------------------
00228 !
00229       ZERO = 1.D-6
00230 !
00231       IF (MIXTE) THEN
00232         DO IPOIN=1,NPOIN2
00233           FLUERC(IPOIN) = 0.D0
00234           FLUERNC(IPOIN)= 0.D0
00235         ENDDO
00236       ENDIF
00237 !
00238       DO IPOIN=1,NPOIN2
00239 !       COMPUTES THE FLUID DENSITY
00240         DENSI(IPOIN) = (DELTAR(IPOIN)+1.D0)*RHO0
00241 !       COMPUTES THE STRESS AT THE BOTTOM
00242         TOB%R(IPOIN) = DENSI(IPOIN)*UETCAR(IPOIN)
00243       ENDDO
00244 !
00245       IF(ICR.EQ.1) THEN
00246 !
00247         DO IPOIN=1,NPOIN2
00248 !         CORRECTION FOR SKIN FRICTION (SEE TOB_SISYPHE)
00249           KSP=KSPRATIO *DMOY%R(IPOIN)
00250           IF(CF%R(IPOIN).GT.ZERO.AND.HN%R(IPOIN).GT.KSP) THEN
00251             HCLIP=MAX(HN%R(IPOIN),KSP)
00252             A = 2.5D0*LOG(12.D0*HCLIP/KSP)
00253             MU =2.D0/(A**2*CF%R(IPOIN))
00254           ELSE
00255             MU=0.D0
00256           ENDIF
00257           TOB%R(IPOIN) = MU* TOB%R(IPOIN)
00258         ENDDO
00259 !
00260       ENDIF
00261 !
00262 !      -----COMPUTES THE EXPLICIT EROSION FLUX-----
00263 !
00264       IF(SEDCO) THEN
00265 !
00266         CALL ERODC(CONC,EPAI,FLUER,TOB%R,DENSI,
00267      &             MPART,DT,NPOIN2,NCOUCH,TOCE,
00268      &             HN%R,HMIN,MIXTE,EPAICO)
00269 !
00270       ELSEIF(SEDNCO) THEN
00271 !
00272         CALL ERODNC(CFDEP,WC,HDEP,FLUER,TOB,DT,
00273      &              NPOIN2,NPOIN3,KSPRATIO,AC,RHOS,RHO0,HN,
00274      &              GRAV,DMOY,CREF,ZREF,CF,ICQ,RUGOF,Z,UETCAR,
00275      &              SETDEP,EPAINCO,MIXTE)
00276 !
00277       ELSEIF(MIXTE) THEN
00278 !
00279         CALL ERODC(CONC,EPAI,FLUERC,TOB%R,DENSI,
00280      &             MPART,DT,NPOIN2,NCOUCH,TOCE,
00281      &             HN%R,HMIN,MIXTE,EPAICO)
00282 !
00283         CALL ERODNC(CFDEP,WCS,HDEP,FLUERNC,TOB,DT,
00284      &              NPOIN2,NPOIN3,KSPRATIO,AC,RHOS,RHO0,HN,
00285      &              GRAV,DMOY,CREF,ZREF,CF,ICQ,RUGOF,Z,UETCAR,
00286      &              SETDEP,EPAINCO,MIXTE)
00287 !
00288         DO IPOIN=1,NPOIN2
00289           FLUER(IPOIN) = FLUERNC(IPOIN) + FLUERC(IPOIN)
00290         ENDDO
00291 !
00292       ENDIF
00293 
00294 !      -----WRITES THE BOUNDARY CONDITIONS AT THE BOTTOM / SURFACE-----
00295 !      -----                FOR THE SEDIMENT                      -----
00296 !
00297       CALL FLUSED(ATABOF , BTABOF , ATABOS , BTABOS  ,
00298      &            LITABF , LITABS , TA     , WC      ,
00299      &            X      , Y      , Z      , HN%R    ,
00300      &            GRADZFX, GRADZFY, GRADZSX, GRADZSY ,
00301      &            TOB%R  , FLUDPT , FLUER  , TOCD    ,
00302      &            NPOIN3 , NPOIN2 , NPLAN  , KLOG    ,
00303      &            HMIN   , SEDCO  , SETDEP , SEDNCO  ,
00304      &            WCS    , MIXTE  , FLUDPTC, FLUDPTNC)
00305 !
00306 !-----------------------------------------------------------------------
00307 !
00308 
00309 
00310       IF(MIXTE.AND.ITRAC.EQ.NTRAC)THEN
00311         DO IPOIN=1,NPOIN2
00312           ATABOF(IPOIN) = -FLUDPTC(IPOIN)
00313           BTABOF(IPOIN) =  FLUERC(IPOIN)
00314         ENDDO
00315       ELSEIF(MIXTE.AND.(ITRAC.EQ.NTRAC-1))THEN
00316         DO IPOIN=1,NPOIN2
00317           ATABOF(IPOIN) = -FLUDPTNC(IPOIN)
00318           BTABOF(IPOIN) =  FLUERNC(IPOIN)
00319         ENDDO
00320       ENDIF
00321 
00322 
00323       RETURN
00324       END

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