File: RELATIVE:/../../../mfix.git/model/check_data/check_run_control.f
1
2
3
4
5
6
7
8
9
10 SUBROUTINE CHECK_RUN_CONTROL
11
12
13
14
15
16 USE run, only: RUN_TYPE
17
18 USE run, only: DESCRIPTION
19
20 USE run, only: UNITS
21
22 USE run, only: TIME, TSTOP
23
24 USE run, only: DT, ODT
25
26 USE run, only: K_EPSILON
27 USE run, only: ishii, jackson
28
29 use constant, only: L_SCALE0, MU_GMAX
30
31
32
33 USE param1, only: UNDEFINED, UNDEFINED_C
34 USE param1, only: ONE, ZERO
35
36
37
38 USE error_manager
39
40 IMPLICIT NONE
41
42
43
44
45
46
47
48
49
50
51 CALL INIT_ERR_MSG("CHECK_RUN_CONTROL")
52
53
54
55 IF (DESCRIPTION == UNDEFINED_C) DESCRIPTION = ' '
56
57
58 IF(UNITS == UNDEFINED_C) THEN
59 WRITE(ERR_MSG,1000) 'UNITS'
60 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
61 ELSEIF((UNITS /= 'CGS') .AND. (UNITS /= 'SI')) THEN
62 WRITE(ERR_MSG,1001) 'UNITS', UNITS
63 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
64 ENDIF
65
66
67 IF (DT < ZERO) THEN
68 WRITE(ERR_MSG,1002) 'DT', DT
69 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
70
71
72 ELSEIF(DT == UNDEFINED .OR. DT == ZERO) THEN
73 ODT = ZERO
74 TIME = ZERO
75
76
77 ELSE
78
79 = ONE/DT
80
81 IF (TIME == UNDEFINED) THEN
82 WRITE(ERR_MSG,1000) 'TIME'
83 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
84
85 ELSEIF (TSTOP == UNDEFINED) THEN
86 WRITE(ERR_MSG,1000) 'TSTOP'
87 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
88
89 ELSEIF (TIME < ZERO) THEN
90 WRITE(ERR_MSG,1002)'TIME', TIME
91 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
92
93 ELSEIF (TSTOP < ZERO) THEN
94 WRITE(ERR_MSG,1002) 'TSTOP', TSTOP
95 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
96 ENDIF
97 ENDIF
98
99
100 IF(.NOT.(RUN_TYPE=='NEW' .OR. RUN_TYPE=='RESTART_1' &
101 .OR. RUN_TYPE=='RESTART_2')) THEN
102 WRITE(ERR_MSG,1001) 'RUN_TYPE', RUN_TYPE
103 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
104 ENDIF
105
106
107 IF (K_Epsilon .AND. L_SCALE0 /= ZERO) THEN
108 WRITE(ERR_MSG,2001)
109 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
110 2001 FORMAT('Error 2001: Cannot set K_EPSILON = .T. and specify ', &
111 'L_SCALE0 /= ZERO')
112 ENDIF
113
114
115 IF (ISHII .AND. JACKSON) THEN
116 WRITE(ERR_MSG,2002)
117 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
118 2002 FORMAT('Error 2002: Cannot set both ISHII = .T. and JACKSON = ',&
119 '.T.',/,'Please correct the mfix.dat file.')
120 ENDIF
121
122
123 IF (K_Epsilon .AND. MU_GMAX==UNDEFINED) THEN
124 WRITE(ERR_MSG, 1000) 'MU_GMAX'
125 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
126 ENDIF
127
128
129 CALL FINL_ERR_MSG
130
131 RETURN
132
133 1000 FORMAT('Error 1000: Required input not specified: ',A,/'Please ',&
134 'correct the mfix.dat file.')
135
136 1001 FORMAT('Error 1001: Illegal or unknown input: ',A,' = ',A,/ &
137 'Please correct the mfix.dat file.')
138
139 1002 FORMAT('Error 1002: Illegal or unknown input: ',A,' = ',G14.4,/ &
140 'Please correct the mfix.dat file.')
141
142 1003 FORMAT('Error 1003: Illegal or unknown input: ',A,' = ',I4,/ &
143 'Please correct the mfix.dat file.')
144
145 END SUBROUTINE CHECK_RUN_CONTROL
146
147
148
149