12 SUBROUTINE cfslide(V_TANG, PARTICLE_SLIDE, MU, FT_tmp, FN_tmp)
17 USE discretelement
, only: debug_des
23 DOUBLE PRECISION,
INTENT(IN) :: V_TANG(3)
25 LOGICAL,
INTENT(OUT) :: PARTICLE_SLIDE
27 DOUBLE PRECISION,
INTENT(IN) :: MU
29 DOUBLE PRECISION,
DIMENSION(3),
INTENT(IN) :: FN_tmp
31 DOUBLE PRECISION,
DIMENSION(3),
INTENT(INOUT) :: FT_tmp
36 DOUBLE PRECISION FTMD, FNMD
39 ftmd = dot_product(ft_tmp(:),ft_tmp(:))
40 fnmd = dot_product(fn_tmp(:),fn_tmp(:))
42 IF (ftmd.GT.(mu*mu*fnmd))
THEN 44 particle_slide = .true.
45 IF(all(v_tang.EQ.0))
THEN 46 ft_tmp(:) = mu * ft_tmp(:) * sqrt(fnmd/ftmd)
48 ft_tmp(:) = -mu * v_tang(:) * sqrt(fnmd/dot_product(v_tang,v_tang
53 'FROM CFSLIDE.F ---------->' 54 WRITE(*,
'(9X,A)')
'PARTICLE_SLIDE = T' 55 WRITE(*,
'(9X,A,2(ES15.7,1X))')&
56 'FTMD, mu*FNMD = ', ftmd, mu*fnmd
57 WRITE(*,
'(7X,A)')
'<----------END CFSLIDE.F' subroutine cfslide(V_TANG, PARTICLE_SLIDE, MU, FT_tmp, FN_tmp)