65 CHARACTER(CHRLEN),
PARAMETER,
PRIVATE :: &
66 RCSIdentString =
'$RCSfile: RFLU_ModTECPLOTUtils.F90,v $ $Revision: 1.14 $'
72 CHARACTER(1),
PARAMETER,
PUBLIC :: NULLCHAR = CHAR(0)
73 CHARACTER(2*CHRLEN),
PUBLIC :: headerTEC
74 INTEGER,
PARAMETER,
PUBLIC :: ZONE_TYPE_TRI = 2, &
78 INTEGER,
PARAMETER,
PUBLIC :: ZONE_FORM_BLOCK = 1
79 INTEGER,
PARAMETER,
PUBLIC :: VAR_POS_CELL = 0, &
82 INTEGER,
PARAMETER,
PUBLIC :: FILE_TYPE_FIELD = 1, &
83 FILE_TYPE_PATCH = 2, &
84 FILE_TYPE_PATCH_STATS = 3
85 INTEGER,
PARAMETER,
PUBLIC :: FILE_CNTR_TEC_MAX = 10
86 INTEGER,
PUBLIC :: debugFlagTEC,doubleFlagTEC,fileCntrTEC,nVarsTEC, &
87 nVarsTotTEC,nVarsCellTEC,nVarsFaceTEC,nVarsVertTEC
88 INTEGER,
PUBLIC :: fileType2CntrTEC(FILE_CNTR_TEC_MAX)
89 INTEGER,
DIMENSION(8),
PARAMETER,
PUBLIC :: tet2vTEC = (/1,2,3,3,4,4,4,4/)
90 INTEGER,
DIMENSION(8),
PARAMETER,
PUBLIC :: hex2vTEC = (/1,2,3,4,5,6,7,8/)
91 INTEGER,
DIMENSION(8),
PARAMETER,
PUBLIC :: pri2vTEC = (/1,2,3,1,4,5,6,4/)
92 INTEGER,
DIMENSION(8),
PARAMETER,
PUBLIC :: pyr2vTEC = (/1,2,3,4,5,5,5,5/)
93 INTEGER,
ALLOCATABLE,
DIMENSION(:),
PUBLIC :: posTEC
94 REAL(RFREAL),
ALLOCATABLE,
DIMENSION(:,:),
PUBLIC :: varCellTEC,varFaceTEC, &
161 INTEGER,
EXTERNAL :: tecend100
168 'RFLU_ModTECPLOTUtils.F90')
174 errorflag = tecend100()
175 global%error = errorflag
176 IF ( global%error /= err_none )
THEN
177 CALL
errorstop(global,err_tecplot_output,__line__)
225 CHARACTER(CHRLEN) :: filename,title
232 CHARACTER(CHRLEN) :: scratchdir
239 INTEGER,
EXTERNAL :: tecini100
246 'RFLU_ModTECPLOTUtils.F90')
261 errorflag = tecini100(trim(title)//nullchar, &
262 trim(headertec)//nullchar, &
263 trim(filename)//nullchar, &
264 trim(scratchdir)//nullchar, &
267 global%error = errorflag
268 IF ( global%error /= err_none )
THEN
269 CALL
errorstop(global,err_tecplot_output,__line__)
318 TYPE(t_region
),
POINTER :: pregion
324 CHARACTER(CHRLEN) :: zoneprefix,zonetitle
325 INTEGER :: cs2vcard,errorflag,icg,icl,ics,ict,iloc,ivar,ivarcell,ivarvert, &
326 ivcntr,ivl,
nvert,zonetype
327 INTEGER :: cs2v(8),cs2vcopy(8),cs2vflag(8),cs2vtec(8)
328 INTEGER,
DIMENSION(:),
ALLOCATABLE :: nullarray
329 REAL(RFREAL),
DIMENSION(:),
ALLOCATABLE :: varcelltmp
330 REAL(RFREAL),
DIMENSION(:,:),
ALLOCATABLE :: varverttmp
332 TYPE(t_grid),
POINTER :: pgrid
338 INTEGER,
EXTERNAL :: tecdat100,tecnod100,teczne100
344 global => pregion%global
347 'RFLU_ModTECPLOTUtils.F90')
353 pgrid => pregion%grid
359 ALLOCATE(nullarray(nvarstec),stat=errorflag)
360 global%error = errorflag
361 IF ( global%error /= err_none )
THEN
362 CALL
errorstop(global,err_allocate,__line__,
'nullArray')
373 DO ics = 1,pgrid%nCellsSpecial
374 icg = pgrid%cellsSpecial(ics)
380 ict = pgrid%cellGlob2Loc(1,icg)
381 icl = pgrid%cellGlob2Loc(2,icg)
383 IF ( global%verbLevel > verbose_none )
THEN
384 WRITE(stdout,
'(A,5X,A,1X,I3)') solver_name,
'Writing special cell:',ics
385 WRITE(stdout,
'(A,7X,A,1X,I9)') solver_name,
'Global cell index:',icg
386 WRITE(stdout,
'(A,7X,A,1X,I9)') solver_name,
'Local cell index: ',icl
395 CASE ( cell_type_tet )
396 IF ( global%verbLevel > verbose_none )
THEN
397 WRITE(stdout,
'(A,7X,A)') solver_name,
'Local cell type: Tetrahedron'
403 cs2v(ivl) = pgrid%tet2v(tet2vtec(ivl),icl)
404 cs2vtec(ivl) = tet2vtec(ivl)
406 CASE ( cell_type_hex )
407 IF ( global%verbLevel > verbose_none )
THEN
408 WRITE(stdout,
'(A,7X,A)') solver_name,
'Local cell type: Hexahedron'
414 cs2v(ivl) = pgrid%hex2v(hex2vtec(ivl),icl)
415 cs2vtec(ivl) = hex2vtec(ivl)
417 CASE ( cell_type_pri )
418 IF ( global%verbLevel > verbose_none )
THEN
419 WRITE(stdout,
'(A,7X,A)') solver_name,
'Local cell type: Prism'
425 cs2v(ivl) = pgrid%pri2v(pri2vtec(ivl),icl)
426 cs2vtec(ivl) = pri2vtec(ivl)
428 CASE ( cell_type_pyr )
429 IF ( global%verbLevel > verbose_none )
THEN
430 WRITE(stdout,
'(A,7X,A)') solver_name,
'Local cell type: Pyramid'
436 cs2v(ivl) = pgrid%pyr2v(pyr2vtec(ivl),icl)
437 cs2vtec(ivl) = pyr2vtec(ivl)
440 CALL
errorstop(global,err_reached_default,__line__)
443 IF ( global%verbLevel > verbose_low )
THEN
444 WRITE(stdout,
'(A,7X,A,8(1X,I9))') solver_name,
'Vertices:',cs2v(1:8)
451 ALLOCATE(varverttmp(
nvert,nvarsverttec),stat=errorflag)
452 global%error = errorflag
453 IF ( global%error /= err_none )
THEN
454 CALL
errorstop(global,err_allocate,__line__,
'varVertTmp')
457 IF ( nvarscelltec > 0 )
THEN
458 ALLOCATE(varcelltmp(nvarscelltec),stat=errorflag)
459 global%error = errorflag
460 IF ( global%error /= err_none )
THEN
461 CALL
errorstop(global,err_allocate,__line__,
'varCellTmp')
472 cs2vcopy(1:8) = cs2v(1:8)
477 IF ( cs2vcard /=
nvert )
THEN
478 CALL
errorstop(global,err_svert_list_invalid,__line__)
485 IF ( global%verbLevel > verbose_low )
THEN
486 WRITE(stdout,
'(A,7X,A)') solver_name,
'Cell vertex coordinates:'
487 WRITE(stdout,
'(A,9X,A,1X,A,4X,A,2X,6X,A,2(12X,A))') solver_name,
'#', &
488 'Local',
'Global',
'x-coordinate',
'y-coordinate',
'z-coordinate'
497 IF ( cs2vflag(iloc) == 0 )
THEN
500 cs2vflag(iloc) = ivcntr
505 IF ( postec(ivar) == var_pos_vert )
THEN
506 ivarvert = ivarvert + 1
507 varverttmp(ivcntr,ivarvert) = pregion%varVertTEC(cs2v(ivl),ivarvert)
511 IF ( global%verbLevel > verbose_low )
THEN
512 WRITE(stdout,
'(A,9X,I1,3X,I1,3X,I9,1X,3(1X,E23.16))') solver_name, &
513 ivcntr,ivl,cs2v(ivl),pregion%varVertTEC(cs2v(ivl),1:3)
522 IF ( nvarscelltec > 0 )
THEN
526 IF ( postec(ivar) == var_pos_cell )
THEN
527 ivarcell = ivarcell + 1
528 varcelltmp(ivarcell) = pregion%varCellTEC(icg,ivarcell)
541 WRITE(zonetitle,
'(A,I8.8,A,I5.5)')
'C_',icg,
'_',pregion%iRegionGlobal
542 errorflag = teczne100(trim(zonetitle)//nullchar,zone_type_hex,
nvert,1, &
543 0,0,0,0,zone_form_block,0,0,postec,nullarray,0)
544 global%error = errorflag
545 IF ( global%error /= err_none )
THEN
546 CALL
errorstop(global,err_tecplot_output,__line__)
557 IF ( postec(ivar) == var_pos_cell )
THEN
558 ivarcell = ivarcell + 1
559 errorflag = tecdat100(1,varcelltmp(ivarcell),doubleflagtec)
560 ELSE IF ( postec(ivar) == var_pos_vert )
THEN
561 ivarvert = ivarvert + 1
562 errorflag = tecdat100(
nvert,varverttmp(1,ivarvert),doubleflagtec)
564 CALL
errorstop(global,err_reached_default,__line__)
567 global%error = errorflag
568 IF ( global%error /= err_none )
THEN
569 CALL
errorstop(global,err_tecplot_output,__line__)
577 errorflag = tecnod100(cs2vtec)
578 global%error = errorflag
579 IF ( global%error /= err_none )
THEN
580 CALL
errorstop(global,err_tecplot_output,__line__)
587 DEALLOCATE(varverttmp,stat=errorflag)
588 global%error = errorflag
589 IF ( global%error /= err_none )
THEN
590 CALL
errorstop(global,err_deallocate,__line__,
'varVertTmp')
593 IF ( nvarscelltec > 0 )
THEN
594 DEALLOCATE(varcelltmp,stat=errorflag)
595 global%error = errorflag
596 IF ( global%error /= err_none )
THEN
597 CALL
errorstop(global,err_deallocate,__line__,
'varCellTmp')
606 DEALLOCATE(nullarray,stat=errorflag)
607 global%error = errorflag
608 IF ( global%error /= err_none )
THEN
609 CALL
errorstop(global,err_deallocate,__line__,
'nullArray')
662 TYPE(t_region
),
POINTER :: pregion
668 CHARACTER(CHRLEN) :: zoneprefix,zonetitle
669 INTEGER :: fs2vcard,errorflag,ifl,ifs,iloc,ipatch,ivar,ivarcell,ivarvert, &
670 ivcntr,ivl,
nvert,zonetype
671 INTEGER :: fs2v(4),fs2vcopy(4),fs2vflag(4),fs2vtec(4)
672 INTEGER,
DIMENSION(:),
ALLOCATABLE :: nullarray
673 REAL(RFREAL),
DIMENSION(:,:),
ALLOCATABLE :: varverttmp
675 TYPE(t_grid),
POINTER :: pgrid
676 TYPE(t_patch),
POINTER :: ppatch
682 INTEGER,
EXTERNAL :: tecdat100,tecnod100,teczne100
688 global => pregion%global
691 'RFLU_ModTECPLOTUtils.F90')
697 pgrid => pregion%grid
703 ALLOCATE(nullarray(nvarstec),stat=errorflag)
704 global%error = errorflag
705 IF ( global%error /= err_none )
THEN
706 CALL
errorstop(global,err_allocate,__line__,
'nullArray')
717 DO ifs = 1,pgrid%nFacesSpecial
718 ipatch = pgrid%facesSpecial(1,ifs)
719 ifl = pgrid%facesSpecial(2,ifs)
721 IF ( global%verbLevel > verbose_none )
THEN
722 WRITE(stdout,
'(A,5X,A,1X,I3)') solver_name,
'Writing special face:',ifs
723 WRITE(stdout,
'(A,7X,A,1X,I9)') solver_name,
'Patch index:',ipatch
724 WRITE(stdout,
'(A,7X,A,1X,I9)') solver_name,
'Face index: ',ifl
732 IF ( ipatch == 0 )
THEN
734 fs2v(ivl) = pgrid%f2v(ivl,ifl)
737 ELSE IF ( ipatch > 0 .AND. ipatch <= pgrid%nPatches )
THEN
738 ppatch => pregion%patches(ipatch)
741 IF ( ppatch%bf2v(ivl,ifl) /= vert_none )
THEN
742 fs2v(ivl) = ppatch%bv(ppatch%bf2v(ivl,ifl))
744 fs2v(ivl) = vert_none
750 CALL
errorstop(global,err_reached_default,__line__)
753 IF ( fs2v(4) == vert_none )
THEN
762 IF ( global%verbLevel > verbose_low )
THEN
763 WRITE(stdout,
'(A,7X,A,4(1X,I9))') solver_name,
'Vertices:',fs2v(1:4)
770 ALLOCATE(varverttmp(
nvert,nvarsverttec),stat=errorflag)
771 global%error = errorflag
772 IF ( global%error /= err_none )
THEN
773 CALL
errorstop(global,err_allocate,__line__,
'varVertTmp')
783 fs2vcopy(1:4) = fs2v(1:4)
788 IF ( fs2vcard /=
nvert )
THEN
789 CALL
errorstop(global,err_svert_list_invalid,__line__)
796 IF ( global%verbLevel > verbose_low )
THEN
797 WRITE(stdout,
'(A,7X,A)') solver_name,
'Cell vertex coordinates:'
798 WRITE(stdout,
'(A,9X,A,1X,A,4X,A,2X,6X,A,2(12X,A))') solver_name,
'#', &
799 'Local',
'Global',
'x-coordinate',
'y-coordinate',
'z-coordinate'
808 IF ( fs2vflag(iloc) == 0 )
THEN
811 fs2vflag(iloc) = ivcntr
816 IF ( postec(ivar) == var_pos_vert )
THEN
817 ivarvert = ivarvert + 1
818 varverttmp(ivcntr,ivarvert) = pregion%varVertTEC(fs2v(ivl),ivarvert)
822 IF ( global%verbLevel > verbose_low )
THEN
823 WRITE(stdout,
'(A,9X,I1,3X,I1,3X,I9,1X,3(1X,E23.16))') solver_name, &
824 ivcntr,ivl,fs2v(ivl),pregion%varVertTEC(fs2v(ivl),1:3)
837 WRITE(zonetitle,
'(A,I8.8,A,I3.3,A,I5.5)')
'F_',ifl,
'_PAT_',ipatch,
'_', &
838 pregion%iRegionGlobal
839 errorflag = teczne100(trim(zonetitle)//nullchar,zone_type_quad,
nvert,1, &
840 0,0,0,0,zone_form_block,0,0,postec,nullarray,0)
841 global%error = errorflag
842 IF ( global%error /= err_none )
THEN
843 CALL
errorstop(global,err_tecplot_output,__line__)
853 IF ( postec(ivar) == var_pos_vert )
THEN
854 ivarvert = ivarvert + 1
855 errorflag = tecdat100(
nvert,varverttmp(1,ivarvert),doubleflagtec)
857 CALL
errorstop(global,err_reached_default,__line__)
860 global%error = errorflag
861 IF ( global%error /= err_none )
THEN
862 CALL
errorstop(global,err_tecplot_output,__line__)
870 errorflag = tecnod100(fs2vtec)
871 global%error = errorflag
872 IF ( global%error /= err_none )
THEN
873 CALL
errorstop(global,err_tecplot_output,__line__)
880 DEALLOCATE(varverttmp,stat=errorflag)
881 global%error = errorflag
882 IF ( global%error /= err_none )
THEN
883 CALL
errorstop(global,err_deallocate,__line__,
'varVertTmp')
891 DEALLOCATE(nullarray,stat=errorflag)
892 global%error = errorflag
893 IF ( global%error /= err_none )
THEN
894 CALL
errorstop(global,err_deallocate,__line__,
'nullArray')
942 TYPE(t_region
),
POINTER :: pregion
948 CHARACTER(CHRLEN) :: zoneprefix,zonetitle
949 INTEGER :: c1,c1k,c2,c2k,errorflag,ifg,ifl,iquad,itri,ivar, &
950 ivarface,ivarvert,ivl,
nfaces,nfacesest,nquads,ntris,
nvert, &
951 nvertest,v1,v2,v3,v4,zonetype
952 INTEGER,
DIMENSION(:),
ALLOCATABLE :: bvflag,nullarray
953 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ibface,f2v,f2vtmp
954 REAL(RFREAL),
DIMENSION(:,:),
ALLOCATABLE :: varfacetmp,varverttmp
956 TYPE(t_grid),
POINTER :: pgrid
962 INTEGER,
EXTERNAL :: tecdat100,tecnod100,teczne100
968 global => pregion%global
971 'RFLU_ModTECPLOTUtils.F90')
977 pgrid => pregion%grid
983 ALLOCATE(nullarray(nvarstec),stat=errorflag)
984 global%error = errorflag
985 IF ( global%error /= err_none )
THEN
986 CALL
errorstop(global,err_allocate,__line__,
'nullArray')
1001 nvertest = int(10.0_rfreal*(pgrid%nVertTot - pgrid%nVert))
1003 ALLOCATE(bvflag(pgrid%nVertTot),stat=errorflag)
1004 global%error = errorflag
1005 IF ( global%error /= err_none )
THEN
1006 CALL
errorstop(global,err_allocate,__line__,
'bvFlag')
1009 ALLOCATE(varverttmp(nvertest,nvarsverttec),stat=errorflag)
1010 global%error = errorflag
1011 IF ( global%error /= err_none )
THEN
1012 CALL
errorstop(global,err_allocate,__line__,
'varVertTmp')
1019 IF ( pgrid%nFacesTot /= pgrid%nFaces )
THEN
1020 nfacesest = pgrid%nFacesTot - pgrid%nFaces
1025 ALLOCATE(f2v(4,nfacesest),stat=errorflag)
1026 global%error = errorflag
1027 IF ( global%error /= err_none )
THEN
1028 CALL
errorstop(global,err_allocate,__line__,
'f2v')
1039 DO ifg = 1,pgrid%nFaces
1040 c1 = pgrid%f2c(1,ifg)
1041 c2 = pgrid%f2c(2,ifg)
1049 IF (
nfaces > nfacesest )
THEN
1050 CALL
errorstop(global,err_nfaces_estimate,__line__)
1053 f2v(1:4,
nfaces) = pgrid%f2v(1:4,ifg)
1055 IF ( f2v(4,
nfaces) == vert_none )
THEN
1067 ALLOCATE(f2vtmp(4,
nfaces),stat=errorflag)
1068 global%error = errorflag
1069 IF ( global%error /= err_none )
THEN
1070 CALL
errorstop(global,err_allocate,__line__,
'f2vTmp')
1075 DEALLOCATE(f2v,stat=errorflag)
1076 global%error = errorflag
1077 IF ( global%error /= err_none )
THEN
1078 CALL
errorstop(global,err_deallocate,__line__,
'f2v')
1081 ALLOCATE(f2v(4,
nfaces),stat=errorflag)
1082 global%error = errorflag
1083 IF ( global%error /= err_none )
THEN
1084 CALL
errorstop(global,err_allocate,__line__,
'f2v')
1091 IF ( f2vtmp(4,ifg) == vert_none )
THEN
1093 f2v(1:4,itri) = f2vtmp(1:4,ifg)
1096 f2v(1:4,iquad) = f2vtmp(1:4,ifg)
1100 DEALLOCATE(f2vtmp,stat=errorflag)
1101 global%error = errorflag
1102 IF ( global%error /= err_none )
THEN
1103 CALL
errorstop(global,err_deallocate,__line__,
'f2vTmp')
1110 IF ( nvarsfacetec > 0 )
THEN
1111 ALLOCATE(varfacetmp(
nfaces,nvarsfacetec),stat=errorflag)
1112 global%error = errorflag
1113 IF ( global%error /= err_none )
THEN
1114 CALL
errorstop(global,err_allocate,__line__,
'varFaceTmp')
1122 IF ( ntris > 0 )
THEN
1123 ALLOCATE(f2vtmp(3,ntris),stat=errorflag)
1124 global%error = errorflag
1125 IF ( global%error /= err_none )
THEN
1126 CALL
errorstop(global,err_allocate,__line__,
'f2vTmp')
1129 DO ivl = 1,
SIZE(bvflag,1)
1140 IF ( bvflag(v1) == 0 )
THEN
1146 DO ivar = 1,nvarstec
1147 IF ( postec(ivar) == var_pos_vert )
THEN
1148 ivarvert = ivarvert + 1
1150 IF (
nvert > nvertest )
THEN
1151 CALL
errorstop(global,err_nbvert_estimate,__line__)
1154 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v1,ivarvert)
1159 IF ( bvflag(v2) == 0 )
THEN
1165 DO ivar = 1,nvarstec
1166 IF ( postec(ivar) == var_pos_vert )
THEN
1167 ivarvert = ivarvert + 1
1169 IF (
nvert > nvertest )
THEN
1170 CALL
errorstop(global,err_nbvert_estimate,__line__)
1173 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v2,ivarvert)
1178 IF ( bvflag(v3) == 0 )
THEN
1184 DO ivar = 1,nvarstec
1185 IF ( postec(ivar) == var_pos_vert )
THEN
1186 ivarvert = ivarvert + 1
1188 IF (
nvert > nvertest )
THEN
1189 CALL
errorstop(global,err_nbvert_estimate,__line__)
1192 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v3,ivarvert)
1197 f2vtmp(1,ifl) = bvflag(v1)
1198 f2vtmp(2,ifl) = bvflag(v2)
1199 f2vtmp(3,ifl) = bvflag(v3)
1210 WRITE(zonetitle,
'(A,I5.5)')
'INT_TRI_',pregion%iRegionGlobal
1211 errorflag = teczne100(trim(zonetitle)//nullchar,zone_type_tri,
nvert, &
1212 ntris,0,0,0,0,zone_form_block,0,0,postec,nullarray,0)
1213 global%error = errorflag
1214 IF ( global%error /= err_none )
THEN
1215 CALL
errorstop(global,err_tecplot_output,__line__)
1225 DO ivar = 1,nvarstec
1226 IF ( postec(ivar) == var_pos_vert )
THEN
1227 ivarvert = ivarvert + 1
1228 errorflag = tecdat100(
nvert,varverttmp(1,ivarvert),doubleflagtec)
1229 ELSE IF ( postec(ivar) == var_pos_face )
THEN
1230 ivarface = ivarface + 1
1231 errorflag = tecdat100(ntris,varfacetmp(1,ivarface),doubleflagtec)
1233 CALL
errorstop(global,err_reached_default,__line__)
1236 global%error = errorflag
1237 IF ( global%error /= err_none )
THEN
1238 CALL
errorstop(global,err_tecplot_output,__line__)
1246 errorflag = tecnod100(f2vtmp)
1247 global%error = errorflag
1248 IF ( global%error /= err_none )
THEN
1249 CALL
errorstop(global,err_tecplot_output,__line__)
1252 DEALLOCATE(f2vtmp,stat=errorflag)
1253 global%error = errorflag
1254 IF ( global%error /= err_none )
THEN
1255 CALL
errorstop(global,err_deallocate,__line__,
'f2vTmp')
1263 IF ( nquads > 0 )
THEN
1264 ALLOCATE(f2vtmp(4,nquads),stat=errorflag)
1265 global%error = errorflag
1266 IF ( global%error /= err_none )
THEN
1267 CALL
errorstop(global,err_allocate,__line__,
'f2vTmp')
1270 DO ivl = 1,
SIZE(bvflag,1)
1277 v1 = f2v(1,ntris+ifl)
1278 v2 = f2v(2,ntris+ifl)
1279 v3 = f2v(3,ntris+ifl)
1280 v4 = f2v(4,ntris+ifl)
1282 IF ( bvflag(v1) == 0 )
THEN
1288 DO ivar = 1,nvarstec
1289 IF ( postec(ivar) == var_pos_vert )
THEN
1290 ivarvert = ivarvert + 1
1292 IF (
nvert > nvertest )
THEN
1293 CALL
errorstop(global,err_nbvert_estimate,__line__)
1296 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v1,ivarvert)
1301 IF ( bvflag(v2) == 0 )
THEN
1307 DO ivar = 1,nvarstec
1308 IF ( postec(ivar) == var_pos_vert )
THEN
1309 ivarvert = ivarvert + 1
1311 IF (
nvert > nvertest )
THEN
1312 CALL
errorstop(global,err_nbvert_estimate,__line__)
1315 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v2,ivarvert)
1320 IF ( bvflag(v3) == 0 )
THEN
1326 DO ivar = 1,nvarstec
1327 IF ( postec(ivar) == var_pos_vert )
THEN
1328 ivarvert = ivarvert + 1
1329 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v3,ivarvert)
1334 IF ( bvflag(v4) == 0 )
THEN
1340 DO ivar = 1,nvarstec
1341 IF ( postec(ivar) == var_pos_vert )
THEN
1342 ivarvert = ivarvert + 1
1344 IF (
nvert > nvertest )
THEN
1345 CALL
errorstop(global,err_nbvert_estimate,__line__)
1348 varverttmp(
nvert,ivarvert) = pregion%varVertTEC(v4,ivarvert)
1353 f2vtmp(1,ifl) = bvflag(v1)
1354 f2vtmp(2,ifl) = bvflag(v2)
1355 f2vtmp(3,ifl) = bvflag(v3)
1356 f2vtmp(4,ifl) = bvflag(v4)
1367 WRITE(zonetitle,
'(A,I5.5)')
'INT_QUAD_',pregion%iRegionGlobal
1368 errorflag = teczne100(trim(zonetitle)//nullchar,zone_type_quad,
nvert, &
1369 nquads,0,0,0,0,zone_form_block,0,0,postec,nullarray,0)
1370 global%error = errorflag
1371 IF ( global%error /= err_none )
THEN
1372 CALL
errorstop(global,err_tecplot_output,__line__)
1382 DO ivar = 1,nvarstec
1383 IF ( postec(ivar) == var_pos_vert )
THEN
1384 ivarvert = ivarvert + 1
1385 errorflag = tecdat100(
nvert,varverttmp(1,ivarvert),doubleflagtec)
1386 ELSE IF ( postec(ivar) == var_pos_face )
THEN
1387 ivarface = ivarface + 1
1388 errorflag = tecdat100(nquads,varfacetmp(1,ivarface),doubleflagtec)
1390 CALL
errorstop(global,err_reached_default,__line__)
1393 global%error = errorflag
1394 IF ( global%error /= err_none )
THEN
1395 CALL
errorstop(global,err_tecplot_output,__line__)
1403 errorflag = tecnod100(f2vtmp)
1404 global%error = errorflag
1405 IF ( global%error /= err_none )
THEN
1406 CALL
errorstop(global,err_tecplot_output,__line__)
1409 DEALLOCATE(f2vtmp,stat=errorflag)
1410 global%error = errorflag
1411 IF ( global%error /= err_none )
THEN
1412 CALL
errorstop(global,err_deallocate,__line__,
'f2vTmp')
1416 DEALLOCATE(f2v,stat=errorflag)
1417 global%error = errorflag
1418 IF ( global%error /= err_none )
THEN
1419 CALL
errorstop(global,err_deallocate,__line__,
'f2v')
1426 DEALLOCATE(bvflag,stat=errorflag)
1427 global%error = errorflag
1428 IF ( global%error /= err_none )
THEN
1429 CALL
errorstop(global,err_deallocate,__line__,
'bvFlag')
1432 DEALLOCATE(varverttmp,stat=errorflag)
1433 global%error = errorflag
1434 IF ( global%error /= err_none )
THEN
1435 CALL
errorstop(global,err_deallocate,__line__,
'varVertTmp')
1438 IF ( nvarsfacetec > 0 )
THEN
1439 DEALLOCATE(varfacetmp,stat=errorflag)
1440 global%error = errorflag
1441 IF ( global%error /= err_none )
THEN
1442 CALL
errorstop(global,err_deallocate,__line__,
'varFaceTmp')
1450 DEALLOCATE(nullarray,stat=errorflag)
1451 global%error = errorflag
1452 IF ( global%error /= err_none )
THEN
1453 CALL
errorstop(global,err_deallocate,__line__,
'nullArray')
1506 INTEGER,
INTENT(IN) :: facekind,facetype
1507 TYPE(t_patch),
POINTER :: ppatch
1508 TYPE(t_region
),
POINTER :: pregion
1514 CHARACTER(CHRLEN) :: zoneprefix,zonetitle
1515 INTEGER :: errorflag,ifg,ifgbeg,ifgend,ifgoff,ifg2,ifl,iloc,ivar,ivarface, &
1516 ivarvert,ivg,ivlf,ivlp,nbfaces,nbvert,zonetype
1517 INTEGER,
DIMENSION(:),
ALLOCATABLE :: bvflag,nullarray
1518 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: bf2vtmp
1519 REAL(RFREAL),
DIMENSION(:,:),
ALLOCATABLE :: varfacetmp,varverttmp
1521 TYPE(t_grid),
POINTER :: pgrid
1527 INTEGER,
EXTERNAL :: tecdat100,tecnod100,teczne100
1533 global => pregion%global
1536 'RFLU_ModTECPLOTUtils.F90')
1542 pgrid => pregion%grid
1548 ALLOCATE(nullarray(nvarstec),stat=errorflag)
1549 global%error = errorflag
1550 IF ( global%error /= err_none )
THEN
1551 CALL
errorstop(global,err_allocate,__line__,
'nullArray')
1554 DO ivar = 1,nvarstec
1566 SELECT CASE ( facekind )
1567 CASE ( face_kind_ab )
1568 SELECT CASE ( facetype )
1569 CASE ( face_type_tri )
1571 ifgend = ppatch%nBTris
1573 zonetype = zone_type_tri
1574 zoneprefix =
'TRI-A_'
1575 CASE ( face_type_quad )
1577 ifgend = ppatch%nBQuads
1578 ifgoff = ppatch%nBTris
1579 zonetype = zone_type_quad
1580 zoneprefix =
'QUAD-A_'
1582 CALL
errorstop(global,err_reached_default,__line__)
1584 CASE ( face_kind_vb )
1585 SELECT CASE ( facetype )
1586 CASE ( face_type_tri )
1587 ifgbeg = ppatch%nBTris+1
1588 ifgend = ppatch%nBTrisTot
1589 ifgoff = ppatch%nBTris+ppatch%nBQuads
1590 zonetype = zone_type_tri
1591 zoneprefix =
'TRI-V_'
1592 CASE ( face_type_quad )
1593 ifgbeg = ppatch%nBQuads+1
1594 ifgend = ppatch%nBQuadsTot
1595 ifgoff = ppatch%nBTrisTot+ppatch%nBQuads
1596 zonetype = zone_type_quad
1597 zoneprefix =
'QUAD-V_'
1599 CALL
errorstop(global,err_reached_default,__line__)
1602 CALL
errorstop(global,err_reached_default,__line__)
1605 nbfaces = ifgend - ifgbeg + 1
1611 ALLOCATE(bvflag(ppatch%nBVertTot),stat=errorflag)
1612 global%error = errorflag
1613 IF ( global%error /= err_none )
THEN
1614 CALL
errorstop(global,err_allocate,__line__,
'bvFlag')
1617 IF ( nvarsfacetec > 0 )
THEN
1618 ALLOCATE(varfacetmp(nbfaces,nvarsfacetec),stat=errorflag)
1619 global%error = errorflag
1620 IF ( global%error /= err_none )
THEN
1621 CALL
errorstop(global,err_allocate,__line__,
'varFaceTmp')
1635 IF ( facetype == face_type_tri )
THEN
1636 ALLOCATE(bf2vtmp(3,nbfaces),stat=errorflag)
1637 global%error = errorflag
1638 IF ( global%error /= err_none )
THEN
1639 CALL
errorstop(global,err_allocate,__line__,
'bf2vTmp')
1642 DO ivlp = 1,ppatch%nBVertTot
1653 DO ifg = ifgbeg,ifgend
1655 ifg2 = ifg - ifgbeg + ifgoff + 1
1658 ivg = ppatch%bTri2v(ivlf,ifg)
1662 IF ( ivlp == element_not_found )
THEN
1663 CALL
errorstop(global,err_binary_search,__line__)
1666 IF ( bvflag(ivlp) == 0 )
THEN
1668 bvflag(ivlp) = nbvert
1673 bf2vtmp(ivlf,ifl) = bvflag(ivlp)
1679 DO ivar = 1,nvarstec
1680 IF ( postec(ivar) == var_pos_face )
THEN
1681 ivarface = ivarface + 1
1682 varfacetmp(ifl,ivarface) = ppatch%varFaceTEC(ifg2,ivarface)
1693 ALLOCATE(bf2vtmp(4,nbfaces),stat=errorflag)
1694 global%error = errorflag
1695 IF ( global%error /= err_none )
THEN
1696 CALL
errorstop(global,err_allocate,__line__,
'bf2vTmp')
1699 DO ivlp = 1,ppatch%nBVertTot
1710 DO ifg = ifgbeg,ifgend
1712 ifg2 = ifg - ifgbeg + ifgoff + 1
1715 ivg = ppatch%bQuad2v(ivlf,ifg)
1719 IF ( ivlp == element_not_found )
THEN
1720 CALL
errorstop(global,err_binary_search,__line__)
1723 IF ( bvflag(ivlp) == 0 )
THEN
1725 bvflag(ivlp) = nbvert
1730 bf2vtmp(ivlf,ifl) = bvflag(ivlp)
1736 DO ivar = 1,nvarstec
1737 IF ( postec(ivar) == var_pos_face )
THEN
1738 ivarface = ivarface + 1
1739 varfacetmp(ifl,ivarface) = ppatch%varFaceTEC(ifg2,ivarface)
1750 ALLOCATE(varverttmp(nbvert,nvarsverttec),stat=errorflag)
1751 global%error = errorflag
1752 IF ( global%error /= err_none )
THEN
1753 CALL
errorstop(global,err_allocate,__line__,
'varVertTmp')
1756 DO ivlp = 1,ppatch%nBVertTot
1757 IF ( bvflag(ivlp) /= 0 )
THEN
1760 DO ivar = 1,nvarstec
1761 IF ( postec(ivar) == var_pos_vert )
THEN
1762 ivarvert = ivarvert + 1
1763 varverttmp(bvflag(ivlp),ivarvert) = ppatch%varVertTEC(ivlp,ivarvert)
1777 WRITE(zonetitle,
'(A,I3.3,A,I5.5)')
'PAT_',ppatch%iPatchGlobal, &
1778 '_'//trim(zoneprefix), &
1779 pregion%iRegionGlobal
1781 errorflag = teczne100(trim(zonetitle)//nullchar,zonetype,nbvert,nbfaces, &
1782 0,0,0,0,zone_form_block,0,0,postec,nullarray,0)
1783 global%error = errorflag
1784 IF ( global%error /= err_none )
THEN
1785 CALL
errorstop(global,err_tecplot_output,__line__)
1795 DO ivar = 1,nvarstec
1796 IF ( postec(ivar) == var_pos_face )
THEN
1797 ivarface = ivarface + 1
1798 errorflag = tecdat100(nbfaces,varfacetmp(1,ivarface),doubleflagtec)
1799 ELSE IF ( postec(ivar) == var_pos_vert )
THEN
1800 ivarvert = ivarvert + 1
1801 errorflag = tecdat100(nbvert,varverttmp(1,ivarvert),doubleflagtec)
1803 CALL
errorstop(global,err_reached_default,__line__)
1806 global%error = errorflag
1807 IF ( global%error /= err_none )
THEN
1808 CALL
errorstop(global,err_tecplot_output,__line__)
1816 errorflag = tecnod100(bf2vtmp)
1817 global%error = errorflag
1818 IF ( global%error /= err_none )
THEN
1819 CALL
errorstop(global,err_tecplot_output,__line__)
1826 DEALLOCATE(bvflag,stat=errorflag)
1827 global%error = errorflag
1828 IF ( global%error /= err_none )
THEN
1829 CALL
errorstop(global,err_deallocate,__line__,
'bvFlag')
1832 IF (
ALLOCATED(varfacetmp) .EQV. .true. )
THEN
1833 DEALLOCATE(varfacetmp,stat=errorflag)
1834 global%error = errorflag
1835 IF ( global%error /= err_none )
THEN
1836 CALL
errorstop(global,err_deallocate,__line__,
'varFaceTmp')
1840 DEALLOCATE(varverttmp,stat=errorflag)
1841 global%error = errorflag
1842 IF ( global%error /= err_none )
THEN
1843 CALL
errorstop(global,err_deallocate,__line__,
'varVertTmp')
1846 DEALLOCATE(bf2vtmp,stat=errorflag)
1847 global%error = errorflag
1848 IF ( global%error /= err_none )
THEN
1849 CALL
errorstop(global,err_deallocate,__line__,
'bf2vTmp')
1856 DEALLOCATE(nullarray,stat=errorflag)
1857 global%error = errorflag
1858 IF ( global%error /= err_none )
THEN
1859 CALL
errorstop(global,err_deallocate,__line__,
'nullArray')
1914 TYPE(t_patch),
POINTER :: ppatch
1915 TYPE(t_region
),
POINTER :: pregion
1921 CHARACTER(CHRLEN) :: zonetitle
1922 INTEGER :: errorflag,ifl,ivar,ivarface,ivarvert,ivl
1923 INTEGER,
DIMENSION(:),
ALLOCATABLE :: nullarray
1924 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: bf2vtmp
1926 TYPE(t_grid),
POINTER :: pgrid
1932 INTEGER,
EXTERNAL :: tecdat100,tecnod100,teczne100
1938 global => pregion%global
1941 'RFLU_ModTECPLOTUtils.F90')
1947 pgrid => pregion%grid
1953 ALLOCATE(nullarray(nvarstec),stat=errorflag)
1954 global%error = errorflag
1955 IF ( global%error /= err_none )
THEN
1956 CALL
errorstop(global,err_allocate,__line__,
'nullArray')
1959 DO ivar = 1,nvarstec
1967 ALLOCATE(bf2vtmp(4,ppatch%nBFaces),stat=errorflag)
1968 global%error = errorflag
1969 IF ( global%error /= err_none )
THEN
1970 CALL
errorstop(global,err_allocate,__line__,
'bf2vTmp')
1977 DO ifl = 1,ppatch%nBFaces
1978 bf2vtmp(1,ifl) = ppatch%bf2v(1,ifl)
1979 bf2vtmp(2,ifl) = ppatch%bf2v(2,ifl)
1980 bf2vtmp(3,ifl) = ppatch%bf2v(3,ifl)
1982 IF ( ppatch%bf2v(4,ifl) /= vert_none )
THEN
1983 bf2vtmp(4,ifl) = ppatch%bf2v(4,ifl)
1985 bf2vtmp(4,ifl) = bf2vtmp(1,ifl)
1997 WRITE(zonetitle,
'(A,I3.3,A,I5.5)')
'PAT_',ppatch%iPatchGlobal, &
1998 '_MIX-A_',pregion%iRegionGlobal
2000 errorflag = teczne100(trim(zonetitle)//nullchar,zone_type_quad, &
2001 ppatch%nBVert,ppatch%nBFaces,0,0,0,0,zone_form_block, &
2002 0,0,postec,nullarray,0)
2003 global%error = errorflag
2004 IF ( global%error /= err_none )
THEN
2005 CALL
errorstop(global,err_tecplot_output,__line__)
2015 DO ivar = 1,nvarstec
2016 IF ( postec(ivar) == var_pos_face )
THEN
2017 ivarface = ivarface + 1
2018 errorflag = tecdat100(ppatch%nBFaces,ppatch%varFaceTEC(1,ivarface), &
2020 ELSE IF ( postec(ivar) == var_pos_vert )
THEN
2021 ivarvert = ivarvert + 1
2022 errorflag = tecdat100(ppatch%nBVert,ppatch%varVertTEC(1,ivarvert), &
2025 CALL
errorstop(global,err_reached_default,__line__)
2028 global%error = errorflag
2029 IF ( global%error /= err_none )
THEN
2030 CALL
errorstop(global,err_tecplot_output,__line__)
2038 errorflag = tecnod100(bf2vtmp)
2039 global%error = errorflag
2040 IF ( global%error /= err_none )
THEN
2041 CALL
errorstop(global,err_tecplot_output,__line__)
2048 DEALLOCATE(bf2vtmp,stat=errorflag)
2049 global%error = errorflag
2050 IF ( global%error /= err_none )
THEN
2051 CALL
errorstop(global,err_deallocate,__line__,
'bf2vTmp')
2058 DEALLOCATE(nullarray,stat=errorflag)
2059 global%error = errorflag
2060 IF ( global%error /= err_none )
THEN
2061 CALL
errorstop(global,err_deallocate,__line__,
'nullArray')
2107 INTEGER,
INTENT(IN) :: cellkind,celltype
2108 TYPE(t_region
),
POINTER :: pregion
2114 CHARACTER(CHRLEN) :: zoneprefix,zonetitle
2115 INTEGER :: errorflag,icg,icgbeg,icgend,icl,ivar,ivarcell,ivarvert,ncells, &
2117 INTEGER,
DIMENSION(:),
ALLOCATABLE :: nullarray
2118 INTEGER,
DIMENSION(:),
POINTER :: pxyz2cellglob
2119 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: c2v
2120 REAL(RFREAL),
DIMENSION(:,:),
ALLOCATABLE :: varcelltmp
2122 TYPE(t_grid),
POINTER :: pgrid
2128 INTEGER,
EXTERNAL :: tecdat100,tecnod100,teczne100
2134 global => pregion%global
2137 'RFLU_ModTECPLOTUtils.F90')
2143 pgrid => pregion%grid
2149 ALLOCATE(nullarray(nvarstec),stat=errorflag)
2150 global%error = errorflag
2151 IF ( global%error /= err_none )
THEN
2152 CALL
errorstop(global,err_allocate,__line__,
'nullArray')
2155 DO ivar = 1,nvarstec
2163 SELECT CASE ( cellkind )
2164 CASE ( cell_kind_actual )
2165 SELECT CASE ( celltype )
2166 CASE ( cell_type_tet )
2168 icgend = pgrid%nTets
2169 nvert = pgrid%nVertTot
2170 zonetype = zone_type_tet
2171 zoneprefix =
'TET-A_'
2172 CASE ( cell_type_hex )
2174 icgend = pgrid%nHexs
2175 nvert = pgrid%nVertTot
2176 zonetype = zone_type_hex
2177 zoneprefix =
'HEX-A_'
2178 CASE ( cell_type_pri )
2180 icgend = pgrid%nPris
2181 nvert = pgrid%nVertTot
2182 zonetype = zone_type_hex
2183 zoneprefix =
'PRI-A_'
2184 CASE ( cell_type_pyr )
2186 icgend = pgrid%nPyrs
2187 nvert = pgrid%nVertTot
2188 zonetype = zone_type_hex
2189 zoneprefix =
'PYR-A_'
2191 CALL
errorstop(global,err_reached_default,__line__)
2193 CASE ( cell_kind_virtual )
2194 SELECT CASE ( celltype )
2195 CASE ( cell_type_tet )
2196 icgbeg = pgrid%nTets+1
2197 icgend = pgrid%nTetsTot
2198 nvert = pgrid%nVertTot
2199 zonetype = zone_type_tet
2200 zoneprefix =
'TET-V_'
2201 CASE ( cell_type_hex )
2202 icgbeg = pgrid%nHexs+1
2203 icgend = pgrid%nHexsTot
2204 nvert = pgrid%nVertTot
2205 zonetype = zone_type_hex
2206 zoneprefix =
'HEX-V_'
2207 CASE ( cell_type_pri )
2208 icgbeg = pgrid%nPris+1
2209 icgend = pgrid%nPrisTot
2210 nvert = pgrid%nVertTot
2211 zonetype = zone_type_hex
2212 zoneprefix =
'PRI-V_'
2213 CASE ( cell_type_pyr )
2214 icgbeg = pgrid%nPyrs+1
2215 icgend = pgrid%nPyrsTot
2216 nvert = pgrid%nVertTot
2217 zonetype = zone_type_hex
2218 zoneprefix =
'PYR-V_'
2220 CALL
errorstop(global,err_reached_default,__line__)
2223 CALL
errorstop(global,err_reached_default,__line__)
2226 ncells = icgend - icgbeg + 1
2234 IF ( nvarscelltec > 0 )
THEN
2235 ALLOCATE(varcelltmp(ncells,nvarscelltec),stat=errorflag)
2236 global%error = errorflag
2237 IF ( global%error /= err_none )
THEN
2238 CALL
errorstop(global,err_allocate,__line__,
'varCellTmp')
2241 SELECT CASE ( celltype )
2242 CASE ( cell_type_tet )
2243 pxyz2cellglob => pgrid%tet2CellGlob
2244 CASE ( cell_type_hex )
2245 pxyz2cellglob => pgrid%hex2CellGlob
2246 CASE ( cell_type_pri )
2247 pxyz2cellglob => pgrid%pri2CellGlob
2248 CASE ( cell_type_pyr )
2249 pxyz2cellglob => pgrid%pyr2CellGlob
2251 CALL
errorstop(global,err_reached_default,__line__)
2254 DO icg = icgbeg,icgend
2255 icl = icg - icgbeg + 1
2257 DO ivarcell = 1,nvarscelltec
2258 varcelltmp(icl,ivarcell) = &
2259 pregion%varCellTEC(pxyz2cellglob(icg),ivarcell)
2268 IF ( celltype == cell_type_pri .OR. celltype == cell_type_pyr )
THEN
2269 ALLOCATE(c2v(8,ncells),stat=errorflag)
2270 global%error = errorflag
2271 IF ( global%error /= err_none )
THEN
2272 CALL
errorstop(global,err_allocate,__line__,
'c2v')
2275 IF ( celltype == cell_type_pri )
THEN
2276 DO icg = icgbeg,icgend
2277 icl = icg - icgbeg + 1
2278 c2v(1:3,icl) = pgrid%pri2v(1:3,icg)
2279 c2v(4 ,icl) = pgrid%pri2v(1 ,icg)
2280 c2v(5:7,icl) = pgrid%pri2v(4:6,icg)
2281 c2v(8 ,icl) = pgrid%pri2v(4 ,icg)
2284 DO icg = icgbeg,icgend
2285 icl = icg - icgbeg + 1
2286 c2v(1:5,icl) = pgrid%pyr2v(1:5,icg)
2287 c2v(6 ,icl) = pgrid%pyr2v(5 ,icg)
2288 c2v(7 ,icl) = pgrid%pyr2v(5 ,icg)
2289 c2v(8 ,icl) = pgrid%pyr2v(5 ,icg)
2302 WRITE(zonetitle,
'(A,I5.5)') trim(zoneprefix),pregion%iRegionGlobal
2304 errorflag = teczne100(trim(zonetitle)//nullchar,zonetype,
nvert,ncells, &
2305 0,0,0,0,zone_form_block,0,0,postec,nullarray,0)
2306 global%error = errorflag
2307 IF ( global%error /= err_none )
THEN
2308 CALL
errorstop(global,err_tecplot_output,__line__)
2318 DO ivar = 1,nvarstec
2319 IF ( postec(ivar) == var_pos_cell )
THEN
2320 ivarcell = ivarcell + 1
2321 errorflag = tecdat100(ncells,varcelltmp(1,ivarcell),doubleflagtec)
2322 ELSE IF ( postec(ivar) == var_pos_vert )
THEN
2323 ivarvert = ivarvert + 1
2324 errorflag = tecdat100(pgrid%nVertTot,pregion%varVertTEC(1,ivarvert), &
2327 CALL
errorstop(global,err_reached_default,__line__)
2330 global%error = errorflag
2331 IF ( global%error /= err_none )
THEN
2332 CALL
errorstop(global,err_tecplot_output,__line__)
2340 SELECT CASE ( celltype )
2341 CASE ( cell_type_tet )
2342 errorflag = tecnod100(pgrid%tet2v(1:4,icgbeg:icgend))
2343 CASE ( cell_type_hex )
2344 errorflag = tecnod100(pgrid%hex2v(1:8,icgbeg:icgend))
2345 CASE ( cell_type_pri )
2346 errorflag = tecnod100(c2v)
2347 CASE ( cell_type_pyr )
2348 errorflag = tecnod100(c2v)
2350 CALL
errorstop(global,err_reached_default,__line__)
2353 global%error = errorflag
2354 IF ( global%error /= err_none )
THEN
2355 CALL
errorstop(global,err_tecplot_output,__line__)
2362 IF ( nvarscelltec > 0 )
THEN
2363 DEALLOCATE(varcelltmp,stat=errorflag)
2364 global%error = errorflag
2365 IF ( global%error /= err_none )
THEN
2366 CALL
errorstop(global,err_deallocate,__line__,
'varCellTmp')
2370 IF ( celltype == cell_type_pri .OR. celltype == cell_type_pyr )
THEN
2371 DEALLOCATE(c2v,stat=errorflag)
2372 global%error = errorflag
2373 IF ( global%error /= err_none )
THEN
2374 CALL
errorstop(global,err_deallocate,__line__,
'c2v')
2382 DEALLOCATE(nullarray,stat=errorflag)
2383 global%error = errorflag
2384 IF ( global%error /= err_none )
THEN
2385 CALL
errorstop(global,err_deallocate,__line__,
'nullArray')
subroutine, public rflu_tec_writezonesurf(pRegion, pPatch, faceType, faceKind)
INTEGER function, public rflu_getglobalcellkind(global, pGrid, icg)
subroutine registerfunction(global, funName, fileName)
subroutine simplifysortedintegers(a, na, nb)
subroutine quicksortinteger(a, n)
subroutine binarysearchinteger(a, n, v, i, j)
subroutine, public rflu_tec_writezonefacesspecial(pRegion)
subroutine, public rflu_tec_writezoneinterf(pRegion)
INTEGER function, public rflu_getfacekind(global, c1k, c2k)
subroutine, public rflu_tec_closefile(global)
subroutine, public rflu_tec_openfile(global, title, fileName)
subroutine, public rflu_tec_writezonesurfmixed(pRegion, pPatch)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
subroutine, public rflu_tec_writezonecellsspecial(pRegion)
subroutine, public rflu_tec_writezonevol(pRegion, cellType, cellKind)