bedload_bailard.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\bedload_bailard.f
00002 !
00069                      SUBROUTINE BEDLOAD_BAILARD !
00070 !                    ****************************
00071 !
00072      &(U2D,V2D,UCMOY,TOB,TOBW,THETAW,UW,FW,CF,NPOIN,PI,
00073      & XMVE,GRAV,DENS,XWC,ALPHAW,QSCX,QSCY,QSSX,QSSY,
00074      & UC3X,UC3Y,US4X,US4Y,THETAC,FCW,QSC,QSS,HOULE)
00075 !
00076 !***********************************************************************
00077 ! SISYPHE   V6P1                                   21/07/2011
00078 !***********************************************************************
00079 !
00080 !
00081 !
00082 !
00083 !
00084 !
00085 !
00086 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00087 !| ALPHAW         |<->| ANGLE OF WAVES WITH OX
00088 !| CF             |-->| QUADRATIC FRICTION COEFFICIENT
00089 !| DENS           |-->| RELATIVE SENSITY OF SEDIMENT
00090 !| FCW            |---| WAVE-CURRENT FRICTION ANGLE
00091 !| FW             |-->| WAVE FRICTION FACTOR
00092 !| GRAV           |-->| ACCELERATION OF GRAVITY
00093 !| HOULE          |-->| LOGICAL, FOR WAVE EFFECTS
00094 !| NPOIN          |-->| NUMBER OF POINTS
00095 !| PI             |-->| PI
00096 !| QSC            |<->| BEDLOAD TRANSPORT RATE
00097 !| QSCX           |<->| BEDLOAD TRANSPORT RATE IN THE X-DIRECTION
00098 !| QSCY           |<->| BEDLOAD TRANSPORT RATE IN THE Y-DIRECTION
00099 !| QSS            |<->| SUSPENDED LOAD TRANSPORT RATE
00100 !| QSSX           |<->| SUSPENDED LOAD TRANSPORT RATE IN THE X-DIRECTION
00101 !| QSSY           |<->| SUSPENDED LOAD TRANSPORT RATE IN THE Y-DIRECTION
00102 !| THETAC         |<->| CURRENT ANGLE TO THE X DIRECTION
00103 !| THETAW         |-->| ANGLE BETWEEN WAVE AND CURRENT
00104 !| TOB            |<->| BED SHEAR STRESS (TOTAL FRICTION)
00105 !| TOBW           |-->| WAVE INDUCED SHEAR STRESS
00106 !| U2D            |<->| MEAN FLOW VELOCITY X-DIRECTION
00107 !| UC3X           |<->| WORK ARRAY
00108 !| UC3Y           |<->| WORK ARRAY
00109 !| UCMOY          |-->| MEAN CURRENT
00110 !| US4X           |<->| WORK ARRAY
00111 !| US4Y           |<->| WORK ARRAY
00112 !| UW             |-->| ORBITAL WAVE VELOCITY
00113 !| V2D            |<->| MEAN FLOW VELOCITY Y-DIRECTION
00114 !| XMVE           |-->| FLUID DENSITY
00115 !| XWC            |-->| SETTLING VELOCITY
00116 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00117 !
00118       USE INTERFACE_SISYPHE,EX_BEDLOAD_BAILARD => BEDLOAD_BAILARD
00119       USE BIEF
00120       IMPLICIT NONE
00121       INTEGER LNG,LU
00122       COMMON/INFO/LNG,LU
00123 !
00124 ! 2/ GLOBAL VARIABLES
00125 !
00126       TYPE(BIEF_OBJ),   INTENT(IN)    :: U2D,V2D,UCMOY, TOB
00127       TYPE(BIEF_OBJ),   INTENT(IN)    :: TOBW, THETAW, UW, FW, CF
00128       INTEGER,          INTENT(IN)    :: NPOIN
00129       LOGICAL,          INTENT(IN)    :: HOULE
00130       DOUBLE PRECISION, INTENT(IN)    :: PI, XMVE, GRAV, DENS, XWC
00131       TYPE(BIEF_OBJ),   INTENT(INOUT) :: ALPHAW        ! WORK ARRAY T1
00132       TYPE(BIEF_OBJ),   INTENT(INOUT) :: QSCX, QSCY    ! WORK ARRAY T2 AND T3
00133       TYPE(BIEF_OBJ),   INTENT(INOUT) :: QSSX, QSSY    ! WORK ARRAY T4 AND T5
00134       TYPE(BIEF_OBJ),   INTENT(INOUT) :: UC3X, UC3Y    ! WORK ARRAY T6 AND T7
00135       TYPE(BIEF_OBJ),   INTENT(INOUT) :: US4X, US4Y    ! WORK ARRAY T8 AND T9
00136       TYPE(BIEF_OBJ),   INTENT(INOUT) :: THETAC, FCW   ! WORK ARRAY T10 AND T11
00137       TYPE(BIEF_OBJ),   INTENT(INOUT) :: QSC, QSS
00138 !
00139 ! 3/ LOCAL VARIABLES
00140 !
00141       INTEGER                     :: I
00142       DOUBLE PRECISION            :: C3, C4, PHI
00143       DOUBLE PRECISION, PARAMETER :: EPSC = 0.21D0   ! BEDLOAD
00144       DOUBLE PRECISION, PARAMETER :: EPSS = 0.025D0  ! SUSPENSION
00145       DOUBLE PRECISION            :: U3X, U3Y, NUM
00146 !
00147 !======================================================================!
00148 !======================================================================!
00149 !                               PROGRAM                                !
00150 !======================================================================!
00151 !======================================================================!
00152 !
00153 !     CASE WITH WAVES
00154 !
00155       IF(HOULE) THEN
00156 !
00157 !     ANGLE OF VELOCITY WITH OX (IN RADIANS)
00158 !
00159       CALL BEDLOAD_DIRECTION(U2D,V2D,NPOIN,PI,THETAC)
00160 !
00161 !     ANGLE OF WAVES WITH OX (IN RADIANS)
00162 !
00163       CALL OS('X=CY    ', X=ALPHAW, Y=THETAW, C=-PI/180.D0)
00164       CALL OS('X=X+C   ', X=ALPHAW, C=0.5D0*PI)
00165       CALL OS('X=Y-Z   ', X=ALPHAW, Y=ALPHAW, Z=THETAC)
00166 !
00167 !     PARAMETERS  ,
00168 !
00169 !
00170 !     US4X AND US4Y ARE WORK ARRAYS, THEIR STRUCTURE IS GIVEN HERE
00171 !     THE STRUCTURE OF THETAC (CATHERINE DON'T REMOVE THIS PLEASE)
00172       CALL CPSTVC(THETAC,US4X)
00173       CALL CPSTVC(THETAC,US4Y)
00174 !
00175       DO I = 1, NPOIN
00176         ! ********************* !
00177         ! I - CURRENT REFERENCE SYSTEM !
00178         ! ********************* !
00179         U3X = UCMOY%R(I)**3
00180      &      + UCMOY%R(I)*UW%R(I)**2 * (1 + COS(2.D0*ALPHAW%R(I))/ 2.D0)
00181         U3Y = UCMOY%R(I)*UW%R(I)**2 * SIN(2.D0*ALPHAW%R(I)) / 2.D0
00182         ! ********************************************** !
00183         ! II - 3RD ORDER MOMENTUM (LINEAR WAVE THEORY)   !
00184         ! ********************************************** !
00185         UC3X%R(I) = U3X * COS(THETAC%R(I)) - U3Y * SIN(THETAC%R(I))
00186         UC3Y%R(I) = U3X * SIN(THETAC%R(I)) + U3Y * COS(THETAC%R(I))
00187         ! ************************************************************ !
00188         ! III -  4TH ORDER MOMENTUM (COLINEAR WAVES AND CURRENTS)      !
00189         ! ************************************************************ !
00190         NUM = ( 8.D0*UCMOY%R(I)**4 + 3.D0*UW%R(I)**4
00191      &          + 24.D0*(UCMOY%R(I)**2)*(UW%R(I)**2) )*0.125D0
00192         US4X%R(I) = NUM * COS(THETAC%R(I))
00193         US4Y%R(I) = NUM * SIN(THETAC%R(I))
00194       ENDDO
00195       ! *********************************************** !
00196       ! IV -  FRICTION COEFFICIENT WAVE + CURRENT       !
00197       ! *********************************************** !
00198       CALL BEDLOAD_INTERACT
00199      &     (UCMOY,TOBW,TOB,ALPHAW,FW,CF,UW,NPOIN,XMVE,FCW)
00200       ! ******************************** !
00201       ! V - TRANSPORT RATES              !
00202       ! ******************************** !
00203       PHI = PI   / 6.D0  ! FRICTION ANGLE
00204       C3  = EPSC / (GRAV*DENS*TAN(PHI))
00205       C4  = EPSS / (GRAV*DENS*XWC)
00206       CALL OS('X=CYZ   ', X=QSCX, Y=FCW,  Z=UC3X, C=C3)
00207       CALL OS('X=CYZ   ', X=QSCY, Y=FCW,  Z=UC3Y, C=C3)
00208       CALL OS('X=CYZ   ', X=QSSX, Y=FCW,  Z=US4X, C=C4)
00209       CALL OS('X=CYZ   ', X=QSSY, Y=FCW,  Z=US4Y, C=C4)
00210 !
00211 !     CASE WITHOUT WAVES
00212 !
00213       ELSE
00214 !
00215         WRITE(LU,*) 'BAILARD WITHOUT WAVES NOT PROGRAMMED'
00216         CALL PLANTE(1)
00217         STOP
00218 !
00219       ENDIF
00220 !
00221 !     NORMS
00222 !
00223       CALL OS('X=N(Y,Z)', X=QSC,  Y=QSCX, Z=QSCY)
00224       CALL OS('X=N(Y,Z)', X=QSS,  Y=QSSX, Z=QSSY)
00225 !======================================================================!
00226 !======================================================================!
00227       RETURN
00228       END

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