File: /nfs/home/0/users/jenkins/mfix.git/model/check_data/check_bc_dem.f
1
2
3
4
5
6
7
8
9
10
11 SUBROUTINE CHECK_BC_DEM(M_TOT)
12
13
14
15
16 use bc, only: BC_TYPE
17
18 use bc, only: BC_EP_s
19
20 USE bc, only: BC_PO_APPLY_TO_DES
21
22 use run, only: SOLIDS_MODEL
23
24 use des_bc, only: DEM_BCMI, DEM_BCMO
25
26 use des_bc, only: DEM_BCMI_MAP
27 use des_bc, only: DEM_BCMO_MAP
28
29
30
31 use param, only: DIMENSION_BC
32
33 use param1, only: ZERO, UNDEFINED
34
35
36
37 use error_manager
38
39
40 IMPLICIT NONE
41
42
43
44
45
46 INTEGER, INTENT(in) :: M_TOT
47
48
49
50
51 INTEGER :: BCV, M
52
53
54
55
56 CALL INIT_ERR_MSG("CHECK_BC_DEM")
57
58
59 = 0
60 DEM_BCMO = 0
61
62
63 DO BCV = 1, DIMENSION_BC
64
65 SELECT CASE (TRIM(BC_TYPE(BCV)))
66
67
68 CASE ('MASS_INFLOW')
69 M_LP: DO M=1,M_TOT
70 IF(SOLIDS_MODEL(M)=='DEM' .AND. &
71 BC_EP_s(BCV,M) > ZERO) THEN
72 DEM_BCMI = DEM_BCMI + 1
73 DEM_BCMI_MAP(DEM_BCMI) = BCV
74 EXIT M_LP
75 ENDIF
76 ENDDO M_LP
77
78
79 CASE ('P_OUTFLOW','MASS_OUTFLOW')
80 IF(BC_PO_APPLY_TO_DES(BCV)) then
81 DEM_BCMO = DEM_BCMO + 1
82 DEM_BCMO_MAP(DEM_BCMO) = BCV
83 ENDIF
84
85
86 CASE ('CG_MI')
87 DO M=1,M_TOT
88 IF(SOLIDS_MODEL(M)=='DEM') THEN
89 IF(BC_EP_s(BCV,M) /= UNDEFINED .AND. &
90 BC_EP_s(BCV,M) > ZERO) THEN
91 WRITE(ERR_MSG,1100) trim(iVar('BC_TYPE',BCV)), &
92 'GC_MI'
93 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
94 ENDIF
95 ENDIF
96 ENDDO
97
98 CASE ('CG_PO')
99 WRITE(ERR_MSG,1100) trim(iVar('BC_TYPE',BCV)), 'GC_PO'
100 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
101
102 CASE ('OUTFLOW', 'P_INFLOW')
103 WRITE(ERR_MSG,1100) trim(iVar('BC_TYPE',BCV)), &
104 trim(BC_TYPE(BCV))
105 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
106
107 END SELECT
108
109 ENDDO
110
111 CALL FINL_ERR_MSG
112
113 RETURN
114
115 1100 FORMAT('Error 1100: Unsupported boundary condition specified ', &
116 'with',/'DEM simulation: ',A,' = ',A,/'Please correct the ',&
117 'mfix.dat file.')
118
119 END SUBROUTINE CHECK_BC_DEM
120