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

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2     !                                                                      !
3     !     Module name: DEPRECATED_OR_UNKNOWN                               !
4     !     Author: J.Musser                                Date:  5-SEPT-14 !
5     !                                                                      !
6     !     Purpose: This routine is called when a keyword was not matched   !
7     !     to any of the keywords in the namelist files. This routine       !
8     !     reports if the keyword was deprecated or incorrect.              !
9     !                                                                      !
10     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
11           SUBROUTINE DEPRECATED_OR_UNKNOWN(LINE_NO, INPUT)
12     
13           use param
14           use param1
15           use compar, only: myPE
16           use error_manager
17     
18           IMPLICIT NONE
19     
20           INTEGER, INTENT(IN) :: LINE_NO
21           CHARACTER(len=*), INTENT(IN) :: INPUT
22     
23           CHARACTER(len=256) :: STRING
24           INTEGER :: IOS
25     
26     ! Old keyword for solids density :: Replaced by RO_s0
27           DOUBLE PRECISION :: RO_s
28           LOGICAL :: BC_APPLY_TO_MPPIC(DIMENSION_BC)
29           INTEGER :: COHESION_DEBUG, DES_MMAX,DES_NMAX_s(DIM_M),DIMN
30           CHARACTER(LEN=16) :: DES_BC_TYPE(DIMENSION_BC)
31           DOUBLE PRECISION :: DES_BC_MASSFLOW_s(DIMENSION_BC, DIM_M)
32           DOUBLE PRECISION :: DES_BC_ROP_s (DIMENSION_BC, DIM_M)
33           DOUBLE PRECISION :: DES_BC_T_s (DIMENSION_IC, DIM_M)
34           DOUBLE PRECISION :: DES_BC_VOLFLOW_s(DIMENSION_BC, DIM_M)
35           DOUBLE PRECISION :: DES_BC_X_e(DIMENSION_BC)
36           DOUBLE PRECISION :: DES_BC_X_w(DIMENSION_BC)
37           DOUBLE PRECISION :: DES_BC_Y_n(DIMENSION_BC)
38           DOUBLE PRECISION :: DES_BC_Y_s(DIMENSION_BC)
39           DOUBLE PRECISION :: DES_BC_Z_b(DIMENSION_BC)
40           DOUBLE PRECISION :: DES_BC_Z_t(DIMENSION_BC)
41           DOUBLE PRECISION :: DES_C_ps0(DIM_M), DES_K_s0(DIM_M)
42           LOGICAL :: DES_CALC_BEDHEIGHT, DES_CONV_EQ, DES_ENERGY_EQ
43           LOGICAL :: DES_COND_EQ,DES_COND_EQ_PFP,DES_COND_EQ_PP, DES_RADI_EQ
44     
45           DOUBLE PRECISION :: DES_D_P0 (DIM_M), DES_F, DES_GAMMA
46           DOUBLE PRECISION :: DES_EPS_XSTART,DES_EPS_YSTART,DES_EPS_ZSTART
47     
48           DOUBLE PRECISION :: DES_IC_X_e(DIMENSION_IC)
49           DOUBLE PRECISION :: DES_IC_X_w(DIMENSION_IC)
50           DOUBLE PRECISION :: DES_IC_Y_n(DIMENSION_IC)
51           DOUBLE PRECISION :: DES_IC_Y_s(DIMENSION_IC)
52           DOUBLE PRECISION :: DES_IC_Z_b(DIMENSION_IC)
53           DOUBLE PRECISION :: DES_IC_Z_t(DIMENSION_IC)
54           DOUBLE PRECISION :: DES_IC_T_s (DIMENSION_IC, DIM_M)
55           DOUBLE PRECISION :: DES_MW_s(DIM_M, DIM_N_s), DES_RO_s (DIM_M)
56           DOUBLE PRECISION :: DTSOLID_FACTOR, LID_VEL
57           DOUBLE PRECISION :: MASTER_WELL_DEPTH, MASTER_WALL_WELL_DEPTH
58           CHARACTER(len=18) DES_SPECIES_s(DIM_M, DIM_N_s)
59           CHARACTER(len=32)  DES_SPECIES_ALIAS_s(DIM_M, DIM_N_s)
60           LOGICAL :: DES_PERIODIC_WALLS, DES_PERIODIC_WALLS_X,DES_SPECIES_EQ
61           LOGICAL :: DES_PERIODIC_WALLS_Y, DES_PERIODIC_WALLS_Z,TSUJI_DRAG
62     
63           INTEGER :: MAX_DES_BC_CELL, NPC_PIC(DIM_M)
64           INTEGER :: QLM, QLN, INIT_QUAD_COUNT
65           LOGICAL :: MPPIC_CONSTANTNPC, MPPIC_CONSTANTWT, SQUARE_WELL
66           LOGICAL :: WALLDTSPLIT,WALLREFLECT, CALL_DI, CALL_GROW, CALL_ISAT
67           DOUBLE PRECISION :: MQUAD_FACTOR,STATWT_PIC(DIM_M), ISATdt
68           DOUBLE PRECISION :: RADIUS_RATIO,WALL_RADIUS_RATIO
69           DOUBLE PRECISION :: pvel_mean, PVEL_StDev,VOL_FRAC(DIM_M)
70           CHARACTER(LEN=64) :: REACTION_MODEL
71     
72           LOGICAL :: DISCRETE_ELEMENT, MPPIC, DES_CONTINUUM_HYBRID
73     
74           DOUBLE PRECISION :: PARTICLES_FACTOR, DES_RES_DT, DES_SPX_DT
75           INTEGER :: MAX_PIS, MAX_FACETS_PER_CELL_DES
76           LOGICAL :: USE_STL_DES, DES_CONTINUUM_COUPLED, &
77              DES_CONVERT_BOX_TO_FACETS
78     
79     
80     ! 2014-1 Deprecated list:
81     !-----------------------------------------------------------------------
82           NAMELIST / DEP_2014_1 / RO_s, BC_APPLY_TO_MPPIC, COHESION_DEBUG, &
83              DES_BC_MASSFLOW_s, DES_BC_ROP_s,DES_BC_T_s,DES_BC_TYPE,       &
84              DES_BC_VOLFLOW_s,DES_BC_X_e,DES_BC_X_w, DES_BC_Y_n,DES_BC_Y_s,&
85              DES_BC_Z_b,DES_BC_Z_t,DES_CALC_BEDHEIGHT,QLM,QLN,DES_COND_EQ, &
86              DES_COND_EQ_PFP,DES_COND_EQ_PP,DES_CONV_EQ,DES_C_ps0,DES_D_p0,&
87              DES_ENERGY_EQ,DES_EPS_XSTART,DES_F,DES_EPS_YSTART,DIMN,       &
88              DES_EPS_ZSTART,DES_GAMMA,DES_IC_T_s,DES_IC_X_e,DES_IC_X_w,    &
89              DES_IC_Y_n,DES_IC_Y_s,DES_IC_Z_b,DES_IC_Z_t,DES_K_s0,DES_MMAX,&
90              DES_MW_s,DES_NMAX_s,DES_PERIODIC_WALLS,DES_SPECIES_s,LID_VEL, &
91              DES_PERIODIC_WALLS_X,DES_PERIODIC_WALLS_Y,WALLREFLECT,        &
92              DES_PERIODIC_WALLS_Z,DES_RADI_EQ,DES_RO_s,DES_SPECIES_ALIAS_s,&
93              DES_SPECIES_EQ,DTSOLID_FACTOR,INIT_QUAD_COUNT,MAX_DES_BC_CELL,&
94              MASTER_WALL_WELL_DEPTH,MASTER_WELL_DEPTH,MPPIC_CONSTANTNPC,   &
95              MPPIC_CONSTANTWT,MQUAD_FACTOR,NPC_PIC,pvel_mean,pvel_stdev,   &
96              RADIUS_RATIO,REACTION_MODEL,SQUARE_WELL,STATWT_PIC,STATWT_PIC,&
97              TSUJI_DRAG,VOL_FRAC,WALLDTSPLIT,WALL_RADIUS_RATIO, CALL_DI,   &
98              CALL_GROW, CALL_ISAT, ISATdt
99     
100     
101     ! 2015-1 Deprecated list:
102     !-----------------------------------------------------------------------
103           NAMELIST / DEP_2015_1 / MAX_PIS, PARTICLES_FACTOR, USE_STL_DES,  &
104              DISCRETE_ELEMENT, MPPIC, DES_CONTINUUM_HYBRID
105     
106     ! 2015-2 Deprecated list:
107     !-----------------------------------------------------------------------
108           NAMELIST / DEP_2015_2 / DES_CONTINUUM_COUPLED, DES_RES_DT,       &
109              DES_SPX_DT
110     
111     ! 2016-1 Deprecated list:
112     !-----------------------------------------------------------------------
113           NAMELIST / DEP_2016_1 / MAX_FACETS_PER_CELL_DES,                 &
114               DES_CONVERT_BOX_TO_FACETS
115     
116     ! 2014-1 Release Deprecated keywords.
117           STRING=''; STRING = '&DEP_2014_1 '//trim(adjustl(INPUT))//'/'
118           READ(STRING,NML=DEP_2014_1,IOSTAT=IOS)
119           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2014-1')
120     
121     
122     ! 2015-1 Release Deprecated keywords.
123           STRING=''; STRING = '&DEP_2015_1 '//trim(adjustl(INPUT))//'/'
124           READ(STRING,NML=DEP_2015_1,IOSTAT=IOS)
125           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2015-1')
126     
127     ! 2015-2 Release Deprecated keywords.
128           STRING=''; STRING = '&DEP_2015_2 '//trim(adjustl(INPUT))//'/'
129           READ(STRING,NML=DEP_2015_1,IOSTAT=IOS)
130           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2015-2')
131     
132     ! Everything else...  This should be the last call in this routine.
133           CALL UNKNOWN_KEYWORD(LINE_NO, INPUT)
134     
135     
136           CONTAINS
137     
138     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
139     !                                                                      !
140     !     Module name: DEPRECATED                                          !
141     !     Author: J.Musser                                Date:  5-SEPT-14 !
142     !                                                                      !
143     !     Purpose: Write the error message for deprecated keywords.        !
144     !                                                                      !
145     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
146           SUBROUTINE DEPRECATED(LINE_NO, INPUT, RELEASE)
147     
148           INTEGER, INTENT(IN) :: LINE_NO
149           CHARACTER(len=*), INTENT(IN) :: INPUT
150           CHARACTER(len=*), INTENT(IN) :: RELEASE
151     
152           IF(myPE == 0) &
153              WRITE(*,1000) trim(iVAL(LINE_NO)), RELEASE, trim(INPUT)
154     
155           CALL MFIX_EXIT(myPE)
156     
157      1000 FORMAT(//1X,70('*')/' From DEPRECATED',/' Error 1000:',          &
158              ' A keyword pair on line ',A,' of the mfix.dat file was',/    &
159              ' identified as being deprecated as of the ',A,' Release.',// &
160              3x,A,//' Please see the user documentation and update the ',  &
161              'mfix.dat file.',/1X,70('*')//)
162     
163           END SUBROUTINE DEPRECATED
164     
165     
166     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
167     !                                                                      !
168     !     Module name: UNKNOWN_KEYWORD                                     !
169     !     Author: J.Musser                                Date:  5-SEPT-14 !
170     !                                                                      !
171     !     Purpose: Write the error message for deprecated keywords.        !
172     !                                                                      !
173     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
174           SUBROUTINE UNKNOWN_KEYWORD(LINE_NO, INPUT)
175     
176           INTEGER, INTENT(IN) :: LINE_NO
177           CHARACTER(len=*), INTENT(IN) :: INPUT
178     
179           IF(myPE == 0) WRITE(*,2000) trim(iVAL(LINE_NO)), trim(INPUT)
180     
181           CALL MFIX_EXIT(myPE)
182     
183      2000 FORMAT(//1X,70('*')/' From: UNKNOWN_KEYWORD',/' Error 2000: ',   &
184              'Unable to process line ',A,' of the mfix.dat file.',2/3x,    &
185              A,2/1x,'Possible causes are',/3x,'* Incorrect or illegal ',   &
186              'keyword format',/3x,'* Unknown or mistyped name',/3x,'* ',   &
187              'The mensioned item is too small (array overflow).', 2/1x,    &
188              'Please see the user documentation and update the mfix.dat ', &
189              'file. ',/1X,70('*')//)
190     
191     
192           END SUBROUTINE UNKNOWN_KEYWORD
193     
194     
195           END SUBROUTINE DEPRECATED_OR_UNKNOWN
196