65 TYPE(t_region
),
POINTER :: pregion
71 CHARACTER(CHRLEN) :: rcsidentstring
72 INTEGER :: ipatch,nbquads,nbquadstot,nbtris,nbtristot
74 INTEGER :: loc(xcoord:zcoord,min_val:max_val)
75 TYPE(t_grid),
POINTER :: pgrid
76 TYPE(t_patch),
POINTER :: ppatch
79 rcsidentstring =
'$RCSfile: RFLU_PrintGridInfo.F90,v $ $Revision: 1.15 $'
85 global => pregion%global
88 'RFLU_PrintGridInfo.F90')
90 IF ( global%verbLevel >= verbose_med )
THEN
91 WRITE(stdout,
'(A,1X,A)') solver_name
92 WRITE(stdout,
'(A,1X,A)') solver_name,
'Printing grid information...'
93 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Global region:', &
95 IF ( global%flowType == flow_unsteady )
THEN
96 WRITE(stdout,
'(A,3X,A,1X,1PE11.5)') solver_name,
'Current time:', &
105 pgrid => pregion%grid
116 DO ipatch = 1,pgrid%nPatches
117 ppatch => pregion%patches(ipatch)
119 nbtris = nbtris + ppatch%nBTris
120 nbtristot = nbtristot + ppatch%nBTrisTot
121 nbquads = nbquads + ppatch%nBQuads
122 nbquadstot = nbquadstot + ppatch%nBQuadsTot
129 IF ( global%verbLevel >= verbose_med )
THEN
130 WRITE(stdout,
'(A,3X,A)') solver_name,
'Grid statistics:'
131 WRITE(stdout,
'(A,5X,A,3X,2(1X,I9))') solver_name,
'Vertices: ', &
132 pgrid%nVert,pgrid%nVertTot-pgrid%nVert
133 WRITE(stdout,
'(A,5X,A,3X,2(1X,I9))') solver_name,
'Cells: ', &
134 pgrid%nCells,pgrid%nCellsTot-pgrid%nCells
135 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Tetrahedra: ', &
136 pgrid%nTets,pgrid%nTetsTot-pgrid%nTets
137 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Hexahedra: ', &
138 pgrid%nHexs,pgrid%nHexsTot-pgrid%nHexs
139 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Prisms: ', &
140 pgrid%nPris,pgrid%nPrisTot-pgrid%nPris
141 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Pyramids: ', &
142 pgrid%nPyrs,pgrid%nPyrsTot-pgrid%nPyrs
143 WRITE(stdout,
'(A,5X,A,4X,I9)') solver_name,
'Patches: ', &
145 WRITE(stdout,
'(A,5X,A,3X,2(1X,I9))') solver_name,
'Patch faces: ', &
146 nbtris+nbquads,nbtristot+nbquadstot-nbtris-nbquads
147 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Triangles: ', &
148 nbtris,nbtristot-nbtris
149 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Quadrilaterals:', &
150 nbquads,nbquadstot-nbquads
157 IF ( global%verbLevel >= verbose_med )
THEN
158 IF ( pgrid%nPatches > 0 )
THEN
159 WRITE(stdout,
'(A,3X,A)') solver_name,
'Patch statistics:'
161 DO ipatch = 1,pgrid%nPatches
162 ppatch => pregion%patches(ipatch)
164 WRITE(stdout,
'(A,5X,A,2X,I4)') solver_name,
'Patch:',ipatch
165 WRITE(stdout,
'(A,7X,A,6X,2(1X,I9))') solver_name,
'Triangles:', &
166 ppatch%nBTris,ppatch%nBTrisTot-ppatch%nBTris
167 WRITE(stdout,
'(A,7X,A,1X,2(1X,I9))') solver_name,
'Quadrilaterals:', &
168 ppatch%nBQuads,ppatch%nBQuadsTot-ppatch%nBQuads
179 dummy = minloc(pgrid%xyz(xcoord,1:pgrid%nVert))
180 loc(xcoord,min_val) = dummy(1)
182 dummy = minloc(pgrid%xyz(ycoord,1:pgrid%nVert))
183 loc(ycoord,min_val) = dummy(1)
185 dummy = minloc(pgrid%xyz(zcoord,1:pgrid%nVert))
186 loc(zcoord,min_val) = dummy(1)
189 dummy = maxloc(pgrid%xyz(xcoord,1:pgrid%nVert))
190 loc(xcoord,max_val) = dummy(1)
192 dummy = maxloc(pgrid%xyz(ycoord,1:pgrid%nVert))
193 loc(ycoord,max_val) = dummy(1)
195 dummy = maxloc(pgrid%xyz(zcoord,1:pgrid%nVert))
196 loc(zcoord,max_val) = dummy(1)
199 IF ( global%verbLevel >= verbose_med )
THEN
200 WRITE(stdout,
'(A,3X,A)') solver_name,
'Coordinate extrema:'
201 WRITE(stdout,
'(A,5X,A,2(1X,E23.16),2(1X,I9))') &
202 solver_name,
'X-coordinate:', &
203 minval(pgrid%xyz(xcoord,1:pgrid%nVert)), &
204 maxval(pgrid%xyz(xcoord,1:pgrid%nVert)), &
205 loc(xcoord,min_val),loc(xcoord,max_val)
206 WRITE(stdout,
'(A,5X,A,2(1X,E23.16),2(1X,I9))') &
207 solver_name,
'Y-coordinate:', &
208 minval(pgrid%xyz(ycoord,1:pgrid%nVert)), &
209 maxval(pgrid%xyz(ycoord,1:pgrid%nVert)), &
210 loc(ycoord,min_val),loc(ycoord,max_val)
211 WRITE(stdout,
'(A,5X,A,2(1X,E23.16),2(1X,I9))') &
212 solver_name,
'Z-coordinate:', &
213 minval(pgrid%xyz(zcoord,1:pgrid%nVert)), &
214 maxval(pgrid%xyz(zcoord,1:pgrid%nVert)), &
215 loc(zcoord,min_val),loc(zcoord,max_val)
222 IF ( global%verbLevel >= verbose_med )
THEN
223 WRITE(stdout,
'(A,1X,A)') solver_name,
'Printing grid information done.'
224 WRITE(stdout,
'(A,1X,A)') solver_name
subroutine registerfunction(global, funName, fileName)
subroutine rflu_printgridinfo(pRegion)
subroutine deregisterfunction(global)