67 TYPE(t_region
) :: region
73 CHARACTER(CHRLEN+4) :: fname
76 INTEGER :: icoff, ijcoff, inoff, ijnoff, ijkn, cell(8), errorflag
78 REAL(RFREAL) :: rho, u,
v, w, press, temp, mach,
c, qq
79 REAL(RFREAL),
POINTER :: xyz(:,:), cv(:,:), dv(:,:), tv(:,:), gv(:,:)
81 REAL(RFREAL) :: mut, tvort, len
82 REAL(RFREAL),
POINTER :: vort(:,:), lens(:)
85 REAL(RFREAL) :: su, sv, sw, spress, suu, svv, sww, suv, spp
86 REAL(RFREAL) :: rtime, smut, scdyn
87 LOGICAL :: statsactive
91 TYPE(t_mixt) ,
POINTER :: mixt
93 TYPE(t_turb) ,
POINTER :: turb
98 global => region%global
101 'POST_WriteTecplotAscii.F90' )
105 ilev = global%startLevel
114 statsactive = (global%postStatsFlag .AND. &
115 (global%flowType == flow_unsteady) .AND. &
116 (global%doStat == active))
119 rtime = 1._rfreal/global%integrTime
125 fname = trim(global%casename)//
'.dat'
126 OPEN(if_plot,file=fname,
status=
'unknown',
form=
'formatted',iostat=errorflag)
127 global%error = errorflag
128 IF (global%error /= 0) CALL
errorstop( global,err_file_open,__line__,fname )
130 IF (global%flowType == flow_steady)
THEN
131 WRITE(if_plot,1000,err=10) trim(global%casename),global%postIter
133 WRITE(if_plot,1005,err=10) trim(global%casename),global%postTime
135 IF (global%postPlotType == plot_grid_only)
THEN
136 WRITE(if_plot,1010,err=10)
'x y z'
140 IF (statsactive)
THEN
141 IF (global%mixtNStat > 0)
THEN
142 WRITE(if_plot,1010,err=10) &
143 'x y z rho u v w p T M <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp>'
145 WRITE(if_plot,1010,err=10) &
146 'x y z rho u v w p T M'
149 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M'
152 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M'
157 IF ((global%postTurbFlag .EQV. .false.) .OR. &
158 region%mixtInput%turbModel==turb_model_none)
THEN
160 IF (statsactive)
THEN
161 IF (global%mixtNStat > 0)
THEN
162 WRITE(if_plot,1010,err=10) &
163 'x y z rho u v w p T M <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp>'
165 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M'
168 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M'
171 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M'
174 IF (global%postTurbFlag)
THEN
175 IF (region%turbInput%nOutField == 1)
THEN
177 IF (statsactive)
THEN
178 IF (global%turbNStat > 0)
THEN
179 WRITE(if_plot,1010,err=10) &
180 'x y z rho u v w p T M mut <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp> <mut> <cdyn>'
182 WRITE(if_plot,1010,err=10) &
183 'x y z rho u v w p T M mut <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp>'
186 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M mut'
189 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M mut'
191 ELSEIF (region%turbInput%nOutField == 2)
THEN
193 IF (statsactive)
THEN
194 IF (global%turbNStat > 0)
THEN
195 WRITE(if_plot,1010,err=10) &
196 'x y z rho u v w p T M mut tvort <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp> <mut> <cdyn>'
198 WRITE(if_plot,1010,err=10) &
199 'x y z rho u v w p T M mut tvort <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp>'
202 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M mut tvort'
205 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M mut tvort'
208 IF ((region%turbInput%modelClass == model_rans) .AND. &
209 (region%turbInput%nOutField == 3))
THEN
211 IF (statsactive)
THEN
212 IF (global%turbNStat > 0)
THEN
213 WRITE(if_plot,1010,err=10) &
214 'x y z rho u v w p T M mut tvort lens <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp> <mut> <cdyn>'
216 WRITE(if_plot,1010,err=10) &
217 'x y z rho u v w p T M mut tvort lens <u> <v> <w> <p> <uu> <vv> <ww> <uv> <pp>'
220 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M mut tvort lens'
223 WRITE(if_plot,1010,err=10)
'x y z rho u v w p T M mut tvort lens'
238 xyz => region%levels(ilev)%grid%xyz
239 mixt => region%levels(ilev)%mixt
245 turb => region%levels(ilev)%turb
247 IF (global%postTurbFlag)
THEN
248 IF (region%turbInput%nOutField > 1) vort => region%levels(ilev)%turb%vort
250 IF (region%turbInput%modelClass == model_rans) &
251 lens => region%levels(ilev)%turb%lens
257 IF (global%postPlotType == plot_grid_only)
THEN
262 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
263 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
277 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
278 cell(1) = indijk(
i ,
j ,
k ,icoff,ijcoff)
279 cell(2) = indijk(
i-1,
j ,
k ,icoff,ijcoff)
280 cell(3) = indijk(
i ,
j-1,
k ,icoff,ijcoff)
281 cell(4) = indijk(
i-1,
j-1,
k ,icoff,ijcoff)
282 cell(5) = indijk(
i ,
j ,
k-1,icoff,ijcoff)
283 cell(6) = indijk(
i-1,
j ,
k-1,icoff,ijcoff)
284 cell(7) = indijk(
i ,
j-1,
k-1,icoff,ijcoff)
285 cell(8) = indijk(
i-1,
j-1,
k-1,icoff,ijcoff)
287 rho =
aver(cell,cv_mixt_dens,cv)
288 u =
averdiv(cell,cv_mixt_xmom,cv,cv_mixt_dens,cv)
289 v =
averdiv(cell,cv_mixt_ymom,cv,cv_mixt_dens,cv)
290 w =
averdiv(cell,cv_mixt_zmom,cv,cv_mixt_dens,cv)
291 press =
aver(cell,dv_mixt_pres,dv)
292 temp =
aver(cell,dv_mixt_temp,dv)
293 c =
aver(cell,dv_mixt_soun,dv)
297 IF (statsactive)
THEN
298 IF (global%mixtNStat > 0)
THEN
299 su =
aver(cell,2,mixt%tav)*rtime
300 sv =
aver(cell,3,mixt%tav)*rtime
301 sw =
aver(cell,4,mixt%tav)*rtime
302 spress =
aver(cell,5,mixt%tav)*rtime
303 suu =
aver(cell,7,mixt%tav)*rtime
304 svv =
aver(cell,8,mixt%tav)*rtime
305 sww =
aver(cell,9,mixt%tav)*rtime
306 suv =
aver(cell,10,mixt%tav)*rtime
307 spp =
aver(cell,11,mixt%tav)*rtime
312 spp = spp - spress*spress
315 IF (global%turbNStat > 0)
THEN
316 smut =
aver(cell,1,turb%tav)*rtime
317 scdyn =
aver(cell,2,turb%tav)*rtime
325 IF (statsactive)
THEN
326 IF (global%mixtNStat > 0)
THEN
327 WRITE(if_plot,1030,err=10) xyz(xcoord,ijkn), &
330 rho,u,
v,w,press,temp,mach, &
331 su,sv,sw,spress,suu,svv,sww,suv,spp
333 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
336 rho,u,
v,w,press,temp,mach
339 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
342 rho,u,
v,w,press,temp,mach
345 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
348 rho,u,
v,w,press,temp,mach
353 IF ((global%postTurbFlag .EQV. .false.) .OR. &
354 region%turbInput%modelClass == model_none)
THEN
356 IF (statsactive)
THEN
357 IF (global%mixtNStat > 0)
THEN
358 WRITE(if_plot,1030,err=10) xyz(xcoord,ijkn), &
361 rho,u,
v,w,press,temp,mach,&
362 su,sv,sw,spress,suu,svv,sww,suv,spp
364 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
367 rho,u,
v,w,press,temp,mach
370 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
373 rho,u,
v,w,press,temp,mach
376 WRITE(if_plot,1020,err=10) xyz(xcoord,ijkn), &
379 rho,u,
v,w,press,temp,mach
382 IF (global%postTurbFlag)
THEN
383 mut =
aver(cell,tv_mixt_muet,tv)
384 IF (region%turbInput%nOutField == 1)
THEN
386 IF (statsactive)
THEN
387 IF (global%turbNStat > 0)
THEN
388 WRITE(if_plot,1041,err=10) xyz(xcoord,ijkn), &
391 rho,u,
v,w,press,temp,mach,mut, &
392 su,sv,sw,spress,suu,svv,sww,suv,spp, &
395 WRITE(if_plot,1031,err=10) xyz(xcoord,ijkn), &
398 rho,u,
v,w,press,temp,mach,mut, &
399 su,sv,sw,spress,suu,svv,sww,suv,spp
402 WRITE(if_plot,1021,err=10) xyz(xcoord,ijkn), &
405 rho,u,
v,w,press,temp,mach,mut
408 WRITE(if_plot,1021,err=10) xyz(xcoord,ijkn), &
411 rho,u,
v,w,press,temp,mach,mut
413 ELSEIF (region%turbInput%nOutField == 2)
THEN
414 tvort =
aver(cell,xcoord,vort)
416 IF (statsactive)
THEN
417 IF (global%turbNStat > 0)
THEN
418 WRITE(if_plot,1042,err=10) xyz(xcoord,ijkn), &
421 rho,u,
v,w,press,temp,mach,mut,tvort, &
422 su,sv,sw,spress,suu,svv,sww,suv,spp, &
425 WRITE(if_plot,1032,err=10) xyz(xcoord,ijkn), &
428 rho,u,
v,w,press,temp,mach,mut,tvort, &
429 su,sv,sw,spress,suu,svv,sww,suv,spp
432 WRITE(if_plot,1022,err=10) xyz(xcoord,ijkn), &
435 rho,u,
v,w,press,temp,mach,mut,tvort
438 WRITE(if_plot,1022,err=10) xyz(xcoord,ijkn), &
441 rho,u,
v,w,press,temp,mach,mut,tvort
444 IF ((region%turbInput%modelClass == model_rans ) .AND. &
445 (region%turbInput%nOutField == 3))
THEN
446 tvort =
aver(cell,xcoord,vort)
449 IF (statsactive)
THEN
450 IF (global%turbNStat > 0)
THEN
451 WRITE(if_plot,1043,err=10) xyz(xcoord,ijkn), &
454 rho,u,
v,w,press,temp,mach,mut,tvort,len, &
455 su,sv,sw,spress,suu,svv,sww,suv,spp,smut,scdyn
457 WRITE(if_plot,1033,err=10) xyz(xcoord,ijkn), &
460 rho,u,
v,w,press,temp,mach,mut,tvort,len, &
461 su,sv,sw,spress,suu,svv,sww,suv,spp
464 WRITE(if_plot,1023,err=10) xyz(xcoord,ijkn), &
467 rho,u,
v,w,press,temp,mach,mut,tvort,len
470 WRITE(if_plot,1023,err=10) xyz(xcoord,ijkn), &
473 rho,u,
v,w,press,temp,mach,mut,tvort,len
486 IF (ireg == global%nRegions)
THEN
487 CLOSE(if_plot,iostat=errorflag)
488 global%error = errorflag
489 IF (global%error /= 0) CALL
errorstop( global,err_file_close,__line__,fname )
496 CALL
errorstop( global,err_file_write,__line__,fname )
500 1000
FORMAT(
'TITLE="',
a,
'. Iteration: ',i8,
'."')
501 1005
FORMAT(
'TITLE="',
a,
'. Time: ',1pe11.5,
'."')
502 1010
FORMAT(
'VARIABLES= ',
a)
503 1015
FORMAT(
'ZONE T="',i5.5,
'", I=',i6,
', J=',i6,
', K=',i6,
', F=POINT')
504 1020
FORMAT(1p,10(1
x,e13.6))
505 1021
FORMAT(1p,11(1
x,e13.6))
506 1022
FORMAT(1p,12(1
x,e13.6))
507 1023
FORMAT(1p,13(1
x,e13.6))
508 1030
FORMAT(1p,19(1
x,e13.6))
509 1031
FORMAT(1p,20(1
x,e13.6))
510 1032
FORMAT(1p,21(1
x,e13.6))
511 1033
FORMAT(1p,22(1
x,e13.6))
512 1041
FORMAT(1p,22(1
x,e13.6))
513 1042
FORMAT(1p,23(1
x,e13.6))
514 1043
FORMAT(1p,24(1
x,e13.6))
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpnbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kpnbeg
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpnend
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
subroutine writetecplotascii(iReg, region)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipnbeg
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE form
DOUBLE PRECISION function aver1d(cell, var)
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
DOUBLE PRECISION function aver(cell, iEq, var)
DOUBLE PRECISION function averdiv(cell, iEq1, var1, iEq2, var2)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipnend