MFIX  2016-1
set_param.f
Go to the documentation of this file.
1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2 ! !
3 ! Subroutinee: SET_PARAMETERS !
4 ! Purpose: Set parameters used in array allocations. !
5 ! !
6 ! Author: J.Musser Date: 17-APR-14 !
7 ! !
8 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
9  SUBROUTINE set_parameters
10 
11 ! Global Varialbes:
12 !---------------------------------------------------------------------//
13 ! Number of TFM solids
14  use physprop, only: mmax
15 ! Number of DES solids
16  use discretelement, only: des_mmax
17 ! Number of species
18  use physprop, only: nmax
19 ! Number of scalar equations
20  use scalars, only: nscalar
21 
22 ! Domain indices.
23  use geometry, only: imax3, jmax3, kmax3, ijkmax3
24 
25 ! Rank specific decompositions.
26  use compar, only: ijksize3_all
27  USE compar, only: istart3, iend3, istart4, iend4
28  USE compar, only: jstart3, jend3, jstart4, jend4
29  USE compar, only: kstart3, kend3, kstart4, kend4
30 
31 ! Global Parameters:
32 !---------------------------------------------------------------------//
33 ! Total number of solids phases
34  use param, only: dimension_m
35 ! Maximum number of species.
36  use param, only: dimension_n_g ! Gas
37  use param, only: dimension_n_s ! Solids
38 ! Maximum number of user-defined scalars
39  use param, only: dimension_scalar
40  use param, only: dim_scalar2
41 ! Dimension for the upper triangle of an MxM matrix
42  use param1, only: dimension_lm
43 ! Total number of species
44  use param1, only: dimension_n_all
45 ! Parameter constants.
46  use param1, only: undefined_i
47 ! Axis decomposition
49  USE param, only: dimension_3, dimension_4
51 
52 ! MPI-Domain decompoint and rank flags.
53  use compar, only: mype
54 ! Flag for POST_MFIX
55  use cdist, only: bdoing_postmfix
56 
57 
58  IMPLICIT NONE
59 
60 ! Local Variables:
61 !---------------------------------------------------------------------//
62 ! Loop index
63  INTEGER :: M, MMAX_TOT
64 !......................................................................!
65 
66 ! The total number of solids.
67  dimension_m = max(1, merge(mmax,mmax+des_mmax,bdoing_postmfix))
68 
69 ! Number of gas phase species.
70  dimension_n_g = merge(nmax(0), 1, nmax(0) /= undefined_i)
71 
72 ! Number of solids phase species. (Max over all phases)
73  dimension_n_s = 1
74 
75  mmax_tot = merge(mmax, mmax+des_mmax, bdoing_postmfix)
76  DO m = 1, mmax_tot
77  IF(nmax(m) /= undefined_i) &
78  dimension_n_s = max(dimension_n_s, nmax(m))
79  ENDDO
80 
81 ! Max number of species over all phases
82  dimension_n_all = max(dimension_n_g, dimension_n_s)
83 
84 ! Size of MxM upper triangular matrix.
85  dimension_lm = (dimension_m * (dimension_m-1)/2)+1
86 
87 ! Number of scalar equations.
88  dimension_scalar = nscalar
89  dim_scalar2 = 2*nscalar
90 
91 
92 
93 ! Set DIMENSION_x variables.
94  dimension_i = imax3
95  dimension_j = jmax3
96  dimension_k = kmax3
97 
98  dimension_3 = (kend3-kstart3+1)*(jend3-jstart3+1)*(iend3-istart3+1)
99  dimension_4 = (kend4-kstart4+1)*(jend4-jstart4+1)*(iend4-istart4+1)
100 
101  dimension_3g = ijkmax3 ! Global IJK array
102  dimension_3l = ijksize3_all(mype) ! Local IJK array
103  dimension_3p = merge(dimension_3, 1, .NOT.bdoing_postmfix)
104 
105 
106  RETURN
107  END SUBROUTINE set_parameters
108 
integer dimension_i
Definition: param_mod.f:7
integer iend3
Definition: compar_mod.f:80
integer jstart3
Definition: compar_mod.f:80
logical bdoing_postmfix
Definition: cdist_mod.f:6
integer kend4
Definition: compar_mod.f:94
integer dimension_lm
Definition: param1_mod.f:13
integer imax3
Definition: geometry_mod.f:91
integer dimension_3
Definition: param_mod.f:11
integer dimension_n_g
Definition: param_mod.f:20
integer iend4
Definition: compar_mod.f:94
integer dimension_k
Definition: param_mod.f:9
integer istart4
Definition: compar_mod.f:94
integer kstart3
Definition: compar_mod.f:80
integer kend3
Definition: compar_mod.f:80
integer ijkmax3
Definition: geometry_mod.f:82
integer mmax
Definition: physprop_mod.f:19
integer dimension_3l
Definition: param_mod.f:12
integer dimension_n_all
Definition: param1_mod.f:15
integer jend3
Definition: compar_mod.f:80
integer dimension_3g
Definition: param_mod.f:13
Definition: cdist_mod.f:2
integer jend4
Definition: compar_mod.f:94
integer dimension_4
Definition: param_mod.f:16
integer jmax3
Definition: geometry_mod.f:91
integer jstart4
Definition: compar_mod.f:94
subroutine set_parameters
Definition: set_param.f:10
integer dim_scalar2
Definition: param_mod.f:24
Definition: param_mod.f:2
integer dimension_3p
Definition: param_mod.f:14
integer kstart4
Definition: compar_mod.f:94
integer, dimension(0:dim_m) nmax
Definition: physprop_mod.f:119
integer kmax3
Definition: geometry_mod.f:91
integer mype
Definition: compar_mod.f:24
integer, parameter undefined_i
Definition: param1_mod.f:19
integer nscalar
Definition: scalars_mod.f:7
integer dimension_scalar
Definition: param_mod.f:23
integer dimension_n_s
Definition: param_mod.f:21
integer istart3
Definition: compar_mod.f:80
integer dimension_m
Definition: param_mod.f:18
integer, dimension(:), allocatable ijksize3_all
Definition: compar_mod.f:65
integer dimension_j
Definition: param_mod.f:8