ks_sisyphe.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\ks_sisyphe.f
00002 !
00048                     SUBROUTINE KS_SISYPHE
00049 !                   *********************
00050 !
00051      &(IKS,KS,KSP,KSR,KSPRATIO,HOULE,GRAV,XMVE,XMVS,VCE,
00052      & HMIN,HN,ACLADM,UNORM,UW,TW,NPOIN)
00053 !
00054 !***********************************************************************
00055 ! SISYPHE   V6P1                                   21/07/2011
00056 !***********************************************************************
00057 !
00058 !
00059 
00060 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00061 !| IKS            |-->| FLAG, CHOICE OF BED ROUGHNESS PREDICTOR
00062 !| KS             |<->| TOTAL BED ROUGHNESS
00063 !| KSP            |<->| SKIN  BED ROUGHNESS
00064 !| KSR            |<->| RIPPLE BED ROUGHNESS
00065 !| KSPRATIO       |-->| RATIO BETWEEN SKIN BED ROUGHNESS AND GRAIN DIAMETER
00066 !| HOULE          |-->| LOGICAL, WAVE EFFECT OR NOT
00067 !| GRAV           |-->| ACCELERATION OF GRAVITY
00068 !| XMVE           |-->| FLUID DENSITY
00069 !| XMVS           |-->| SEDIMENT DENSITY
00070 !| VCE            |-->| WATER VISCOSITY
00071 !| HMIN           |-->| MINIMUM WATER DEPTH
00072 !| HN             |-->| WATER DEPTH
00073 !| ACLADM         |-->| MEAN GRAIN SIZE
00074 !| UNORM          |-->| NORM OF THE MEAN FLOW VELOCITY
00075 !| UW             |-->| ORBITAL WAVE VELOCITY
00076 !| TW             |-->| WAVE PERIOD
00077 !| NPOIN          |-->| NUMBER OF POINTS
00078 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00079 !
00080 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00081 !
00082       USE BIEF
00083       IMPLICIT NONE
00084 !
00085       INTEGER LNG,LU
00086       COMMON/INFO/LNG,LU
00087 !
00088 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00089 !
00090       INTEGER,            INTENT(IN)  :: NPOIN,IKS
00091       LOGICAL,            INTENT(IN)  :: HOULE
00092       DOUBLE PRECISION,   INTENT(IN)  :: XMVE,XMVS, VCE,GRAV
00093       DOUBLE PRECISION,   INTENT(IN)  :: HMIN,KSPRATIO
00094       TYPE(BIEF_OBJ), INTENT(IN)      :: HN,UNORM
00095       TYPE(BIEF_OBJ), INTENT(IN)      :: TW,UW
00096       TYPE(BIEF_OBJ), INTENT(INOUT)   :: KS,KSP,KSR
00097       TYPE(BIEF_OBJ), INTENT(IN)      :: ACLADM
00098 !
00099 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00100 !
00101 !
00102 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00103 !  BED ROUGHNESS PREDICTOR
00104 !  SKIN   : KSP
00105 !  TOTAL  : KS
00106 !  RIPPLES : KSR
00107 !  KS PUT IN CHESTR IF NO COUPLING, RE-COMPUTED OTHERWISE
00108 !
00109 !  NOTE: IT IS RECOMMENDED TO USE FRICTION LAW NO 3 WHEN COUPLING TO
00110 !        AVOID UNNECESSARY COMPUTATION
00111 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00112 !
00113 ! SKIN BED ROUGHNESS --> KSP
00114 !
00115 ! RIPPLED BED ROUGHNESS --> KSR =KSP
00116 !
00117 !
00118 ! TOTAL BED ROUGHNESS --> KS
00119 !       IKS= 0: FLAT BED     KS=KSP
00120 !       IKS = 1: RIPPLED BED KS= KSP + KSR
00121 !       IKS=3 :  DUNED BED   KS= KSP +KSR +KSMR +KSD
00122 !
00123       IF(IKS.EQ.0) THEN
00124 !
00125         CALL OS('X=Y     ', X=KS, Y=KSP)
00126 !
00127       ELSEIF(IKS.EQ.1) THEN
00128 !
00129         IF(HOULE) THEN
00130 !         WIBERG AND HARRIS: KSR (RIPPLES)
00131 !                    KS (RIPPLES + SKIN)
00132           CALL RIDE(KSR%R, TW%R, UW%R, UNORM%R, GRAV, XMVE,
00133      &              XMVS, VCE, NPOIN, KSPRATIO, ACLADM%R)
00134           CALL OS('X=Y+Z   ', X=KS, Y=KSP, Z=KSR)
00135         ELSE
00136 !         VR PREDICTOR : KSR (RIPPLES)
00137           CALL RIDE_VR(KSR%R,KS%R,UNORM%R,HN%R,GRAV,XMVE,
00138      &                 XMVS,NPOIN,ACLADM%R)
00139           CALL OS('X=Y+Z   ', X=KS, Y=KSP, Z=KSR)
00140         ENDIF
00141 !
00142       ELSEIF(IKS.EQ.3) THEN
00143 !
00144 !       VR PREDICTOR : KSR (RIPPLES)
00145 !
00146         CALL RIDE_VR(KSR%R,KS%R,UNORM%R,HN%R,GRAV,XMVE,
00147      &               XMVS,NPOIN,ACLADM%R)
00148         CALL OS('X=X+Y   ', X=KS, Y=KSP)
00149 !
00150       ELSE
00151 !
00152         IF(LNG.EQ.1) WRITE(LU,200) IKS
00153         IF(LNG.EQ.2) WRITE(LU,201) IKS
00154 200     FORMAT(1X,'KS_SISYPHE :',/,1X,
00155      &            'OPTION DU PREDICTEUR DE RUGOSITE',/,1X,
00156      &            'VALEUR NON PREVUE : ',1I6)
00157 201     FORMAT(1X,'KS_SISYPHE:',/,1X,
00158      &            'BED ROUGHNESS PREDICTOR OPTION',/,1X,
00159      &            'UNEXPECTED VALUE:',1I6)
00160         CALL PLANTE(1)
00161         STOP
00162 !
00163       ENDIF
00164 !
00165 !-----------------------------------------------------------------------
00166 !
00167       RETURN
00168       END

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