File: N:\mfix\model\drag_mod.f

1     ! -*- f90 -*-
2     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
3     !                                                                      C
4     !  Module name: drag                                                   C
5     !  Purpose: Common block containing drag arrays                        C
6     !                                                                      C
7     !  Author: M. Syamlal                                 Date: 20-MAY-92  C
8     !                                                                      C
9     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
10     
11     MODULE drag
12     
13     ! Gas-solids drag
14       DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  F_gs
15     
16     ! Solids-solids drag
17       DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE ::  F_ss
18     
19     ! Off diagonal friction coefficient in HYS drag relation
20       DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE ::  beta_ij
21     
22     CONTAINS
23     
24     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
25     !                                                                      C
26     !  Function(s): C_DsxRe                                                C
27     !  Purpose:                                                            C
28     !     Calculate single sphere drag correlation multiplied by           C
29     !     the Reynolds number or                                           C
30     !     Calculate the single sphere drag correlation                     C
31     !                                                                      C
32     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
33     
34     ! Dalla Valle (1948)
35     !----------------------------------------------------------------->>>
36       DOUBLE PRECISION FUNCTION C_DSXRE_DV(RE)
37         USE param
38         USE param1
39         IMPLICIT NONE
40         DOUBLE PRECISION, INTENT(IN) :: RE ! Reynolds number
41     
42         C_DSXRE_DV = (0.63D0*SQRT(RE) + 4.8D0)**2
43         RETURN
44       END FUNCTION C_DSXRE_DV
45     
46     ! Schiller and Naumann (1933)
47     !----------------------------------------------------------------->>>
48       DOUBLE PRECISION FUNCTION C_DS_SN(RE)
49         USE param
50         USE param1
51         IMPLICIT NONE
52         DOUBLE PRECISION, INTENT(IN) :: RE ! Reynolds number
53     
54         C_DS_SN = 24.D0*(1.D0 + 0.15D0*RE**0.687D0)/(RE+SMALL_NUMBER)
55         RETURN
56       END FUNCTION C_DS_SN
57     !-----------------------------------------------------------------<<<
58     
59     END MODULE drag
60