File: /nfs/home/0/users/jenkins/mfix.git/model/check_data/check_geometry_prereqs.f
1
2
3
4
5
6
7
8
9
10 SUBROUTINE CHECK_GEOMETRY_PREREQS
11
12
13
14
15
16
17 use geometry, only: IMAX, IMAX1, IMIN1, NO_I, DX, XLENGTH, XMIN
18 use geometry, only: JMAX, JMAX1, JMIN1, NO_J, DY, YLENGTH
19 use geometry, only: KMAX, KMAX1, KMIN1, NO_K, DZ, ZLENGTH
20
21 use bc, only: Flux_g
22
23
24
25
26 use geometry, only: COORDINATES, CYLINDRICAL
27 use geometry, only: CYCLIC_X, CYCLIC_X_PD, CYCLIC_X_MF
28 use geometry, only: CYCLIC_Y, CYCLIC_Y_PD, CYCLIC_Y_MF
29 use geometry, only: CYCLIC_Z, CYCLIC_Z_PD, CYCLIC_Z_MF
30
31
32 use cutcell, only: PARTIAL_CHECK_03
33
34
35
36 use param1, only: ONE, ZERO, UNDEFINED_I, UNDEFINED
37
38 use param, only: DIMENSION_I, DIMENSION_J, DIMENSION_K
39
40
41
42 use error_manager
43
44 use toleranc
45
46 implicit none
47
48
49 CALL INIT_ERR_MSG("CHECK_GEOMETRY_PREREQS")
50
51
52 IF(IMAX == UNDEFINED_I .OR. JMAX == UNDEFINED_I .OR. &
53 (.NOT.NO_K .AND. KMAX == UNDEFINED_I) ) THEN
54 WRITE(ERR_MSG,1000)
55 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
56 ENDIF
57
58 1000 FORMAT('Error 1000: IMAX or JMAX or KMAX not specified in ', &
59 'mfix.dat')
60
61
62
63 IF(NO_I) THEN
64 WRITE(ERR_MSG, 1100) 'I','I','east and west'
65 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
66 ENDIF
67
68 IF(NO_J) THEN
69 WRITE(ERR_MSG, 1100) 'J','J','north and south'
70 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
71 ENDIF
72
73 1100 FORMAT('Error 1100: Illegal geometry: NO_',A1,' is disabled. ', &
74 'The same functionality',/'is acheived with one cell (',A1, &
75 'MAX=1) and making the ',A,' walls',/'free-slip. Please ', &
76 'correct the mfix.dat file.')
77
78 IF (XMIN < ZERO) THEN
79 WRITE(ERR_MSG, 1101) 'XMIN'
80 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
81 ENDIF
82
83 1101 FORMAT('Error 1101: Illegal geometry: ',A,' cannot be less ', &
84 'than zero.',/'Please correct the mfix.dat file.')
85
86
87 SELECT CASE(trim(COORDINATES))
88 CASE ('CYLINDRICAL')
89 CYLINDRICAL = .TRUE.
90 IF(CYCLIC_X .OR. CYCLIC_X_PD) THEN
91 WRITE(ERR_MSG, 1102)
92 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
93 ENDIF
94
95 1102 FORMAT('Error 1102: X-axis cannot be CYCLIC in cylindrical ', &
96 'coordinates',/'Please correct the mfix.dat file.')
97
98 CASE ('CARTESIAN')
99 CYLINDRICAL = .FALSE.
100
101 CASE DEFAULT
102 WRITE(ERR_MSG, 1103)
103 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
104
105 1103 FORMAT('Error 1103: Unknown COORDINATES specified. Please ', &
106 'correct the ',/'mfix.dat file.')
107
108 END SELECT
109
110
111 IF(NO_K) THEN
112 IF(KMAX == UNDEFINED_I) THEN
113 KMAX = 1
114 ELSEIF(KMAX /= 1) THEN
115 WRITE(ERR_MSG, 1110) 'KMAX','NO_K'
116 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
117 ENDIF
118
119 1110 FORMAT('Error 1110: Illegal geometry: ',A,' must remain ', &
120 'UNDEFINED_I or 1 when',/A,' is TRUE. Please correct the ', &
121 'mfix.dat file.')
122
123 IF(DZ(1)==UNDEFINED) THEN
124 IF(ZLENGTH==UNDEFINED) THEN
125 IF(CYLINDRICAL) THEN
126 DZ(1) = 8.*ATAN(ONE)
127 ZLENGTH = 8.*ATAN(ONE)
128 ELSE
129 DZ(1) = ONE
130 ZLENGTH = ONE
131 ENDIF
132 ELSE
133 DZ(1) = ZLENGTH
134 ENDIF
135 ELSE
136 IF(ZLENGTH==UNDEFINED) THEN
137 ZLENGTH = DZ(1)
138 ELSE
139 IF(.NOT.COMPARE(ZLENGTH,DZ(1)))THEN
140 WRITE(ERR_MSG, 1111) 'DZ(1) and ZLENGTH'
141 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
142 ENDIF
143
144 1111 FORMAT('Error 1111: Illegal geometry: ',A,' are not equal.',/ &
145 'Please correct the mfix.dat file.')
146
147 ENDIF
148 ENDIF
149 ENDIF
150
151 CALL FINL_ERR_MSG
152
153 RETURN
154
155
156
157 END SUBROUTINE CHECK_GEOMETRY_PREREQS
158