File: /nfs/home/0/users/jenkins/mfix.git/model/qmomk/qmomk_set_bc.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: QMOMK_SET_BC                                           C
4     !  Author: Alberto Passalacqua                        Date:            C
5     !  Reviewer:                                          Date:            C
6     !                                                                      C
7     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
8     
9     SUBROUTINE QMOMK_SET_BC
10     
11     !-----------------------------------------------
12     !     M o d u l e s
13     !-----------------------------------------------
14       USE param
15       USE param1
16       USE constant
17       USE physprop
18       USE fldvar
19       USE geometry
20       USE compar
21       USE indices
22       USE bc
23       USE qmom_kinetic_equation
24       USE qmomk_quadrature
25       USE qmomk_bc
26       USE functions
27     
28       IMPLICIT NONE
29     
30       INTEGER :: L
31       INTEGER :: I1, I2, J1, J2, K1, K2
32     
33       DO L = 1, DIMENSION_BC
34           IF (BC_DEFINED(L)) THEN
35     
36             I1 = BC_I_W(L)
37             I2 = BC_I_E(L)
38             J1 = BC_J_S(L)
39             J2 = BC_J_N(L)
40             K1 = BC_K_B(L)
41             K2 = BC_K_T(L)
42     
43             ! Wall BC's
44             IF (BC_TYPE(L)=='FREE_SLIP_WALL' .OR. BC_TYPE(L)=='NO_SLIP_WALL'&
45                 .OR. BC_TYPE(L)=='PAR_SLIP_WALL') THEN
46               IF (QMOMK_WALL_BC_TYPE == 'SPECULAR_REFLECTIVE') THEN
47                 CALL QMOMK_REFLECTIVE_WALL_BC(L, I1, I2, J1, J2, K1, K2, .FALSE.)
48               ENDIF
49             ! Outlet BC's
50             ELSEIF (BC_TYPE(L) == 'MASS_OUTFLOW' .OR. BC_TYPE(L)=='P_OUTFLOW'&
51                 .OR. BC_TYPE(L)=='OUTFLOW') THEN
52               CALL QMOMK_OUTLET_BC(L, I1, I2, J1, J2, K1, K2, .FALSE.)
53             ! Inlet BC's
54             ELSEIF (BC_TYPE(L) == 'MASS_INFLOW') THEN
55               CALL QMOMK_INLET_BC(L, .FALSE.)
56             ! Cyclic BC's
57             ELSEIF (CYCLIC) THEN
58               CALL QMOMK_CYCLIC_BC(.FALSE.)
59             END IF
60           END IF
61       END DO
62     
63     END SUBROUTINE QMOMK_SET_BC
64