1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv! 2 ! ! 3 ! Module name: DISCRETELEMENT ! 4 ! Purpose: DES mod file ! 5 ! ! 6 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^! 7 MODULE PARTICLE_FILTER 8 9 IMPLICIT NONE 10 11 ! Switch to decide whether to call drag_gs or to call des_drag_gs via 12 ! drag_fgs to calculate the gas-solids drag coefficient. if false 13 ! then drag_gs is used, otherwise des_drag_gs via drag_fgs is used 14 ! At a more fundamental level, when des_interp_on is true, then the 15 ! drag on particle is obtained by interpolating the carrier flow 16 ! velocity at the particle location. Similarly the drag force on the 17 ! Eulerian grid is obtained by backward of interpolaiton of the above 18 ! calculated drag force. See the DEM doc for more details. 19 LOGICAL DES_INTERP_ON 20 21 ! Switch to decide if the mean fields (such as solids volume fraction 22 ! and mean solids velocity) are obtained by interpolation or by the more 23 ! crude cell artihmetic averages. For MPPIC, this will switch will always 24 ! be true. 25 LOGICAL DES_INTERP_MEAN_FIELDS 26 27 ! Flag to check if mass is conserved between discrete and continuum 28 ! representations when mean fields are computed by backward interpolation. 29 ! Critical for cut-cells. 30 LOGICAL DES_REPORT_MASS_INTERP 31 32 33 LOGICAL :: DES_DIFFUSE_MEAN_FIELDS 34 DOUBLE PRECISION :: DES_DIFFUSE_WIDTH 35 36 DOUBLE PRECISION :: DES_INTERP_WIDTH 37 DOUBLE PRECISION :: FILTER_WIDTH_INTERP 38 39 CHARACTER(len=32) :: DES_INTERP_SCHEME 40 41 INTEGER :: DES_INTERP_SCHEME_ENUM 42 INTEGER, PARAMETER :: DES_INTERP_NONE = 0 43 INTEGER, PARAMETER :: DES_INTERP_GARG = 1 44 INTEGER, PARAMETER :: DES_INTERP_DPVM = 2 45 INTEGER, PARAMETER :: DES_INTERP_GAUSS = 3 46 47 48 DOUBLE PRECISION :: FILTER_WIDTH_INTERPx3, OoFILTER_VOL 49 50 INTEGER :: FILTER_SIZE = 0 51 INTEGER, DIMENSION(:,:), ALLOCATABLE :: FILTER_CELL 52 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: FILTER_WEIGHT 53 54 55 END MODULE PARTICLE_FILTER 56