condis.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac3d\condis.f
00002 !
00079                      SUBROUTINE CONDIS
00080 !                    *****************
00081 !
00082 
00083      &(IVIDE   , EPAI  , TREST , CONC  , TEMP      , HDEP      ,
00084      & ZR      , ZF    , X     , Y     , NPOIN2    , NPOIN3    ,
00085      & NPF     , NCOUCH, TASSE , ITASS , RHOS      , XKV       ,
00086      & CFDEP   , ESOMT , TOCE  , SEDCO , CONC_LAYER, TOCE_LAYER,
00087      & ES_LAYER, SEDNCO, MIXTE , EPAICO, EPAINCO   , PVSCO     ,
00088      & PVSNCO  , PVSNCO0)
00089 !
00090 !***********************************************************************
00091 ! TELEMAC3D   V7P0                                   21/08/2010
00092 !***********************************************************************
00093 !
00094 !
00095 !
00096 !
00097 !
00098 !
00099 !
00100 !
00101 !
00102 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00103 !| CONC           |<--| CONCENTRATION OF MUD BED LAYER
00104 !| CONC_LAYER     |-->| INPUT CONCENTRATION OF MUD BED LAYER
00105 !|                |   | (MULTILAYER MODEL)
00106 !| CFDEP          |<->| CONCENTRATION OF SAND LAYER
00107 !| EPAI           |<--| THICKNESS OF SOLID FRACTION oF THE BED LAYER
00108 !|                |   | (EPAI=DZ/(1+IVIDE), DZ BED LAYER THICKNESS)
00109 !| EPAICO         |<->| THICKNESS OF COHESIVE SUB-LAYER
00110 !| EPAINCO        |<->| THICKNESS OF NON-COHESIVE SUB-LAYER
00111 !| ES_LAYER       |-->| INPUT BED LAYER THICKNESS
00112 !| ESOMT          |<--| CUMULATED BED EVOLUTION
00113 !| HDEP           |<--| THICKNESS OF FRESH DEPOSIT(FLUID MUD LAYER)
00114 !| ITASS          |-->| INDEX OF MODEL CHOICE
00115 !| IVIDE          |<--| VOID RATIO
00116 !|                |   | (GIBSON MODEL ONLY)
00117 !| MIXTE          |-->| LOGICAL, MIXED SEDIMENTS OR NOT
00118 !| NCOUCH         |-->| NUMBER OF LAYERS WITHIN THE BED
00119 !|                |   | (GIBSON MODEL)
00120 !| NPF            |<--| NUMBER OF POINTS WITHIN THE BED ALONG THE VERTICAL
00121 !| NPOIN2         |-->| NUMBER OF POINTS IN 2D
00122 !| NPOIN3         |-->| NUMBER OF POINTS IN 3D
00123 !| PVSCO          |<->| VOLUMIC PERCENTAGE OF COHESIVE SEDIMENT
00124 !| PVSNCO         |<->| VOLUMIC PERCENTAGE OF NON-COHESIVE SEDIMENT
00125 !| PVSNCO0        |-->| INITIAL VOLUMIC PERCENTAGE OF NON-COHESIVE SEDIMENT
00126 !| RHOS           |-->| DENSITY OF SEDIMENT
00127 !| SEDCO          |-->| COHESIVE SEDIMENT (LOGICAL)
00128 !| SEDNCO         |-->| LOGICAL, SEDIMENT NON-COHESIVE OR NOT
00129 !| TASSE          |-->| MULTILAYER SETTLING MODEL
00130 !| TEMP           |<--| TIME COUNTER FOR CONSOLIDATION MODEL
00131 !|                |   | (MULTILAYER MODEL)
00132 !| TOCE           |<--| BED SHEAR STRESS OF MUD BED LAYER
00133 !| TOCE_LAYER     |-->| INPUT BED SHEAR STRESS
00134 !| TREST          |<->| CONSOLIDATION TIME SCALE
00135 !|                |   | (ONLY FOR MULTILAYER MODEL)
00136 !| X              |-->| FIRST COORDINATE OF 2D MESH
00137 !| XKV            |-->| NON COHESIVE BED POROSITY
00138 !| Y              |-->| SECOND COORDINATE OF 2D MESH
00139 !| ZF             |-->| BOTTOM ELEVATION
00140 !| ZR             |<--| ELEVATION OF RIDIG BED
00141 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00142 !
00143       USE BIEF
00144       USE DECLARATIONS_TELEMAC3D, ONLY : H,Z,NPLAN, DMOY, DEBUG
00145       USE INTERFACE_TELEMAC3D, EX_CONDIS => CONDIS
00146       IMPLICIT NONE
00147 !
00148       INTEGER LNG,LU
00149       COMMON/INFO/LNG,LU
00150 !
00151 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00152 !
00153       INTEGER, INTENT(IN)             :: NPOIN2,NPOIN3,NCOUCH
00154       DOUBLE PRECISION, INTENT(OUT)   :: IVIDE(NPOIN2,NCOUCH+1), CFDEP
00155 !
00156       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
00157       DOUBLE PRECISION, INTENT(INOUT) :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
00158       DOUBLE PRECISION, INTENT(INOUT) :: PVSCO(NPOIN2), PVSNCO(NPOIN2)
00159       DOUBLE PRECISION, INTENT(INOUT) :: CONC(NPOIN2,NCOUCH)
00160 !
00161       DOUBLE PRECISION, INTENT(OUT)   :: TEMP(NCOUCH,NPOIN2)
00162 !
00163       DOUBLE PRECISION, INTENT(OUT)   :: HDEP(NPOIN2)
00164       DOUBLE PRECISION, INTENT(OUT)   :: ZR(NPOIN2)
00165       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN2)
00166       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2)
00167       DOUBLE PRECISION, INTENT(INOUT) :: TREST(NCOUCH)
00168       DOUBLE PRECISION, INTENT(INOUT) :: TOCE(NPOIN2,NCOUCH)
00169       DOUBLE PRECISION, INTENT(IN)    :: CONC_LAYER(NCOUCH)
00170       DOUBLE PRECISION, INTENT(IN)    :: ES_LAYER(NCOUCH)
00171       DOUBLE PRECISION, INTENT(IN)    :: TOCE_LAYER(NCOUCH)
00172       INTEGER, INTENT(OUT)            :: NPF(NPOIN2)
00173       TYPE(BIEF_OBJ), INTENT (INOUT)  :: ESOMT
00174       LOGICAL, INTENT(IN)             :: TASSE
00175       LOGICAL, INTENT(IN)             :: SEDCO, SEDNCO, MIXTE
00176       INTEGER, INTENT(IN)             :: ITASS
00177       DOUBLE PRECISION, INTENT(IN)    :: RHOS,XKV, PVSNCO0
00178 !
00179 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00180 !
00181       DOUBLE PRECISION ECOUCH,PVSCO0
00182       INTEGER IPOIN,IC,IPF
00183 !      LAST METHOD TO DEFINE HARD BOTTOM
00184 !      INTEGER CHOIX,NLISS
00185 !      DOUBLE PRECISION, POINTER :: ZS(:)!
00186 !      A POINTER TO THE FREE SURFACE IN Z.
00187 !      ZS => Z(1+(NPLAN-1)*NPOIN2:NPLAN*NPOIN2)
00188 !
00189 !-----------------------------------------------------------------------
00190 !
00191 !     INITIALISES BED EVOLUTION ESOMT -----
00192 !
00193       CALL OS('X=0     ',X=ESOMT)
00194 !
00195 !     --------------------------------------------------------
00196 !     INITIAL CONDITIONS FOR THE MULTILAYER COHESIVE BED MODEL
00197 !     --------------------------------------------------------
00198 !
00199       IF(SEDCO) THEN
00200 !
00201 !       COHESIVE SEDIMENT
00202 !
00203         DO IPOIN=1,NPOIN2
00204           HDEP(IPOIN) = 0.D0
00205           DO IC=1, NCOUCH
00206             CONC(IPOIN,IC) = CONC_LAYER(IC)
00207             TOCE(IPOIN,IC) = TOCE_LAYER(IC)
00208             EPAI(IPOIN,IC) = ES_LAYER(IC)
00209             HDEP(IPOIN)    = HDEP(IPOIN) + EPAI(IPOIN,IC)
00210           ENDDO
00211         ENDDO
00212 !
00213 !       INITIALISES ZR TO ZF-HDEP
00214         CALL OV('X=Y-Z   ' ,ZR,ZF,HDEP,0.D0,NPOIN2)
00215 !
00216       ENDIF
00217 
00218 
00219       IF(SEDNCO) THEN
00220 !       LAST METHOD TO DEFINE HARD BOTTOM
00221 !       NON ERODABLE BED: CALLING NOEROD OF SISYPHE
00222 !       ZS, CHOIX AND NLISS ARE NOT USED IN DEFAULT NOEROD
00223 !       NOEROD IS IN LIBRARY SISYPHE
00224 !       CALL NOEROD(H%R,ZF,ZR,ZS,X,Y,NPOIN2,CHOIX,NLISS)
00225 !
00226 !       INITIALISES HDEP=ZF-ZR (NOT USED BY THE MULTILAYER MODEL)
00227 !
00228 !       CALL OV('X=Y-Z   ',HDEP,ZF,ZR,0.D0,NPOIN2)
00229 !
00230 !       ONLY ONE LAYER
00231         CFDEP = (1.D0-XKV)*RHOS
00232         DO IPOIN = 1,NPOIN2
00233           CONC(IPOIN,1) = CFDEP
00234           EPAI(IPOIN,1) = ES_LAYER(1)
00235           HDEP(IPOIN)   = EPAI(IPOIN,1)
00236         ENDDO
00237 !       INITIALISES ZR TO ZF-HDEP
00238         CALL OV('X=Y-Z   ' ,ZR,ZF,HDEP,0.D0,NPOIN2)
00239       ENDIF
00240 
00241       IF(MIXTE) THEN
00242 !
00243       CFDEP= (1.D0-XKV)*RHOS
00244       PVSCO0 = 1.D0-PVSNCO0
00245 !
00246         DO IPOIN=1,NPOIN2
00247           CONC(IPOIN,1)  = CONC_LAYER(1)
00248           TOCE(IPOIN,1)  = TOCE_LAYER(1)
00249           PVSCO(IPOIN)   = PVSCO0
00250           PVSNCO(IPOIN)  = PVSNCO0
00251           EPAICO(IPOIN)  = PVSCO0 * ES_LAYER(1)
00252           EPAINCO(IPOIN) = PVSNCO0 * ES_LAYER(1)
00253           EPAI(IPOIN,1)  = ES_LAYER(1)
00254           HDEP(IPOIN)    = EPAI(IPOIN,1)
00255         ENDDO
00256 !
00257 !       INITIALISES ZR TO ZF-HDEP
00258         CALL OV('X=Y-Z   ' ,ZR,ZF,HDEP,0.D0,NPOIN2)
00259 !
00260       ENDIF
00261 !
00262 !
00263 !     ------------------------------------------
00264 !     INITIAL CONDITIONS FOR CONSOLIDATION MODEL
00265 !     ------------------------------------------
00266 !
00267       IF(TASSE) THEN
00268 !
00269         IF(ITASS.EQ.1) THEN
00270 !
00271 !         SIMPLE MULTI-LAYER MODEL
00272 !
00273 !         CHANGES HOURS INTO SECONDS  -----
00274           CALL OV( 'X=CX    ',TREST,TREST,TREST,3600.D0,NCOUCH)
00275 !         INITIALISES TEMP
00276           CALL OV( 'X=C     ',TEMP,TEMP,TEMP,0.D0,NPOIN2*NCOUCH)
00277 !
00278         ELSEIF(ITASS.EQ.2) THEN
00279 !
00280 !         GIBSON MODEL
00281 !
00282           DO IPOIN=1,NPOIN2
00283             NPF(IPOIN) =NCOUCH
00284             DO IPF= 1, NCOUCH
00285               ECOUCH=(RHOS-CONC(IPOIN,IPF))/CONC(IPOIN,IPF)
00286               IF(IPF.EQ.1) THEN
00287                 IVIDE(IPOIN,IPF)=ECOUCH
00288               ELSE
00289                 IVIDE(IPOIN,IPF)= 2.D0*ECOUCH-IVIDE(IPOIN,IPF-1)
00290               ENDIF
00291             ENDDO
00292             IVIDE(IPOIN,NCOUCH+1)= 2.D0*ECOUCH-IVIDE(IPOIN,NCOUCH)
00293           ENDDO
00294 !
00295         ELSE
00296 !
00297           IF(LNG.EQ.1) THEN
00298             WRITE(LU,*) 'CONDIS : MODELE DE TASSEMENT INCONNU : ',ITASS
00299           ENDIF
00300           IF(LNG.EQ.2) THEN
00301             WRITE(LU,*) 'CONDIS: UNKNOWN SETTLING MODEL: ',ITASS
00302           ENDIF
00303           CALL PLANTE(1)
00304           STOP
00305 !
00306         ENDIF
00307 !
00308       ENDIF
00309 !
00310 !-----------------------------------------------------------------------
00311 !
00312       RETURN
00313       END

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