66 TYPE(t_region
) :: region
69 INTEGER ::
i,
j,
k, ii, jj, kk
72 CHARACTER(CHRLEN) :: zonename
73 CHARACTER(2*CHRLEN) :: title
74 CHARACTER(1) :: nullchr
76 INTEGER :: ilev,
debug, visdouble, iret, imax, jmax, kmax, ijkmax
78 INTEGER :: icoff, ijcoff, inoff, ijnoff, ijkn, cell(8), errorflag
81 REAL(RFREAL),
POINTER :: xyz(:,:), cv(:,:), dv(:,:), tv(:,:), gv(:,:)
82 DOUBLE PRECISION,
ALLOCATABLE ::
x(:,:,:),
y(:,:,:),
z(:,:,:), &
83 rho(:,:,:), u(:,:,:),
v(:,:,:), w(:,:,:), &
84 press(:,:,:), temp(:,:,:), mach(:,:,:)
86 REAL(RFREAL),
POINTER :: vort(:,:), lens(:)
87 DOUBLE PRECISION,
ALLOCATABLE :: mut(:,:,:), tvort(:,:,:), len(:,:,:)
90 DOUBLE PRECISION,
ALLOCATABLE :: srho(:,:,:),su(:,:,:), sv(:,:,:), sw(:,:,:), &
91 spress(:,:,:), stemp(:,:,:), &
92 suu(:,:,:), svv(:,:,:), sww(:,:,:), suv(:,:,:), &
93 srr(:,:,:), spp(:,:,:), stt(:,:,:)
94 DOUBLE PRECISION,
ALLOCATABLE :: smut(:,:,:), scdyn(:,:,:)
96 LOGICAL :: statsactive
100 TYPE(t_mixt) ,
POINTER :: mixt
102 TYPE(t_turb) ,
POINTER :: turb
106 INTEGER :: tecini, tecdat, teczne, tecend
110 global => region%global
113 'POST_WriteTecplotBinary.F90' )
116 CALL
errorstop( global,err_file_write,__line__ )
124 ilev = global%startLevel
133 kmax = kpnend -
kpnbeg + 1
134 ijkmax = imax*jmax*kmax
139 statsactive = (global%postStatsFlag .AND. &
140 (global%flowType == flow_unsteady) .AND. &
141 (global%doStat == active))
144 rtime = 1._rfreal/global%integrTime
150 IF (global%flowType == flow_steady)
THEN
151 WRITE(title,1000) trim(global%casename),global%postIter
153 WRITE(title,1005) trim(global%casename),global%postTime
155 IF (global%postPlotType == plot_grid_only)
THEN
156 iret = tecini( trim(title)//nullchr, &
158 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
163 IF (statsactive)
THEN
164 IF (global%mixtNStat > 0)
THEN
165 iret = tecini( trim(title)//nullchr, &
167 'x y z rho u v w p T M <u> <v> <T> <uu> <vv> <ww> <uv> <TT>'//nullchr, &
168 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
171 iret = tecini( trim(title)//nullchr, &
172 'x y z rho u v w p T M'//nullchr, &
173 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
177 iret = tecini( trim(title)//nullchr, &
178 'x y z rho u v w p T M'//nullchr, &
179 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
183 iret = tecini( trim(title)//nullchr, &
184 'x y z rho u v w p T M'//nullchr, &
185 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
191 IF ((global%postTurbFlag .EQV. .false.) .OR. &
192 region%mixtInput%turbModel == turb_model_none)
THEN
194 IF (statsactive)
THEN
195 IF (global%mixtNStat > 0)
THEN
196 iret = tecini( trim(title)//nullchr, &
198 'x y z rho u v w p T M <u> <v> <T> <uu> <vv> <ww> <uv> <TT>'//nullchr, &
199 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
202 iret = tecini( trim(title)//nullchr, &
203 'x y z rho u v w p T M'//nullchr, &
204 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
208 iret = tecini( trim(title)//nullchr, &
209 'x y z rho u v w p T M'//nullchr, &
210 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
214 iret = tecini( trim(title)//nullchr, &
215 'x y z rho u v w p T M'//nullchr, &
216 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
220 IF (region%turbInput%nOutField == 1)
THEN
222 IF (statsactive)
THEN
223 IF (global%turbNStat > 0)
THEN
224 iret = tecini( trim(title)//nullchr, &
226 'x y z rho u v w p T M mut <u> <v> <T> <uu> <vv> <ww> <uv> <TT> <mut> <cdyn>'//nullchr, &
227 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
230 iret = tecini( trim(title)//nullchr, &
232 'x y z rho u v w p T M mut <u> <v> <T> <uu> <vv> <ww> <uv> <TT>'//nullchr, &
233 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
237 iret = tecini( trim(title)//nullchr, &
238 'x y z rho u v w p T M mut'//nullchr, &
239 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
243 iret = tecini( trim(title)//nullchr, &
244 'x y z rho u v w p T M mut'//nullchr, &
245 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
248 ELSEIF (region%turbInput%nOutField == 2)
THEN
250 IF (statsactive)
THEN
251 IF (global%turbNStat > 0)
THEN
252 iret = tecini( trim(title)//nullchr, &
254 'x y z rho u v w p T M mut tvort <u> <v> <T> <uu> <vv> <ww> <uv> <TT> <mut> <cdyn>'//nullchr, &
255 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
258 iret = tecini( trim(title)//nullchr, &
260 'x y z rho u v w p T M mut tvort <u> <v> <T> <uu> <vv> <ww> <uv> <TT>'//nullchr, &
261 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
265 iret = tecini( trim(title)//nullchr, &
266 'x y z rho u v w p T M mut tvort'//nullchr, &
267 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
271 iret = tecini( trim(title)//nullchr, &
272 'x y z rho u v w p T M mut tvort'//nullchr, &
273 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
277 IF ((region%turbInput%modelClass == model_rans ) .AND. &
278 (region%turbInput%nOutField == 3))
THEN
280 IF (statsactive)
THEN
281 IF (global%turbNStat > 0)
THEN
282 iret = tecini( trim(title)//nullchr, &
284 'x y z rho u v w p T M mut tvort lens <u> <v> <T> <uu> <vv> <ww> <uv> <TT> <mut> <cdyn>'//nullchr, &
285 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
288 iret = tecini( trim(title)//nullchr, &
290 'x y z rho u v w p T M mut tvort lens <u> <v> <T> <uu> <vv> <ww> <uv> <TT>'//nullchr, &
291 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
295 iret = tecini( trim(title)//nullchr, &
296 'x y z rho u v w p T M mut tvort lens'//nullchr, &
297 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
301 iret = tecini( trim(title)//nullchr, &
302 'x y z rho u v w p T M mut tvort lens'//nullchr, &
303 trim(global%casename)//
'.plt'//nullchr,
'.'//nullchr, &
314 WRITE(zonename,1010) ireg
316 iret = teczne( trim(zonename)//nullchr, &
318 'BLOCK'//nullchr,nullchr )
323 xyz => region%levels(ilev)%grid%xyz
324 mixt => region%levels(ilev)%mixt
330 turb => region%levels(ilev)%turb
332 IF (global%postTurbFlag .AND. &
333 region%mixtInput%turbModel /= turb_model_none)
THEN
334 IF (region%turbInput%nOutField > 1) vort => region%levels(ilev)%turb%vort
336 IF (region%turbInput%modelClass == model_rans) &
337 lens => region%levels(ilev)%turb%lens
343 ALLOCATE(
x(imax,jmax,kmax),stat=errorflag )
344 ALLOCATE(
y(imax,jmax,kmax),stat=errorflag )
345 ALLOCATE(
z(imax,jmax,kmax),stat=errorflag )
346 global%error = errorflag
347 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
349 IF (global%postPlotType == plot_grid_flow)
THEN
350 ALLOCATE( rho(imax,jmax,kmax),stat=errorflag )
351 ALLOCATE( u(imax,jmax,kmax),stat=errorflag )
352 ALLOCATE(
v(imax,jmax,kmax),stat=errorflag )
353 ALLOCATE( w(imax,jmax,kmax),stat=errorflag )
354 ALLOCATE( press(imax,jmax,kmax),stat=errorflag )
355 ALLOCATE( temp(imax,jmax,kmax),stat=errorflag )
356 ALLOCATE( mach(imax,jmax,kmax),stat=errorflag )
359 IF (global%postTurbFlag .AND. &
360 region%mixtInput%turbModel /= turb_model_none)
THEN
361 ALLOCATE( mut(imax,jmax,kmax),stat=errorflag )
362 IF (region%turbInput%nOutField >= 2)
THEN
363 ALLOCATE( tvort(imax,jmax,kmax),stat=errorflag )
365 IF ((region%turbInput%modelClass == model_rans ) .AND. &
366 (region%turbInput%nOutField == 3))
THEN
367 ALLOCATE( len(imax,jmax,kmax),stat=errorflag )
373 IF (statsactive)
THEN
374 IF (global%mixtNStat > 0)
THEN
375 ALLOCATE( srho(imax,jmax,kmax),stat=errorflag )
376 ALLOCATE( su(imax,jmax,kmax),stat=errorflag )
377 ALLOCATE( sv(imax,jmax,kmax),stat=errorflag )
378 ALLOCATE( sw(imax,jmax,kmax),stat=errorflag )
379 ALLOCATE( spress(imax,jmax,kmax),stat=errorflag )
380 ALLOCATE( stemp(imax,jmax,kmax),stat=errorflag )
381 ALLOCATE( suu(imax,jmax,kmax),stat=errorflag )
382 ALLOCATE( svv(imax,jmax,kmax),stat=errorflag )
383 ALLOCATE( sww(imax,jmax,kmax),stat=errorflag )
384 ALLOCATE( suv(imax,jmax,kmax),stat=errorflag )
385 ALLOCATE( srr(imax,jmax,kmax),stat=errorflag )
386 ALLOCATE( spp(imax,jmax,kmax),stat=errorflag )
387 ALLOCATE( stt(imax,jmax,kmax),stat=errorflag )
391 IF (global%turbNStat > 0)
THEN
392 ALLOCATE( smut(imax,jmax,kmax),stat=errorflag )
393 ALLOCATE( scdyn(imax,jmax,kmax),stat=errorflag )
400 global%error = errorflag
401 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
414 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
416 x(ii,jj,kk) = xyz(xcoord,ijkn)
417 y(ii,jj,kk) = xyz(ycoord,ijkn)
418 z(ii,jj,kk) = xyz(zcoord,ijkn)
423 iret = tecdat( ijkmax,
x,visdouble )
424 iret = tecdat( ijkmax,
y,visdouble )
425 iret = tecdat( ijkmax,
z,visdouble )
429 IF (global%postPlotType == plot_grid_flow)
THEN
439 cell(1) = indijk(
i ,
j ,
k ,icoff,ijcoff)
440 cell(2) = indijk(
i-1,
j ,
k ,icoff,ijcoff)
441 cell(3) = indijk(
i ,
j-1,
k ,icoff,ijcoff)
442 cell(4) = indijk(
i-1,
j-1,
k ,icoff,ijcoff)
443 cell(5) = indijk(
i ,
j ,
k-1,icoff,ijcoff)
444 cell(6) = indijk(
i-1,
j ,
k-1,icoff,ijcoff)
445 cell(7) = indijk(
i ,
j-1,
k-1,icoff,ijcoff)
446 cell(8) = indijk(
i-1,
j-1,
k-1,icoff,ijcoff)
448 rho(ii,jj,kk) =
aver(cell,cv_mixt_dens,cv)
449 u(ii,jj,kk) =
averdiv(cell,cv_mixt_xmom,cv,cv_mixt_dens,cv)
450 v(ii,jj,kk) =
averdiv(cell,cv_mixt_ymom,cv,cv_mixt_dens,cv)
451 w(ii,jj,kk) =
averdiv(cell,cv_mixt_zmom,cv,cv_mixt_dens,cv)
452 press(ii,jj,kk) =
aver(cell,dv_mixt_pres,dv)
453 temp(ii,jj,kk) =
aver(cell,dv_mixt_temp,dv)
454 c =
aver(cell,dv_mixt_soun,dv)
455 qq = u(ii,jj,kk)*u(ii,jj,kk) + &
456 v(ii,jj,kk)*
v(ii,jj,kk) + &
457 w(ii,jj,kk)*w(ii,jj,kk)
458 mach(ii,jj,kk) =
sqrt(qq)/
c
460 IF (global%postTurbFlag .AND. &
461 region%mixtInput%turbModel /= turb_model_none)
THEN
462 mut(ii,jj,kk) =
aver(cell,tv_mixt_muet,tv)
463 IF (region%turbInput%nOutField >= 2)
THEN
464 tvort(ii,jj,kk) =
aver(cell,xcoord,vort)
466 IF ((region%turbInput%modelClass == model_rans ) .AND. &
467 (region%turbInput%nOutField == 3))
THEN
468 len(ii,jj,kk) =
aver1d(cell,lens)
474 IF (statsactive)
THEN
475 IF (global%mixtNStat > 0)
THEN
491 su(ii,jj,kk) =
aver(cell,2,mixt%tav)*rtime
492 sv(ii,jj,kk) =
aver(cell,3,mixt%tav)*rtime
493 stemp(ii,jj,kk) =
aver(cell,4,mixt%tav)*rtime
494 suu(ii,jj,kk) =
aver(cell,6,mixt%tav)*rtime
495 svv(ii,jj,kk) =
aver(cell,7,mixt%tav)*rtime
496 sww(ii,jj,kk) =
aver(cell,8,mixt%tav)*rtime
497 suv(ii,jj,kk) =
aver(cell,9,mixt%tav)*rtime
498 stt(ii,jj,kk) =
aver(cell,10,mixt%tav)*rtime
499 suu(ii,jj,kk) = suu(ii,jj,kk) - su(ii,jj,kk)*su(ii,jj,kk)
500 svv(ii,jj,kk) = svv(ii,jj,kk) - sv(ii,jj,kk)*sv(ii,jj,kk)
501 sww(ii,jj,kk) = sww(ii,jj,kk) - sw(ii,jj,kk)*sw(ii,jj,kk)
502 suv(ii,jj,kk) = suv(ii,jj,kk) - su(ii,jj,kk)*sv(ii,jj,kk)
503 stt(ii,jj,kk) = stt(ii,jj,kk) - stemp(ii,jj,kk)*stemp(ii,jj,kk)
506 IF (global%turbNStat > 0)
THEN
507 smut(ii,jj,kk) =
aver(cell,1,turb%tav)*rtime
508 scdyn(ii,jj,kk) =
aver(cell,2,turb%tav)*rtime
517 iret = tecdat( ijkmax,rho ,visdouble )
518 iret = tecdat( ijkmax,u ,visdouble )
519 iret = tecdat( ijkmax,
v ,visdouble )
520 iret = tecdat( ijkmax,w ,visdouble )
521 iret = tecdat( ijkmax,press,visdouble )
522 iret = tecdat( ijkmax,temp ,visdouble )
523 iret = tecdat( ijkmax,mach ,visdouble )
526 IF (global%postTurbFlag .AND. &
527 region%mixtInput%turbModel /= turb_model_none)
THEN
528 iret = tecdat( ijkmax,mut ,visdouble )
529 IF (region%turbInput%nOutField >= 2)
THEN
530 iret = tecdat( ijkmax,tvort ,visdouble )
532 IF ((region%turbInput%modelClass == model_rans ) .AND. &
533 (region%turbInput%nOutField == 3))
THEN
534 iret = tecdat( ijkmax,len ,visdouble )
540 IF (statsactive)
THEN
541 IF (global%mixtNStat > 0)
THEN
552 iret = tecdat( ijkmax,su ,visdouble )
553 iret = tecdat( ijkmax,sv ,visdouble )
554 iret = tecdat( ijkmax,stemp ,visdouble )
555 iret = tecdat( ijkmax,suu ,visdouble )
556 iret = tecdat( ijkmax,svv ,visdouble )
557 iret = tecdat( ijkmax,sww ,visdouble )
558 iret = tecdat( ijkmax,suv ,visdouble )
559 iret = tecdat( ijkmax,stt ,visdouble )
562 IF (global%turbNStat > 0)
THEN
563 iret = tecdat( ijkmax,smut ,visdouble )
564 iret = tecdat( ijkmax,scdyn ,visdouble )
573 IF (ireg == global%nRegions)
THEN
579 DEALLOCATE(
x,stat=errorflag )
580 DEALLOCATE(
y,stat=errorflag )
581 DEALLOCATE(
z,stat=errorflag )
582 global%error = errorflag
583 IF (global%error /= 0) CALL
errorstop( global,err_deallocate,__line__ )
585 IF (global%postPlotType == plot_grid_flow)
THEN
586 DEALLOCATE( rho ,stat=errorflag )
587 DEALLOCATE( u ,stat=errorflag )
588 DEALLOCATE(
v ,stat=errorflag )
589 DEALLOCATE( w ,stat=errorflag )
590 DEALLOCATE( press,stat=errorflag )
591 DEALLOCATE( temp ,stat=errorflag )
592 DEALLOCATE( mach ,stat=errorflag )
594 IF (global%postTurbFlag .AND. &
595 region%mixtInput%turbModel /= turb_model_none)
THEN
596 DEALLOCATE( mut ,stat=errorflag )
597 IF (region%turbInput%nOutField >= 2)
THEN
598 DEALLOCATE( tvort ,stat=errorflag )
600 IF ((region%turbInput%modelClass == model_rans ) .AND. &
601 (region%turbInput%nOutField == 3))
THEN
602 DEALLOCATE( len ,stat=errorflag )
607 IF (statsactive)
THEN
608 IF (global%mixtNStat > 0)
THEN
609 DEALLOCATE( srho, stat=errorflag )
610 DEALLOCATE( su, stat=errorflag )
611 DEALLOCATE( sv, stat=errorflag )
612 DEALLOCATE( sw, stat=errorflag )
613 DEALLOCATE( spress, stat=errorflag )
614 DEALLOCATE( stemp, stat=errorflag )
615 DEALLOCATE( suu, stat=errorflag )
616 DEALLOCATE( svv, stat=errorflag )
617 DEALLOCATE( sww, stat=errorflag )
618 DEALLOCATE( suv, stat=errorflag )
619 DEALLOCATE( srr, stat=errorflag )
620 DEALLOCATE( spp, stat=errorflag )
621 DEALLOCATE( stt, stat=errorflag )
624 IF (global%turbNStat > 0)
THEN
625 DEALLOCATE( smut, stat=errorflag )
626 DEALLOCATE( scdyn, stat=errorflag )
632 global%error = errorflag
633 IF (global%error /= 0) CALL
errorstop( global,err_deallocate,__line__ )
641 1000
FORMAT(
a,
'. Iteration: ',i8,
'.')
642 1005
FORMAT(
a,
'. Time: ',1pe11.5,
'.')
subroutine writetecplotbinary(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 jpnbeg
void int int REAL REAL * y
**********************************************************************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)
*********************************************************************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)
void int int int REAL REAL REAL * z
**********************************************************************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)
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