File: /nfs/home/0/users/jenkins/mfix.git/model/des/cfslide.f
1
2
3
4
5
6
7
8
9
10
11
12 SUBROUTINE CFSLIDE(V_TANG, PARTICLE_SLIDE, MU, FT_tmp, FN_tmp)
13
14
15
16
17 USE discretelement, only: DEBUG_DES
18 IMPLICIT NONE
19
20
21
22
23 DOUBLE PRECISION, INTENT(IN) :: V_TANG(3)
24
25 LOGICAL, INTENT(OUT) :: PARTICLE_SLIDE
26
27 DOUBLE PRECISION, INTENT(IN) :: MU
28
29 DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: FN_tmp
30
31 DOUBLE PRECISION, DIMENSION(3), INTENT(INOUT) :: FT_tmp
32
33
34
35
36 DOUBLE PRECISION FTMD, FNMD
37
38
39 = dot_product(FT_tmp(:),FT_tmp(:))
40 FNMD = dot_product(FN_tmp(:),FN_tmp(:))
41
42 IF (FTMD.GT.(MU*MU*FNMD)) THEN
43
44 = .TRUE.
45 IF(ALL(V_TANG.EQ.0)) THEN
46 FT_tmp(:) = MU * FT_tmp(:) * SQRT(FNMD/FTMD)
47 ELSE
48 FT_tmp(:) = -MU * V_TANG(:) * SQRT(FNMD/dot_product(V_TANG,V_TANG))
49 ENDIF
50
51 IF(DEBUG_DES) THEN
52 WRITE(*,'(7X,A)') &
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'
58 ENDIF
59
60 ENDIF
61
62 RETURN
63 END SUBROUTINE CFSLIDE
64