1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv! 2 ! ! 3 ! Module: MFIX_PIC ! 4 ! Purpose: MP-PIC related data ! 5 ! Author: R. Garg ! 6 ! ! 7 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^! 8 9 MODULE MFIX_PIC 10 11 !----------------------------------------------- 12 ! Modules 13 !----------------------------------------------- 14 USE param 15 USE param1 16 !----------------------------------------------- 17 18 ! flag for turning on MP-PIC method 19 LOGICAL :: MPPIC 20 21 DOUBLE PRECISION PSFAC_FRIC_PIC, FRIC_EXP_PIC, FRIC_NON_SING_FAC 22 23 LOGICAL :: MPPIC_SOLID_STRESS_SNIDER 24 LOGICAL :: MPPIC_CORR_VOLFRAC 25 INTEGER :: ITER_VOL_FRAC_CORR 26 27 ! force to solids pressure gradient 28 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: PS_FORCE_PIC 29 30 ! avg solid velocity at particle position (used for MP-PIC) 31 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: AVGSOLVEL_P 32 33 ! EP_g interpolated at particle position (used for MP-PIC) 34 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: EPG_P 35 36 ! Total number of real and computational 37 ! particles in each solid phase (used only for MP-PIC) 38 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: RNP_PIC !(DES_MMAX) 39 INTEGER, DIMENSION(:), ALLOCATABLE :: CNP_PIC !(DES_MMAX) 40 41 ! to initially seed the particles based on constant number of 42 ! particles per cell or constant statistical weight of each particle 43 ! number of particles per cell for the case of CONSTANTNPC 44 LOGICAL :: MPPIC_CONSTANTNPC, MPPIC_CONSTANTWT 45 46 ! coefficeient of restituion used in MPPIC case in the 47 ! frictional regime 48 DOUBLE PRECISION :: MPPIC_COEFF_EN1, MPPIC_COEFF_EN2 49 50 DOUBLE PRECISION :: MPPIC_COEFF_EN_WALL, MPPIC_COEFF_ET_WALL 51 INTEGER NPC_PIC(DIM_M) 52 53 ! statistical weight or number of real particles per computational 54 ! particle for the case of CONSTANTWT 55 DOUBLE PRECISION STATWT_PIC(DIM_M) 56 57 ! # of computational particles for the entire grid 58 ! keep it double precision for inlow BC 59 DOUBLE PRECISION , DIMENSION(:,:), ALLOCATABLE :: CNP_ARRAY 60 61 ! Statistical weight of each particle 62 DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: DES_STAT_WT 63 64 ! logical variable to decide if special treatment is needed or not 65 ! in the direction of gravity in the frictional stress tensor 66 LOGICAL :: MPPIC_GRAV_TREATMENT 67 68 ! Particle response time scale for each phase 69 DOUBLE PRECISION :: DES_TAU_P(DIM_M) 70 71 ! The maximum dt for point particles based on particle response time 72 ! (taup) and cfl. See cfassign for its computation 73 DOUBLE PRECISION :: DTPIC_MAX 74 75 ! CFL value for point-particles that is used to control DTSOLID 76 ! DTPP_CFL, dt for point-particles based on user specified CFL_PP 77 ! and maximum velocity of particles 78 DOUBLE PRECISION CFL_PIC, DTPIC_CFL, DTPIC_TAUP 79 80 DOUBLE PRECISION :: DTSOLID_ORIG 81 ! solid pressure gradient 82 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: PS_GRAD 83 84 ! flag to turn on implicit treatment of drag force term in particle 85 ! trajectory evolution equation 86 LOGICAL MPPIC_PDRAG_IMPLICIT 87 88 ! the impulse velocity for the MPPIC collisions 89 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: MPPIC_VPTAU 90 91 92 ! Face centered u-velocity required by PIC model. Not using the U_s arrays anymore 93 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: PIC_U_S 94 ! Face centered v-velocity required by PIC model. Not using the U_s arrays anymore 95 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: PIC_V_S 96 ! Face centered z-velocity required by PIC model. Not using the U_s arrays anymore 97 DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: PIC_W_S 98 99 ! Solids pressure as a result of granular motion 100 DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: PIC_P_s 101 102 ! A run time flag to report minimum value of gas voidage 103 LOGICAL :: PIC_REPORT_MIN_EPG 104 end MODULE MFIX_PIC 105 106