coefro_sisyphe.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\coefro_sisyphe.f
00002 !
00056                      SUBROUTINE COEFRO_SISYPHE
00057 !                    *************************
00058 !
00059      &(CF,H,KFROT,CHESTR,GRAV,NPOIN,HMIN,KARMAN)
00060 !
00061 !***********************************************************************
00062 ! SISYPHE   V6P1                                   21/07/2011
00063 !***********************************************************************
00064 !
00065 !
00066 !
00067 !
00068 !
00069 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00070 !| CF             |<->| FRICTION COEFFICIENT
00071 !| CHESTR         |-->| FRICTION COEFFICIENTS (BED)
00072 !| GRAV           |-->| ACCELERATION OF GRAVITY
00073 !| HMIN           |-->| MINIMUM VALUE OF WATER DEPTH
00074 !| HN             |-->| WATER DEPTH
00075 !| KARMAN         |-->| VON KARMAN CONSTANT
00076 !| KFROT          |-->| FRICTION LAW (BED)
00077 !| NPOIN          |-->| NUMBER OF POINTS
00078 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00079 !
00080       USE BIEF
00081 !
00082       IMPLICIT NONE
00083       INTEGER LNG,LU
00084       COMMON/INFO/LNG,LU
00085 !
00086 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00087 !
00088       INTEGER, INTENT(IN):: NPOIN,KFROT
00089       DOUBLE PRECISION,INTENT(IN):: GRAV,KARMAN,HMIN
00090 !
00091       TYPE(BIEF_OBJ), INTENT(INOUT) :: CF
00092       TYPE(BIEF_OBJ),INTENT(IN) :: CHESTR,H
00093 !
00094 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00095 !
00096       INTEGER N
00097       DOUBLE PRECISION HC, AUX, TIERS,ZERO
00098       INTRINSIC MAX,LOG
00099 !
00100 !-----------------------------------------------------------------------
00101 !
00102       TIERS  = 1.D0/3.D0
00103       ZERO = 1.D-6
00104 !
00105 !  CONSTRUCTION OF THE FRICTION COEFFICIENT
00106 !
00107 !     FRICTION LAWS:
00108 !
00109 !     KFROT = 0 :  FLAT BOTTOM  (KS=3D50)
00110 !     KFROT = 1 :  EQUILIBRIUM SAND RIPPLES (WAVES ONLY) KS=(MAX 3D50,ETA)
00111 !     KFROT = 2 :  CHEZY
00112 !     KFROT = 3 :  STRICKLER
00113 !     KFROT = 4 :  MANNING
00114 !     KFROT = 5 :  NIKURADSE
00115 !
00116       DO N=1,NPOIN
00117         IF(CHESTR%R(N).LE.0.D0) THEN
00118           WRITE(LU,*) 'FROTTEMENT NON DEFINI DANS COEFRO AU POINT ',N
00119           CALL PLANTE(1)
00120           STOP
00121         ENDIF
00122       ENDDO
00123 !
00124 !     ***********************
00125       IF(KFROT.EQ.5) THEN
00126 !    ***********************
00127 !          AUX=30.D0/EXP(1.D0) =11.036D0
00128         DO N=1,NPOIN
00129             AUX = MAX(1.001D0,H%R(N)*11.036D0/CHESTR%R(N))
00130             CF%R(N) = 2.D0 / (LOG( AUX)/KARMAN )**2
00131         ENDDO
00132 !     ***********************
00133       ELSEIF(KFROT.EQ.2) THEN
00134 !     ***********************
00135 !
00136         DO N=1,NPOIN
00137            CF%R(N) = 2.D0 * GRAV / CHESTR%R(N)**2
00138         ENDDO
00139 !
00140 !     ***********************
00141       ELSEIF(KFROT.EQ.3) THEN
00142 !     ***********************
00143 !
00144         DO N=1,NPOIN
00145            HC = MAX(H%R(N),HMIN)
00146            CF%R(N) = 2.D0 * GRAV / CHESTR%R(N)**2 / HC**TIERS
00147         ENDDO
00148 !
00149 !     ***********************
00150       ELSEIF(KFROT.EQ.4) THEN
00151 !     ***********************
00152 !
00153         DO N=1,NPOIN
00154            HC = MAX(H%R(N),HMIN)
00155            CF%R(N) = 2.D0 * CHESTR%R(N)**2 * GRAV / HC**TIERS
00156         ENDDO
00157 !
00158 !     ****
00159       ELSE
00160 !     ****
00161 !
00162         IF(LNG.EQ.1) WRITE(LU,300) KFROT
00163         IF(LNG.EQ.2) WRITE(LU,301) KFROT
00164 300     FORMAT(1X,'COEFRO : LOI DE FROTTEMENT INCONNUE :',1I6)
00165 301     FORMAT(1X,'COEFRO: UNKNOWN LAW OF BOTTOM FRICTION: ',1I6)
00166         CALL PLANTE(1)
00167         STOP
00168 !
00169 !     *****
00170       ENDIF
00171 !     *****
00172 !
00173 !-----------------------------------------------------------------------
00174 !
00175       RETURN
00176       END

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