MFIX  2016-1
mfix_pic_mod.f
Go to the documentation of this file.
1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2 ! !
3 ! Module: MFIX_PIC !
4 ! Purpose: MP-PIC related data !
5 ! Author: R. Garg !
6 ! !
7 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
8  MODULE mfix_pic
9 
10  use param, only: dim_m
11 !......................................................................!
12 
13 ! flag for turning on MP-PIC method
14  LOGICAL :: mppic
15 
16  DOUBLE PRECISION :: psfac_fric_pic
17  DOUBLE PRECISION :: fric_exp_pic
18  DOUBLE PRECISION :: fric_non_sing_fac
19 
21  LOGICAL :: mppic_corr_volfrac
22  INTEGER :: iter_vol_frac_corr
23 
24 ! force to solids pressure gradient
25  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: ps_force_pic
26 
27 ! avg solid velocity at particle position (used for MP-PIC)
28  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: avgsolvel_p
29 
30 ! EP_g interpolated at particle position (used for MP-PIC)
31  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: epg_p
32 
33 ! to initially seed the particles based on constant number of
34 ! particles per cell or constant statistical weight of each particle
35 ! number of particles per cell for the case of CONSTANTNPC
37 
38  INTEGER npc_pic(dim_m)
39 
40 ! coefficeient of restituion used in MPPIC case in the
41 ! frictional regime
42  DOUBLE PRECISION :: mppic_coeff_en1, mppic_coeff_en2
44 
45 ! statistical weight or number of real particles per computational
46 ! particle for the case of CONSTANTWT
47  DOUBLE PRECISION statwt_pic(dim_m)
48 
49 ! # of computational particles for the entire grid
50 ! keep it double precision for inlow BC
51  DOUBLE PRECISION , DIMENSION(:,:), ALLOCATABLE :: cnp_array
52 
53 ! Statistical weight of each particle
54  DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: des_stat_wt
55 
56 ! logical variable to decide if special treatment is needed or not
57 ! in the direction of gravity in the frictional stress tensor
59 
60 ! Particle response time scale for each phase
61  DOUBLE PRECISION :: des_tau_p(dim_m)
62 
63 ! The maximum dt for point particles based on particle response time
64 ! (taup) and cfl. See cfassign for its computation
65  DOUBLE PRECISION :: dtpic_max
66 
67 ! CFL value for point-particles that is used to control DTSOLID
68 ! DTPP_CFL, dt for point-particles based on user specified CFL_PP
69 ! and maximum velocity of particles
70  DOUBLE PRECISION cfl_pic, dtpic_cfl, dtpic_taup
71 
72  DOUBLE PRECISION :: dtsolid_orig
73 ! solid pressure gradient
74  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: ps_grad
75 
76 ! flag to turn on implicit treatment of drag force term in particle
77 ! trajectory evolution equation
79 
80 ! Solids pressure as a result of granular motion
81  DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: pic_p_s
82 !Face centered u-velocity required by PIC model.
83  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: pic_u_s
84 ! Face centered v-velocity required by PIC model. Not using the U_s arrays anymore
85  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: pic_v_s
86 ! Face centered z-velocity required by PIC model. Not using the U_s arrays anymore
87  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: pic_w_s
88 
89 ! A run time flag to report minimum value of gas voidage
90  LOGICAL :: pic_report_min_epg
91 
92  END MODULE mfix_pic
93 
double precision fric_non_sing_fac
Definition: mfix_pic_mod.f:18
double precision dtpic_cfl
Definition: mfix_pic_mod.f:70
logical mppic_corr_volfrac
Definition: mfix_pic_mod.f:21
double precision, dimension(:,:), allocatable avgsolvel_p
Definition: mfix_pic_mod.f:28
double precision, dimension(:,:), allocatable cnp_array
Definition: mfix_pic_mod.f:51
double precision, dimension(:,:), allocatable ps_grad
Definition: mfix_pic_mod.f:74
double precision fric_exp_pic
Definition: mfix_pic_mod.f:17
logical mppic_solid_stress_snider
Definition: mfix_pic_mod.f:20
logical mppic_pdrag_implicit
Definition: mfix_pic_mod.f:78
integer, parameter dim_m
Definition: param_mod.f:67
double precision, dimension(:,:), allocatable pic_p_s
Definition: mfix_pic_mod.f:81
double precision cfl_pic
Definition: mfix_pic_mod.f:70
double precision, dimension(:,:), allocatable pic_v_s
Definition: mfix_pic_mod.f:85
double precision mppic_coeff_et_wall
Definition: mfix_pic_mod.f:43
logical mppic_constantnpc
Definition: mfix_pic_mod.f:36
double precision mppic_coeff_en2
Definition: mfix_pic_mod.f:42
double precision psfac_fric_pic
Definition: mfix_pic_mod.f:16
double precision, dimension(dim_m) statwt_pic
Definition: mfix_pic_mod.f:47
integer, dimension(dim_m) npc_pic
Definition: mfix_pic_mod.f:38
double precision dtsolid_orig
Definition: mfix_pic_mod.f:72
double precision, dimension(:,:), allocatable pic_w_s
Definition: mfix_pic_mod.f:87
Definition: param_mod.f:2
double precision dtpic_taup
Definition: mfix_pic_mod.f:70
double precision, dimension(dim_m) des_tau_p
Definition: mfix_pic_mod.f:61
double precision, dimension(:), allocatable epg_p
Definition: mfix_pic_mod.f:31
logical pic_report_min_epg
Definition: mfix_pic_mod.f:90
double precision dtpic_max
Definition: mfix_pic_mod.f:65
double precision mppic_coeff_en1
Definition: mfix_pic_mod.f:42
double precision, dimension(:,:), allocatable pic_u_s
Definition: mfix_pic_mod.f:83
logical mppic
Definition: mfix_pic_mod.f:14
logical mppic_constantwt
Definition: mfix_pic_mod.f:36
double precision mppic_coeff_en_wall
Definition: mfix_pic_mod.f:43
integer iter_vol_frac_corr
Definition: mfix_pic_mod.f:22
double precision, dimension(:), allocatable des_stat_wt
Definition: mfix_pic_mod.f:54
logical mppic_grav_treatment
Definition: mfix_pic_mod.f:58
double precision, dimension(:,:), allocatable ps_force_pic
Definition: mfix_pic_mod.f:25