1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC 2 ! C 3 ! Module name: field_variables.inc C 4 ! Purpose: Common block containing field variables data C 5 ! C 6 ! Author: M. Syamlal Date: dd-mmm-yy C 7 ! Reviewer: Date: dd-mmm-yy C 8 ! C 9 ! Revision Number: C 10 ! Purpose: C 11 ! Author: Date: dd-mmm-yy C 12 ! Reviewer: Date: dd-mmm-yy C 13 ! C 14 ! Literature/Document References: None C 15 ! C 16 ! Variables referenced: None C 17 ! Variables modified: None C 18 ! C 19 ! Local variables: None C 20 ! C 21 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C 22 MODULE fldvar 23 24 Use param 25 Use param1 26 27 28 ! 29 ! Void fraction 30 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: EP_g 31 ! 32 ! Previous-time-step value of Void fraction 33 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: EP_go 34 ! 35 ! Gas pressure 36 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_g 37 ! 38 ! Previous-time-step value of Gas pressure 39 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_go 40 ! 41 ! Gas density 42 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: RO_g 43 ! 44 ! Previous-time-step value of Gas density 45 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: RO_go 46 ! 47 ! Macroscopic gas density 48 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ROP_g 49 ! 50 ! Previous-time-step value of macroscopic gas density 51 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ROP_go 52 ! 53 54 ! Solids phase densities 55 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: RO_S 56 ! Previous-time-step value Solids phase densities 57 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: RO_So 58 59 60 ! Macroscopic density of solids phases 61 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: ROP_s 62 ! 63 ! Previous-time-step value of macroscopic density of 64 ! solids phases 65 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: ROP_so 66 67 ! Macroscopic density of particle diameter 68 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: D_p 69 ! 70 ! Previous-time-step value of particle diameter 71 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: D_po 72 73 ! Gas phase temperature 74 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: T_g 75 ! 76 ! Solids phase temperature 77 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: T_s 78 ! 79 ! Previous-time-step value of Gas phase temperature 80 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: T_go 81 ! 82 ! Previous-time-step value of Solids phase temperature 83 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: T_so 84 ! 85 ! Gas species mass fraction 86 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: X_g 87 ! 88 ! Solids species mass fraction 89 DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: X_s 90 ! 91 ! Previous-time-step value of Gas species mass fraction 92 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: X_go 93 ! 94 ! Previous-time-step value of Solids species mass fraction 95 DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: X_so 96 ! 97 ! x-component of gas velocity 98 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: U_g 99 ! 100 ! Previous-time-step value of x-component of gas velocity 101 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: U_go 102 ! 103 ! x-component of solids phase velocity 104 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: U_s 105 ! 106 ! Previous-time-step value of x-component of solids phase 107 ! velocity 108 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: U_so 109 ! 110 ! y-component of gas velocity 111 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: V_g 112 ! 113 ! Previous time-step value of y-component of gas velocity 114 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: V_go 115 ! 116 ! y-component of solids phase velocity 117 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: V_s 118 ! 119 ! Previous time-step value of y-component of solids phase 120 ! velocity 121 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: V_so 122 ! 123 ! z-component of gas velocity 124 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: W_g 125 ! 126 ! Previous time-step value of z-component of gas velocity 127 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: W_go 128 ! 129 ! z-component of solids phase velocity 130 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: W_s 131 ! 132 ! Previous time-step value of z-component of solids phase 133 ! velocity 134 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: W_so 135 ! 136 ! Solids pressure as a result of granular motion 137 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: P_s 138 ! 139 ! Solids pressure as a result of granular motion 140 ! Collisional Contribution 141 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: P_s_c 142 ! 143 ! Solids pressure as a result of granular motion 144 ! Viscous Contribution 145 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_s_v 146 ! 147 ! Solids pressure as a result of granular motion 148 ! Frictional Contribution 149 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_s_f 150 ! Solids pressure as a result of granular motion 151 ! Plastic Contribution 152 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_s_p 153 ! 154 ! Solids pressure that maintains EP_g >= EP_star 155 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_star 156 ! 157 ! Previous-time-step value of Solids pressure that maintains EP_g >= EP_star 158 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: P_staro 159 ! 160 ! Granular temperature of mth phase 161 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: THETA_m 162 ! 163 ! Previous-time-step value of Granular temperature of mth phase 164 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: THETA_mo 165 ! 166 ! 167 ! User-defined Scalars 168 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: Scalar 169 ! 170 ! Previous time-step value of User-defined Scalars 171 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: Scalaro 172 ! 173 ! 174 ! K and Epsilon for Gas turbulence 175 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: K_Turb_G 176 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: E_Turb_G 177 ! 178 ! Previous time-step value of K and Epsilon 179 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: K_Turb_Go 180 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: E_Turb_Go 181 182 183 184 !--------------------------------------------------------------------------> J.Musser TBR 185 DOUBLE PRECISION, DIMENSION(:, :, :), ALLOCATABLE :: EP_SS 186 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: ERR_ARRAY 187 188 ! Function to calculate the solids phase M volume fraction. 189 190 CONTAINS 191 192 ! Solids volume fraction function 193 DOUBLE PRECISION FUNCTION EP_s(IJK, xxM) 194 IMPLICIT NONE 195 INTEGER xxM ! Solids phase dummy index 196 INTEGER IJK 197 198 EP_s = ROP_s(IJK, xxM)/RO_S(IJK,xxM) 199 END FUNCTION 200 201 !!!HPF$ align EP_g(:) with TT(:) 202 !!!HPF$ align EP_go(:) with TT(:) 203 !!!HPF$ align P_g(:) with TT(:) 204 !!!HPF$ align P_go(:) with TT(:) 205 !!!HPF$ align RO_g(:) with TT(:) 206 !!!HPF$ align RO_go(:) with TT(:) 207 !!!HPF$ align ROP_g(:) with TT(:) 208 !!!HPF$ align ROP_go(:) with TT(:) 209 !!!HPF$ align D_p(:, *) with TT(:) 210 !!!HPF$ align D_po(:, *) with TT(:) 211 !!!HPF$ align ROP_s(:, *) with TT(:) 212 !!!HPF$ align ROP_so(:, *) with TT(:) 213 !!!HPF$ align T_g(:) with TT(:) 214 !!!HPF$ align T_s(:, *) with TT(:) 215 !!!HPF$ align T_go(:) with TT(:) 216 !!!HPF$ align T_so(:, *) with TT(:) 217 !!!HPF$ align X_g(:, *) with TT(:) 218 !!!HPF$ align X_s(:, *, *) with TT(:) 219 !!!HPF$ align X_go(:, *) with TT(:) 220 !!!HPF$ align X_so(:, *, *) with TT(:) 221 !!!HPF$ align U_g(:) with TT(:) 222 !!!HPF$ align U_go(:) with TT(:) 223 !!!HPF$ align U_s(:, *) with TT(:) 224 !!!HPF$ align U_so(:, *) with TT(:) 225 !!!HPF$ align V_g(:) with TT(:) 226 !!!HPF$ align V_go(:) with TT(:) 227 !!!HPF$ align V_s(:, *) with TT(:) 228 !!!HPF$ align V_so(:, *) with TT(:) 229 !!!HPF$ align W_g(:) with TT(:) 230 !!!HPF$ align W_go(:) with TT(:) 231 !!!HPF$ align W_s(:, *) with TT(:) 232 !!!HPF$ align W_so(:, *) with TT(:) 233 !!!HPF$ align P_s(:, *) with TT(:) 234 !!!HPF$ align P_s_c(:, *) with TT(:) 235 !!!HPF$ align P_star(:) with TT(:) 236 !!!HPF$ align P_staro(:) with TT(:) 237 !!!HPF$ align THETA_m(:, *) with TT(:) 238 !!!HPF$ align THETA_mo(:, *) with TT(:) 239 240 241 END MODULE fldvar 242