File: /nfs/home/0/users/jenkins/mfix.git/model/display_resid.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 SUBROUTINE DISPLAY_RESID(NIT)
21
22
23
24
25
26
27
28
29 USE param
30 USE param1
31 USE physprop
32 USE residual
33 USE fldvar
34 USE compar
35 USE geometry
36 USE scalars, only : NScalar
37 USE run
38 IMPLICIT NONE
39
40
41
42
43
44
45
46
47
48 INTEGER NIT
49
50
51 INTEGER L
52
53
54 LOGICAL,PARAMETER:: Print_ijk=.FALSE.
55
56
57
58 if (myPE.ne.PE_IO) return
59
60 IF(GROUP_RESID) THEN
61
62 IF (NIT == 1) THEN
63 WRITE (*, '(A)',ADVANCE="NO") ' Nit'
64 WRITE (*, '(2X, A7)',ADVANCE="NO") RESID_GRP_STRING(HYDRO_GRP)
65 IF(GRANULAR_ENERGY) WRITE (*, '(2X, A7)',ADVANCE="NO") RESID_GRP_STRING(THETA_GRP)
66 IF(ENERGY_EQ) WRITE (*, '(2X, A7)',ADVANCE="NO") RESID_GRP_STRING(ENERGY_GRP)
67 IF(ANY_SPECIES_EQ) WRITE (*, '(2X, A7)',ADVANCE="NO") RESID_GRP_STRING(SPECIES_GRP)
68 IF(NScalar > 0) WRITE (*, '(2X, A7)',ADVANCE="NO") RESID_GRP_STRING(SCALAR_GRP)
69 IF(K_EPSILON) WRITE (*, '(2X, A7)',ADVANCE="NO") RESID_GRP_STRING(KE_GRP)
70 WRITE (*, '(2X, A)') 'Max res'
71 ENDIF
72
73 WRITE (*, '(I5)',ADVANCE="NO") NIT
74 WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") RESID_GRP(HYDRO_GRP)
75 IF(GRANULAR_ENERGY) WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") RESID_GRP(THETA_GRP)
76 IF(ENERGY_EQ) WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") RESID_GRP(ENERGY_GRP)
77 IF(ANY_SPECIES_EQ) WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") RESID_GRP(SPECIES_GRP)
78 IF(NScalar > 0) WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") RESID_GRP(SCALAR_GRP)
79 IF(K_EPSILON) WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") RESID_GRP(KE_GRP)
80 WRITE (*, '(2X, A)') RESID_STRING(8)
81
82
83 ELSE
84
85 IF (NIT == 1) THEN
86 WRITE (*, '(A)',ADVANCE="NO") ' Nit'
87 DO L = 1, 8
88 IF (RESID_INDEX(L,1) /= UNDEFINED_I) WRITE (*, '(5X, A4)',ADVANCE="NO") &
89 RESID_STRING(L)
90 END DO
91 IF (RESID_INDEX(8,1) == UNDEFINED_I) THEN
92 WRITE (*, '(2X, A)') 'Max res'
93 ELSE
94 WRITE (*, *)
95 ENDIF
96 ENDIF
97
98 WRITE (*, '(I5)',ADVANCE="NO") NIT
99 DO L = 1, 8
100 IF (RESID_INDEX(L,1) /= UNDEFINED_I) WRITE (*, '(2X, 1PG8.1)',ADVANCE="NO") &
101 RESID(RESID_INDEX(L,1),RESID_INDEX(L,2))
102 END DO
103 IF (RESID_INDEX(8,1) == UNDEFINED_I) THEN
104 WRITE (*, '(2X, A)') RESID_STRING(8)
105 ELSE
106 WRITE (*, *)
107 ENDIF
108
109 ENDIF
110
111
112
113
114
115 IF(PRINT_IJK) WRITE(*,'(A, G12.3, 3I6, A, G12.3, 3I6, A, G12.3)') &
116 & " Max Res/IJK: P_g: ", MAX_RESID(RESID_P, 0), &
117 & I_OF_G(IJK_RESID(RESID_P, 0)), &
118 & J_OF_G(IJK_RESID(RESID_P, 0)), &
119 & K_OF_G(IJK_RESID(RESID_P, 0)), &
120 & " P_s: ", MAX_RESID(RESID_p, 1), &
121 & I_OF_G(IJK_RESID(RESID_p, 1)), &
122 & J_OF_G(IJK_RESID(RESID_p, 1)), &
123 & K_OF_G(IJK_RESID(RESID_p, 1)), &
124 & " P_star=", P_star(IJK_RESID(RESID_p, 1))
125
126 RETURN
127
128 contains
129
130
131
132
133
134
135 integer function k_of_g(ijk)
136 integer ijk
137 k_of_g = int( (ijk-1)/( (imax3-imin3+1)*(jmax3-jmin3+1) ) ) + kmin3
138 end function
139
140 integer function i_of_g(ijk)
141 integer ijk
142 i_of_g = int( ( (ijk- (k_of_g(ijk)-kmin3)*((imax3-imin3+1)*(jmax3-jmin3+1))) &
143 - 1)/(jmax3-jmin3+1)) + imin3
144 end function
145
146 integer function j_of_g(ijk)
147 integer ijk
148 j_of_g = ijk - (i_of_g(ijk)-imin3)*(jmax3-jmin3+1) - &
149 (k_of_g(ijk)-kmin3)*((imax3-imin3+1)*(jmax3-jmin3+1)) - 1 + jmin3
150 end function
151
152
153 END SUBROUTINE DISPLAY_RESID
154
155
156
157