File: RELATIVE:/../../../mfix.git/model/des/cffctowall.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
2     !
3     !  Subroutine: CFFCTOWALL
4     !  Purpose: Calculate the total force and torque on a particle
5     !
6     !  Author: Jay Boyalakuntla                           Date: 12-Jun-04
7     !  Reviewer: Rahul Garg                               Date: 02-Aug-07!
8     !
9     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10           SUBROUTINE CFFCTOWALL(L, NORM, DIST_LI, FN, FT)
11     
12     !-----------------------------------------------
13     ! Modules
14     !-----------------------------------------------
15           USE param1
16           USE discretelement
17           IMPLICIT NONE
18     !-----------------------------------------------
19     ! Dummy arguments
20     !-----------------------------------------------
21     ! particle index
22           INTEGER, INTENT(IN) :: L
23     ! distance between particle center and wall
24           DOUBLE PRECISION, INTENT(IN) :: DIST_LI
25     ! unit normal vector along the line of contact pointing from
26     ! particle L to wall
27           DOUBLE PRECISION, INTENT(IN) :: NORM(3)
28     ! normal and tangential force
29           DOUBLE PRECISION, INTENT(IN) :: FN(3), FT(3)
30     !-----------------------------------------------
31     ! Local variables
32     !-----------------------------------------------
33     ! local variable for calculating torque on particle
34           DOUBLE PRECISION :: CROSSP(3)
35     ! distance from the contact point to the particle center
36           DOUBLE PRECISION DIST_CL
37     !------------------------------------------------
38     
39     ! total contact force
40           FC(:,L) = FC(:,L) + FN(:) + FT(:)
41     
42     ! calculate the distance from the particle center to the wall
43           DIST_CL = DIST_LI - DES_RADIUS(L)
44     
45     ! total torque
46           CROSSP = DES_CROSSPRDCT(NORM, FT)
47           TOW(:,L) = TOW(:,L) + DIST_CL*CROSSP(:)
48     
49           RETURN
50           END SUBROUTINE CFFCTOWALL
51     
52     
53