File: RELATIVE:/../../../mfix.git/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
76           LOGICAL :: USE_STL_DES, DES_CONTINUUM_COUPLED
77     
78     
79     ! 2014-1 Deprecated list:
80     !-----------------------------------------------------------------------
81           NAMELIST / DEP_2014_1 / RO_s, BC_APPLY_TO_MPPIC, COHESION_DEBUG, &
82              DES_BC_MASSFLOW_s, DES_BC_ROP_s,DES_BC_T_s,DES_BC_TYPE,       &
83              DES_BC_VOLFLOW_s,DES_BC_X_e,DES_BC_X_w, DES_BC_Y_n,DES_BC_Y_s,&
84              DES_BC_Z_b,DES_BC_Z_t,DES_CALC_BEDHEIGHT,QLM,QLN,DES_COND_EQ, &
85              DES_COND_EQ_PFP,DES_COND_EQ_PP,DES_CONV_EQ,DES_C_ps0,DES_D_p0,&
86              DES_ENERGY_EQ,DES_EPS_XSTART,DES_F,DES_EPS_YSTART,DIMN,       &
87              DES_EPS_ZSTART,DES_GAMMA,DES_IC_T_s,DES_IC_X_e,DES_IC_X_w,    &
88              DES_IC_Y_n,DES_IC_Y_s,DES_IC_Z_b,DES_IC_Z_t,DES_K_s0,DES_MMAX,&
89              DES_MW_s,DES_NMAX_s,DES_PERIODIC_WALLS,DES_SPECIES_s,LID_VEL, &
90              DES_PERIODIC_WALLS_X,DES_PERIODIC_WALLS_Y,WALLREFLECT,        &
91              DES_PERIODIC_WALLS_Z,DES_RADI_EQ,DES_RO_s,DES_SPECIES_ALIAS_s,&
92              DES_SPECIES_EQ,DTSOLID_FACTOR,INIT_QUAD_COUNT,MAX_DES_BC_CELL,&
93              MASTER_WALL_WELL_DEPTH,MASTER_WELL_DEPTH,MPPIC_CONSTANTNPC,   &
94              MPPIC_CONSTANTWT,MQUAD_FACTOR,NPC_PIC,pvel_mean,pvel_stdev,   &
95              RADIUS_RATIO,REACTION_MODEL,SQUARE_WELL,STATWT_PIC,STATWT_PIC,&
96              TSUJI_DRAG,VOL_FRAC,WALLDTSPLIT,WALL_RADIUS_RATIO, CALL_DI,   &
97              CALL_GROW, CALL_ISAT, ISATdt
98     
99     
100     ! 2015-1 Deprecated list:
101     !-----------------------------------------------------------------------
102           NAMELIST / DEP_2015_1 / MAX_PIS, PARTICLES_FACTOR, USE_STL_DES,  &
103              DISCRETE_ELEMENT, MPPIC, DES_CONTINUUM_HYBRID
104     
105     ! 2015-1 Deprecated list:
106     !-----------------------------------------------------------------------
107           NAMELIST / DEP_2015_2 / DES_CONTINUUM_COUPLED, DES_RES_DT,       &
108              DES_SPX_DT
109     
110     ! 2014-1 Release Deprecated keywords.
111           STRING=''; STRING = '&DEP_2014_1 '//trim(adjustl(INPUT))//'/'
112           READ(STRING,NML=DEP_2014_1,IOSTAT=IOS)
113           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2014-1')
114     
115     
116     ! 2015-1 Release Deprecated keywords.
117           STRING=''; STRING = '&DEP_2015_1 '//trim(adjustl(INPUT))//'/'
118           READ(STRING,NML=DEP_2015_1,IOSTAT=IOS)
119           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2015-1')
120     
121     ! 2015-2 Release Deprecated keywords.
122           STRING=''; STRING = '&DEP_2015_2 '//trim(adjustl(INPUT))//'/'
123           READ(STRING,NML=DEP_2015_1,IOSTAT=IOS)
124           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2015-2')
125     
126     ! Everything else...  This should be the last call in this routine.
127           CALL UNKNOWN_KEYWORD(LINE_NO, INPUT)
128     
129     
130           CONTAINS
131     
132     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
133     !                                                                      !
134     !     Module name: DEPRECATED                                          !
135     !     Author: J.Musser                                Date:  5-SEPT-14 !
136     !                                                                      !
137     !     Purpose: Write the error message for deprecated keywords.        !
138     !                                                                      !
139     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
140           SUBROUTINE DEPRECATED(LINE_NO, INPUT, RELEASE)
141     
142           INTEGER, INTENT(IN) :: LINE_NO
143           CHARACTER(len=*), INTENT(IN) :: INPUT
144           CHARACTER(len=*), INTENT(IN) :: RELEASE
145     
146           IF(myPE == 0) &
147              WRITE(*,1000) trim(iVAL(LINE_NO)), RELEASE, trim(INPUT)
148     
149           CALL MFIX_EXIT(myPE)
150     
151      1000 FORMAT(//1X,70('*')/' From DEPRECATED',/' Error 1000:',          &
152              ' A keyword pair on line ',A,' of the mfix.dat file was',/    &
153              ' identified as being deprecated as of the ',A,' Release.',// &
154              3x,A,//' Please see the user documentation and update the ',  &
155              'mfix.dat file.',/1X,70('*')//)
156     
157           END SUBROUTINE DEPRECATED
158     
159     
160     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
161     !                                                                      !
162     !     Module name: UNKNOWN_KEYWORD                                     !
163     !     Author: J.Musser                                Date:  5-SEPT-14 !
164     !                                                                      !
165     !     Purpose: Write the error message for deprecated keywords.        !
166     !                                                                      !
167     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
168           SUBROUTINE UNKNOWN_KEYWORD(LINE_NO, INPUT)
169     
170           INTEGER, INTENT(IN) :: LINE_NO
171           CHARACTER(len=*), INTENT(IN) :: INPUT
172     
173           IF(myPE == 0) WRITE(*,2000) trim(iVAL(LINE_NO)), trim(INPUT)
174     
175           CALL MFIX_EXIT(myPE)
176     
177      2000 FORMAT(//1X,70('*')/' From: UNKNOWN_KEYWORD',/' Error 2000: ',   &
178              'Unable to process line ',A,' of the mfix.dat file.',2/3x,    &
179              A,2/1x,'Possible causes are',/3x,'* Incorrect or illegal ',   &
180              'keyword format',/3x,'* Unknown or mistyped name',/3x,'* ',   &
181              'The mensioned item is too small (array overflow).', 2/1x,    &
182              'Please see the user documentation and update the mfix.dat ', &
183              'file. ',/1X,70('*')//)
184     
185     
186           END SUBROUTINE UNKNOWN_KEYWORD
187     
188     
189           END SUBROUTINE DEPRECATED_OR_UNKNOWN
190