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

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  SUBROUTINE: EXCHANGE                                                C
4     !  Purpose: Calls routines to drive calculations of the interphase     C
5     !           momentum, and energy exchange coefficients/terms           C
6     !           if directed to do so by the corresponding flags            C
7     !                                                                      C
8     !  Author: M. Syamlal                                 Date: 25-APR-96  C
9     !                                                                      C
10     !                                                                      C
11     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
12           SUBROUTINE EXCHANGE(IER)
13     
14     ! Global Variables
15     !---------------------------------------------------------------------//
16     ! Flags for calculating drag coefficient.
17           use coeff, only: DRAGCOEF
18     ! Flags for calculating heat transfer coefficient.
19           use coeff, only: HEAT_TR
20     
21           use param1, only: zero
22           use physprop, only: smax, ro_g0
23           use run, only: granular_energy
24           use run, only: kt_type_enum, ia_2005
25     
26           use discretelement, only: DES_EXPLICITLY_COUPLED
27           use discretelement, only: DES_CONTINUUM_COUPLED
28           use discretelement, only: DES_CONTINUUM_HYBRID
29     
30     
31           implicit none
32     
33     ! Dummy arguments
34     !---------------------------------------------------------------------//
35           INTEGER, INTENT(INOUT) :: IER ! Error index
36     
37     ! Local variables
38     !---------------------------------------------------------------------//
39     ! loop counter
40           INTEGER :: M, L
41     !---------------------------------------------------------------------//
42     
43     ! calculate gas-solids drag based on relatively velocity differences
44           IF (.NOT.DES_CONTINUUM_COUPLED .OR. DES_CONTINUUM_HYBRID) THEN
45              DO M = 1, SMAX
46                 IF (DRAGCOEF(0,M) .AND. RO_G0/=ZERO) CALL DRAG_GS(M, IER)
47              ENDDO
48     
49     ! calculate solilds-solids drag based on relative velocity differences
50              DO M = 1, SMAX
51                 DO L = 1, M - 1
52                    IF (DRAGCOEF(L,M)) CALL DRAG_SS (L, M, IER)
53                 ENDDO
54              ENDDO
55           ENDIF
56     
57     ! Calculate additional interphase interaction coefficients (between
58     ! continuum solids phases)
59           IF (GRANULAR_ENERGY) THEN
60              SELECT CASE(KT_TYPE_ENUM)
61                 CASE(IA_2005)
62                    DO M=1,SMAX
63                       DO L=1,SMAX
64                          CALL COLL_MOMENTUM_COEFF_IA(L, M)
65                       ENDDO
66                    ENDDO
67                 CASE DEFAULT
68              END SELECT
69           ENDIF
70     
71     ! Calculate interphase heat transfer coefficients
72           DO M=1,SMAX
73              IF(HEAT_TR(0,M)) CALL CALC_GAMA(M)
74           ENDDO
75     
76           return
77           END SUBROUTINE EXCHANGE
78