MFIX  2016-1
get_eq.f
Go to the documentation of this file.
1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2 ! C
3 ! Module name: GET_EQ(A, B, VEL, DTxFA, IJK1) C
4 ! Purpose: Complete the filling of coefficient matrix A C
5 ! C
6 ! Author: M. Syamlal Date: 23-JUL-92 C
7 ! Reviewer: W. Rogers Date: 11-DEC-92 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: C
15 ! C
16 ! Variables referenced: C
17 ! Variables modified: C
18 ! C
19 ! Local variables: C
20 ! C
21 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
22 !
23  SUBROUTINE get_eq(A, BB, VEL, DTXFA, IJK1)
24 !...Translated by Pacific-Sierra Research VAST-90 2.06G5 12:17:31 12/09/98
25 !...Switches: -xf
26 !
27 ! Include param.inc file to specify parameter values
28 !
29 !-----------------------------------------------
30 ! M o d u l e s
31 !-----------------------------------------------
32  USE param
33  USE param1
34  USE physprop
35  USE geometry
36  USE fldvar
37  USE indices
38  IMPLICIT NONE
39 !-----------------------------------------------
40 ! G l o b a l P a r a m e t e r s
41 !-----------------------------------------------
42 !-----------------------------------------------
43 ! D u m m y A r g u m e n t s
44 !-----------------------------------------------
45 !
46 ! Local index of the solids phases
47  INTEGER L, M
48 !
49 ! IMJK etc.
50  INTEGER IJK1
51 !
52 ! Average DTxF_gs and DTxF_ss
53  DOUBLE PRECISION DTxFA(0:dimension_m, 0:dimension_m)
54 !
55 ! Coefficients in the discretized momentum equations
56 ! Av = B, where v(0) = V_g, v(1) = V_s1 etc.
57  DOUBLE PRECISION A(0:dimension_m, 0:dimension_m), BB(0:dimension_m)
58 !
59 ! Solids velocity array passed
60  DOUBLE PRECISION VEL (dimension_3, dimension_m)
61 !
62 !-----------------------------------------------
63 !
64 !
65 ! Compute off-diagonal coefficients
66 !
67  DO m = 1, mmax
68  IF (a(m,m) /= zero) THEN
69  a(0,m) = -dtxfa(0,m)
70  a(m,0) = -dtxfa(0,m)
71  DO l = m + 1, mmax
72  IF (a(l,l) /= zero) THEN
73  a(l,m) = -dtxfa(l,m)
74  a(m,l) = -dtxfa(l,m)
75  ELSE
76  a(l,m) = zero
77  a(m,l) = zero
78  ENDIF
79  END DO
80  ELSE
81  a(0,m) = zero
82  a(m,0) = zero
83  l = m + 1
84  IF (mmax - m > 0) THEN
85  a(m+1:mmax,m) = zero
86  a(m,m+1:mmax) = zero
87  l = mmax + 1
88  ENDIF
89  IF (bb(m) == undefined) THEN
90  a(0,0) = a(0,0) + dtxfa(0,m)
91  bb(0) = bb(0) + dtxfa(0,m)*vel(ijk1,m)
92  DO l = 1, mmax
93  IF (l/=m .AND. a(l,l)/=zero) THEN
94  a(l,l) = a(l,l) + dtxfa(l,m)
95  bb(l) = bb(l) + dtxfa(l,m)*vel(ijk1,m)
96  ENDIF
97  END DO
98  ENDIF
99  ENDIF
100  END DO
101  DO m = 0, mmax
102  DO l = 0, mmax
103  IF (l /= m) a(m,m) = a(m,m) - a(m,l)
104  END DO
105  END DO
106  RETURN
107  END SUBROUTINE get_eq
integer dimension_3
Definition: param_mod.f:11
subroutine get_eq(A, BB, VEL, DTXFA, IJK1)
Definition: get_eq.f:24
double precision, parameter undefined
Definition: param1_mod.f:18
integer mmax
Definition: physprop_mod.f:19
Definition: param_mod.f:2
integer dimension_m
Definition: param_mod.f:18
double precision, parameter zero
Definition: param1_mod.f:27