File: /nfs/home/0/users/jenkins/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, PE_IO
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
75           INTEGER :: MAX_PIS
76           LOGICAL :: USE_STL_DES
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     
106     
107     ! 2014-1 Release Deprecated keywords.
108           STRING=''; STRING = '&DEP_2014_1 '//trim(adjustl(INPUT))//'/'
109           READ(STRING,NML=DEP_2014_1,IOSTAT=IOS)
110           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2014-1')
111     
112     
113     ! 2015-1 Release Deprecated keywords.
114           STRING=''; STRING = '&DEP_2015_1 '//trim(adjustl(INPUT))//'/'
115           READ(STRING,NML=DEP_2015_1,IOSTAT=IOS)
116           IF(IOS == 0) CALL DEPRECATED(LINE_NO, INPUT, '2015-1')
117     
118     
119     ! Everything else...  This should be the last call in this routine.
120           CALL UNKNOWN_KEYWORD(LINE_NO, INPUT)
121     
122     
123           CONTAINS
124     
125     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
126     !                                                                      !
127     !     Module name: DEPRECATED                                          !
128     !     Author: J.Musser                                Date:  5-SEPT-14 !
129     !                                                                      !
130     !     Purpose: Write the error message for deprecated keywords.        !
131     !                                                                      !
132     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
133           SUBROUTINE DEPRECATED(LINE_NO, INPUT, RELEASE)
134     
135           INTEGER, INTENT(IN) :: LINE_NO
136           CHARACTER(len=*), INTENT(IN) :: INPUT
137           CHARACTER(len=*), INTENT(IN) :: RELEASE
138     
139           IF(myPE == 0) &
140              WRITE(*,1000) trim(iVAL(LINE_NO)), RELEASE, trim(INPUT)
141     
142           CALL MFIX_EXIT(myPE)
143     
144      1000 FORMAT(//1X,70('*')/' From DEPRECATED',/' Error 1000:',          &
145              ' A keyword pair on line ',A,' of the mfix.dat file was',/    &
146              ' identified as being deprecated as of the ',A,' Release.',// &
147              3x,A,//' Please see the user documentation and update the ',  &
148              'mfix.dat file.',/1X,70('*')//)
149     
150           END SUBROUTINE DEPRECATED
151     
152     
153     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
154     !                                                                      !
155     !     Module name: UNKNOWN_KEYWORD                                     !
156     !     Author: J.Musser                                Date:  5-SEPT-14 !
157     !                                                                      !
158     !     Purpose: Write the error message for deprecated keywords.        !
159     !                                                                      !
160     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
161           SUBROUTINE UNKNOWN_KEYWORD(LINE_NO, INPUT)
162     
163           INTEGER, INTENT(IN) :: LINE_NO
164           CHARACTER(len=*), INTENT(IN) :: INPUT
165     
166           IF(myPE == 0) WRITE(*,2000) trim(iVAL(LINE_NO)), trim(INPUT)
167     
168           CALL MFIX_EXIT(myPE)
169     
170      2000 FORMAT(//1X,70('*')/' From: UNKNOWN_KEYWORD',/' Error 2000: ',   &
171              'Unable to process line ',A,' of the mfix.dat file.',2/3x,    &
172              A,2/1x,'Possible causes are',/3x,'* Incorrect or illegal ',   &
173              'keyword format',/3x,'* Unknown or mistyped name',/3x,'* ',   &
174              'The mensioned item is too small (array overflow).', 2/1x,    &
175              'Please see the user documentation and update the mfix.dat ', &
176              'file. ',/1X,70('*')//)
177     
178     
179           END SUBROUTINE UNKNOWN_KEYWORD
180     
181     
182           END SUBROUTINE DEPRECATED_OR_UNKNOWN
183