5 & (fdm, fd90, npoin, grav,
6 & xmve, xmvs, zero, cstaeq,hn,u2d,v2d,csratio)
44 TYPE(bief_obj),
INTENT(IN) :: HN,U2D,V2D,CSRATIO
45 INTEGER,
INTENT(IN) :: NPOIN
46 DOUBLE PRECISION,
INTENT(IN) :: GRAV, XMVE, XMVS
47 DOUBLE PRECISION,
INTENT(IN) :: ZERO,FDM,FD90
48 TYPE(bief_obj),
INTENT(INOUT) :: CSTAEQ
53 DOUBLE PRECISION :: DSTAR,DENS,COEFF,UCR,ASS,UB
54 DOUBLE PRECISION :: WORB,CD
55 DOUBLE PRECISION,
PARAMETER :: Z0=0.006d0
63 dens = (xmvs - xmve )/ xmve
69 dstar = fdm*(grav*dens/(
vce*
vce))**(1.d0/3.d0)
70 coeff = (dens*grav*fdm)**1.2d0
71 IF(dstar.LE. zero)
THEN 72 WRITE(
lu,*)
'ERROR SUSPENSION_SANDFLOW:DSTAR = ',dstar,fdm,
77 IF ((hn%R(i).GT.zero).AND.(coeff.GT.zero))
THEN 81 ucr = 0.19d0*(fdm**0.1d0)*log10(4.0d0*hn%R(i)/fd90)
84 ucr = 8.5d0*(fdm**0.6d0)*log10(4.d0*hn%R(i)/fd90)
88 cd = (0.4d0/(log(max(hn%R(i),z0)/z0)-1.d0))**2.d0
89 worb = (0.018d0/cd)*(
uw%R(i)**2.d0)
93 ass = (0.012d0*fdm*(dstar**(-0.6d0)))/coeff
94 ub = (u2d%R(i)*u2d%R(i))+(v2d%R(i)*v2d%R(i))+worb
97 cstaeq%R(i)=ass*(max(0.d0,(sqrt(ub)-ucr))**2.4d0)/hn%R(i)
99 prive%ADR(1)%P%R(i)=cstaeq%R(i)
100 cstaeq%R(i)=cstaeq%R(i)*csratio%R(i)
subroutine suspension_sandflow(FDM, FD90, NPOIN, GRAV, XMVE, XMVS, ZERO, CSTAEQ, HN, U2D, V2D, CSRATIO)
type(bief_obj), target prive
type(bief_obj), target uw