103 CHARACTER(CHRLEN) :: &
104 RCSIdentString =
'$RCSfile: RFLU_ModGENXAdmin.F90,v $ $Revision: 1.26 $'
151 TYPE(t_region
),
POINTER :: pregion
157 INTEGER :: errorflag,ipatch,ivg,ivl
159 TYPE(t_grid),
POINTER :: pgrid
160 TYPE(t_patch),
POINTER :: ppatch
166 global => pregion%global
168 pgrid => pregion%grid
171 'RFLU_ModRocstarAdmin.F90')
184 DO ipatch=1,pgrid%nPatches
185 ppatch => pregion%patches(ipatch)
187 DO ivl = 1,ppatch%nBVertTot
190 ppatch%xyz(xcoord,ivl) = pgrid%xyz(xcoord,ivg)
191 ppatch%xyz(ycoord,ivl) = pgrid%xyz(ycoord,ivg)
192 ppatch%xyz(zcoord,ivl) = pgrid%xyz(zcoord,ivg)
237 TYPE(t_region
),
POINTER :: pregion
243 INTEGER :: errorflag,iborder,icl,ipc,ivl,paneid
245 TYPE(t_grid),
POINTER :: pgrid
252 global => pregion%global
254 pgrid => pregion%grid
257 'RFLU_ModRocstarAdmin.F90')
259 IF ( global%myProcid == masterproc .AND. &
260 global%verbLevel >= verbose_high )
THEN
261 WRITE(stdout,
'(A,1X,A)') solver_name,
'Building pconn...'
275 pgrid%pconn(ipc) = pgrid%nBorders
277 DO iborder = 1,pgrid%nBorders
278 pborder => pgrid%borders(iborder)
287 pgrid%pconn(ipc) = paneid
294 pgrid%pconn(ipc) = pborder%nVertShared
300 DO ivl = 1,pborder%nVertShared
302 pgrid%pconn(ipc) = pborder%ivgShared(ivl)
311 pgrid%pconn(ipc) = pgrid%nBorders
313 DO iborder = 1,pgrid%nBorders
314 pborder => pgrid%borders(iborder)
323 pgrid%pconn(ipc) = paneid
330 pgrid%pconn(ipc) = pborder%nVertSend
336 DO ivl = 1,pborder%nVertSend
338 pgrid%pconn(ipc) = pborder%ivgSend(ivl)
347 pgrid%pconn(ipc) = pgrid%nBorders
349 DO iborder = 1,pgrid%nBorders
350 pborder => pgrid%borders(iborder)
359 pgrid%pconn(ipc) = paneid
366 pgrid%pconn(ipc) = pborder%nVertRecv
372 DO ivl = 1,pborder%nVertRecv
374 pgrid%pconn(ipc) = pborder%ivgRecv(ivl)
383 pgrid%pconn(ipc) = pgrid%nBorders
385 DO iborder = 1,pgrid%nBorders
386 pborder => pgrid%borders(iborder)
396 pgrid%pconn(ipc) = paneid
403 pgrid%pconn(ipc) = pborder%nCellsSend
409 DO icl = 1,pborder%nCellsSend
411 pgrid%pconn(ipc) = pborder%icgSend(icl)
420 pgrid%pconn(ipc) = pgrid%nBorders
422 DO iborder = 1,pgrid%nBorders
423 pborder => pgrid%borders(iborder)
432 pgrid%pconn(ipc) = paneid
439 pgrid%pconn(ipc) = pborder%nCellsRecv
445 DO icl = 1,pborder%nCellsRecv
447 pgrid%pconn(ipc) = pborder%icgRecv(icl)
455 IF ( global%myProcid == masterproc .AND. &
456 global%verbLevel >= verbose_high )
THEN
457 WRITE(stdout,
'(A,1X,A)') solver_name,
'Building pconn done.'
502 CHARACTER(CHRLEN) :: ifilename
503 CHARACTER(GENX_TIME_STRING_LEN) :: timestring
511 'RFLU_ModRocstarAdmin.F90')
513 IF ( global%myProcid == masterproc .AND. &
514 global%verbLevel >= verbose_high )
THEN
515 WRITE(stdout,
'(A,1X,A)') solver_name,
'Closing Rocin control files...'
527 ifilename =
'./Rocflu/Rocin/fluid_in_'//trim(timestring)//
'.txt'
529 CLOSE(if_ctrl_vol,iostat=errorflag)
530 global%error = errorflag
531 IF ( global%error /= err_none )
THEN
532 CALL
errorstop(global,err_file_close,__line__,ifilename)
540 ifilename =
'./Rocflu/Rocin/ifluid_in_'//trim(timestring)//
'.txt'
542 CLOSE(if_ctrl_surf,iostat=errorflag)
543 global%error = errorflag
544 IF ( global%error /= err_none )
THEN
545 CALL
errorstop(global,err_file_close,__line__,ifilename)
552 IF ( global%myProcid == masterproc .AND. &
553 global%verbLevel >= verbose_high )
THEN
554 WRITE(stdout,
'(A,1X,A)') solver_name,
'Closing Rocin control files done.'
593 TYPE(t_region
),
POINTER :: pregion
599 CHARACTER(CHRLEN) :: winname
606 global => pregion%global
612 winname = global%volWinName
614 CALL com_new_attribute(trim(winname)//
'.disp',
'n',com_double_precision,3,
'')
654 TYPE(t_region
),
POINTER :: pregion
660 CHARACTER(CHRLEN) :: winname
667 global => pregion%global
677 winname = global%volWinName
679 CALL com_new_attribute(trim(winname)//
'.rhof' ,
'e',com_double_precision, &
681 CALL com_new_attribute(trim(winname)//
'.rhovf',
'e',com_double_precision, &
683 CALL com_new_attribute(trim(winname)//
'.rhoEf',
'e',com_double_precision, &
685 CALL com_new_attribute(trim(winname)//
'.pf',
'e',com_double_precision,1, &
687 CALL com_new_attribute(trim(winname)//
'.Tf',
'e',com_double_precision,1, &
689 CALL com_new_attribute(trim(winname)//
'.af',
'e',com_double_precision,1, &
732 TYPE(t_region
),
POINTER :: pregion
738 CHARACTER(CHRLEN) :: winname
745 global => pregion%global
751 winname = global%surfWinName
753 CALL com_new_attribute(trim(winname)//
'.bcflag' ,
'p',com_integer,1,
'')
754 CALL com_new_attribute(trim(winname)//
'.patchNo' ,
'p',com_integer,1,
'')
755 CALL com_new_attribute(trim(winname)//
'.cnstr_type' ,
'p',com_integer,1,
'')
757 CALL com_new_attribute(trim(winname)//
'.t3g:real' ,
'p',com_integer,3,
'')
758 CALL com_new_attribute(trim(winname)//
'.t3g:virtual',
'p',com_integer,3,
'')
760 CALL com_new_attribute(trim(winname)//
'.q4g:real' ,
'p',com_integer,4,
'')
761 CALL com_new_attribute(trim(winname)//
'.q4g:virtual',
'p',com_integer,4,
'')
803 TYPE(t_region
),
POINTER :: pregion
809 CHARACTER(CHRLEN) :: winname
816 global => pregion%global
826 winname = global%volWinName
828 CALL com_new_attribute(trim(winname)//
'.gs',
'p',com_double_precision, &
835 winname = global%surfWinName
837 CALL com_new_attribute(trim(winname)//
'.gs',
'e',com_double_precision, &
879 TYPE(t_region
),
POINTER :: pregion
885 CHARACTER(CHRLEN) :: winname
893 global => pregion%global
895 winname = global%surfWinName
897 comd = com_double_precision
908 CALL com_new_attribute(trim(winname)//
'.du_alp' ,
'n',comd,3,
'm' )
909 CALL com_new_attribute(trim(winname)//
'.mdot_alp' ,
'e',comd,1,
'kg/(m^2s)')
910 CALL com_new_attribute(trim(winname)//
'.rhofvf_alp',
'e',comd,3,
'kg/(m^2s)')
911 CALL com_new_attribute(trim(winname)//
'.Tflm_alp' ,
'e',comd,1,
'K' )
912 CALL com_new_attribute( trim(winname)//
'.zoomFact' ,
'w',comd,1,
'none' )
913 CALL com_new_attribute(trim(winname)//
'.Tb_alp' ,
'e',comd,1,
'K' )
919 CALL com_new_attribute(trim(winname)//
'.nf_alp' ,
'e',comd,3,
'' )
920 CALL com_new_attribute(trim(winname)//
'.pf' ,
'e',comd,1,
'Pa' )
921 CALL com_new_attribute(trim(winname)//
'.tf' ,
'e',comd,3,
'Pa' )
922 CALL com_new_attribute(trim(winname)//
'.qc' ,
'e',comd,1,
'kgK/(m^2s)')
923 CALL com_new_attribute(trim(winname)//
'.qr' ,
'e',comd,1,
'kgK/(m^2s)')
924 CALL com_new_attribute(trim(winname)//
'.rhof_alp',
'e',comd,1,
'kg/m^3' )
925 CALL com_new_attribute(trim(winname)//
'.Tf' ,
'e',comd,1,
'K' )
933 CALL com_new_attribute(trim(winname)//
'.bflag' ,
'e',comi,1,
'' )
976 TYPE(t_region
),
POINTER :: pregion
1025 TYPE(t_region
),
POINTER :: pregion
1072 TYPE(t_region
),
POINTER :: pregion
1139 TYPE(t_region
),
POINTER :: pregion
1145 INTEGER :: errorflag,ifl,ipatch,ivl
1147 TYPE(t_grid),
POINTER :: pgrid
1148 TYPE(t_patch),
POINTER :: ppatch
1154 global => pregion%global
1156 pgrid => pregion%grid
1159 'RFLU_ModRocstarAdmin.F90')
1165 DO ipatch = 1,pgrid%nPatches
1166 ppatch => pregion%patches(ipatch)
1172 ALLOCATE(ppatch%dXyz(xcoord:zcoord,ppatch%nBVertTot),stat=errorflag)
1173 global%error = errorflag
1174 IF ( global%error /= err_none )
THEN
1175 CALL
errorstop(global,err_allocate,__line__,
'pPatch%dXyz')
1178 DO ivl = 1,ppatch%nBVertTot
1179 ppatch%dXyz(xcoord,ivl) = 0.0_rfreal
1180 ppatch%dXyz(ycoord,ivl) = 0.0_rfreal
1181 ppatch%dXyz(zcoord,ivl) = 0.0_rfreal
1192 ALLOCATE(ppatch%duAlp(xcoord:zcoord,ppatch%nBVertTot),stat=errorflag)
1193 global%error = errorflag
1194 IF ( global%error /= err_none )
THEN
1195 CALL
errorstop(global,err_allocate,__line__,
'pPatch%duAlp')
1198 DO ivl = 1,ppatch%nBVertTot
1199 ppatch%duAlp(xcoord,ivl) = 0.0_rfreal
1200 ppatch%duAlp(ycoord,ivl) = 0.0_rfreal
1201 ppatch%duAlp(zcoord,ivl) = 0.0_rfreal
1208 IF ( ppatch%bcCoupled /= bc_not_coupled )
THEN
1209 ALLOCATE(ppatch%rhofvfAlp(xcoord:zcoord,ppatch%nBFacesTot), &
1211 global%error = errorflag
1212 IF ( global%error /= err_none )
THEN
1213 CALL
errorstop(global,err_allocate,__line__,
'pPatch%rhofvfAlp')
1216 DO ifl = 1,ppatch%nBFacesTot
1217 ppatch%rhofvfAlp(xcoord,ifl) = 0.0_rfreal
1218 ppatch%rhofvfAlp(ycoord,ifl) = 0.0_rfreal
1219 ppatch%rhofvfAlp(zcoord,ifl) = 0.0_rfreal
1222 ALLOCATE(ppatch%tbAlp(ppatch%nBFacesTot),stat=errorflag)
1223 global%error = errorflag
1224 IF ( global%error /= err_none )
THEN
1225 CALL
errorstop(global,err_allocate,__line__,
'pPatch%tbAlp')
1228 DO ifl = 1,ppatch%nBFacesTot
1229 ppatch%tbAlp(ifl) = 0.0_rfreal
1237 IF ( ppatch%bcCoupled == bc_burning )
THEN
1238 ALLOCATE(ppatch%mdotAlp(ppatch%nBFacesTot),stat=errorflag)
1239 global%error = errorflag
1240 IF ( global%error /= err_none )
THEN
1241 CALL
errorstop(global,err_allocate,__line__,
'pPatch%mdotAlp')
1244 DO ifl = 1,ppatch%nBFacesTot
1245 ppatch%mdotAlp(ifl) = 0.0_rfreal
1248 ALLOCATE(ppatch%tflmAlp(ppatch%nBFacesTot),stat=errorflag)
1249 global%error = errorflag
1250 IF ( global%error /= err_none )
THEN
1251 CALL
errorstop(global,err_allocate,__line__,
'pPatch%tflmAlp')
1254 DO ifl = 1,ppatch%nBFacesTot
1255 ppatch%tflmAlp(ifl) = 0.0_rfreal
1267 IF ( ppatch%bcCoupled /= bc_not_coupled )
THEN
1268 ALLOCATE(ppatch%nfAlp(xcoord:zcoord,ppatch%nBFacesTot),stat=errorflag)
1269 global%error = errorflag
1270 IF ( global%error /= err_none )
THEN
1271 CALL
errorstop(global,err_allocate,__line__,
'pPatch%nfAlp')
1274 DO ifl = 1,ppatch%nBFacesTot
1275 ppatch%nfAlp(xcoord,ifl) = 0.0_rfreal
1276 ppatch%nfAlp(ycoord,ifl) = 0.0_rfreal
1277 ppatch%nfAlp(zcoord,ifl) = 0.0_rfreal
1280 ALLOCATE(ppatch%rhofAlp(ppatch%nBFacesTot),stat=errorflag)
1281 global%error = errorflag
1282 IF ( global%error /= err_none )
THEN
1283 CALL
errorstop(global,err_allocate,__line__,
'pPatch%rhofAlp')
1286 DO ifl = 1,ppatch%nBFacesTot
1287 ppatch%rhofAlp(ifl) = 0.0_rfreal
1290 ALLOCATE(ppatch%pf(ppatch%nBFacesTot),stat=errorflag)
1291 global%error = errorflag
1292 IF ( global%error /= err_none )
THEN
1293 CALL
errorstop(global,err_allocate,__line__,
'pPatch%pf')
1296 DO ifl = 1,ppatch%nBFacesTot
1297 ppatch%pf(ifl) = 0.0_rfreal
1300 ALLOCATE(ppatch%tracf(xcoord:zcoord,ppatch%nBFacesTot),stat=errorflag)
1301 global%error = errorflag
1302 IF ( global%error /= err_none )
THEN
1303 CALL
errorstop(global,err_allocate,__line__,
'pPatch%tracf')
1306 DO ifl = 1,ppatch%nBFacesTot
1307 ppatch%tracf(xcoord,ifl) = 0.0_rfreal
1308 ppatch%tracf(ycoord,ifl) = 0.0_rfreal
1309 ppatch%tracf(zcoord,ifl) = 0.0_rfreal
1312 ALLOCATE(ppatch%qc(ppatch%nBFacesTot),stat=errorflag)
1313 global%error = errorflag
1314 IF ( global%error /= err_none )
THEN
1315 CALL
errorstop(global,err_allocate,__line__,
'pPatch%qc')
1318 DO ifl = 1,ppatch%nBFacesTot
1319 ppatch%qc(ifl) = 0.0_rfreal
1322 ALLOCATE(ppatch%qr(ppatch%nBFacesTot),stat=errorflag)
1323 global%error = errorflag
1324 IF ( global%error /= err_none )
THEN
1325 CALL
errorstop(global,err_allocate,__line__,
'pPatch%qr')
1328 DO ifl = 1,ppatch%nBFacesTot
1329 ppatch%qr(ifl) = 0.0_rfreal
1337 IF ( ppatch%bcCoupled == bc_burning )
THEN
1338 ALLOCATE(ppatch%tempf(ppatch%nBFacesTot),stat=errorflag)
1339 global%error = errorflag
1340 IF ( global%error /= err_none )
THEN
1341 CALL
errorstop(global,err_allocate,__line__,
'pPatch%tempf')
1344 DO ifl = 1,ppatch%nBFacesTot
1345 ppatch%tempf(ifl) = 0.0_rfreal
1353 ALLOCATE(ppatch%bFlag(ppatch%nBFacesTot),stat=errorflag)
1354 global%error = errorflag
1355 IF ( global%error /= err_none )
THEN
1356 CALL
errorstop(global,err_allocate,__line__,
'pPatch%bFlag')
1359 DO ifl = 1,ppatch%nBFaces
1360 ppatch%bFlag(ifl) = 1
1363 DO ifl = ppatch%nBFaces+1,ppatch%nBFacesTot
1364 ppatch%bFlag(ifl) = crazy_value_int
1419 TYPE(t_region
),
POINTER :: pregion
1425 INTEGER :: errorflag,ipatch
1427 TYPE(t_grid),
POINTER :: pgrid
1428 TYPE(t_patch),
POINTER :: ppatch
1434 global => pregion%global
1436 pgrid => pregion%grid
1439 'RFLU_ModRocstarAdmin.F90')
1451 DO ipatch=1,pgrid%nPatches
1452 ppatch => pregion%patches(ipatch)
1454 ALLOCATE(ppatch%bcFlag(1),stat=errorflag)
1455 global%error = errorflag
1456 IF ( global%error /= err_none )
THEN
1457 CALL
errorstop(global,err_allocate,__line__,
'pPatch%bcFlag')
1460 ppatch%bcFlag(1) = ppatch%bcCoupled
1462 ALLOCATE(ppatch%patchNo(1),stat=errorflag)
1463 global%error = errorflag
1464 IF ( global%error /= err_none )
THEN
1465 CALL
errorstop(global,err_allocate,__line__,
'pPatch%patchNo')
1468 ppatch%patchNo(1) = ppatch%iPatchGlobal
1470 ALLOCATE(ppatch%cnstrType(1),stat=errorflag)
1471 global%error = errorflag
1472 IF ( global%error /= err_none )
THEN
1473 CALL
errorstop(global,err_allocate,__line__,
'pPatch%cnstrType')
1478 ALLOCATE(ppatch%xyz(xcoord:zcoord,ppatch%nBVertTot),stat=errorflag)
1479 global%error = errorflag
1480 IF ( global%error /= err_none )
THEN
1481 CALL
errorstop(global,err_allocate,__line__,
'pPatch%xyz')
1526 TYPE(t_region
),
POINTER :: pregion
1532 INTEGER :: errorflag,iborder
1534 TYPE(t_grid),
POINTER :: pgrid
1541 global => pregion%global
1543 pgrid => pregion%grid
1546 'RFLU_ModRocstarAdmin.F90')
1548 IF ( global%myProcid == masterproc .AND. &
1549 global%verbLevel >= verbose_high )
THEN
1550 WRITE(stdout,
'(A,1X,A)') solver_name,
'Creating pconn...'
1557 pgrid%pconnSizeTot = 0
1558 pgrid%pconnSizeGhost = 0
1564 pgrid%pconnSizeTot = pgrid%pconnSizeTot + 1
1566 DO iborder = 1,pgrid%nBorders
1567 pborder => pgrid%borders(iborder)
1569 pgrid%pconnSizeTot = pgrid%pconnSizeTot + pborder%nVertShared + 2
1576 pgrid%pconnSizeTot = pgrid%pconnSizeTot + 1
1577 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + 1
1579 DO iborder = 1,pgrid%nBorders
1580 pborder => pgrid%borders(iborder)
1582 pgrid%pconnSizeTot = pgrid%pconnSizeTot + pborder%nVertSend + 2
1583 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + pborder%nVertSend + 2
1590 pgrid%pconnSizeTot = pgrid%pconnSizeTot + 1
1591 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + 1
1593 DO iborder = 1,pgrid%nBorders
1594 pborder => pgrid%borders(iborder)
1596 pgrid%pconnSizeTot = pgrid%pconnSizeTot + pborder%nVertRecv + 2
1597 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + pborder%nVertRecv + 2
1604 pgrid%pconnSizeTot = pgrid%pconnSizeTot + 1
1605 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + 1
1607 DO iborder = 1,pgrid%nBorders
1608 pborder => pgrid%borders(iborder)
1610 pgrid%pconnSizeTot = pgrid%pconnSizeTot + pborder%nCellsSend + 2
1611 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + pborder%nCellsSend + 2
1618 pgrid%pconnSizeTot = pgrid%pconnSizeTot + 1
1619 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + 1
1621 DO iborder = 1,pgrid%nBorders
1622 pborder => pgrid%borders(iborder)
1624 pgrid%pconnSizeTot = pgrid%pconnSizeTot + pborder%nCellsRecv + 2
1625 pgrid%pconnSizeGhost = pgrid%pconnSizeGhost + pborder%nCellsRecv + 2
1632 ALLOCATE(pgrid%pconn(pgrid%pconnSizeTot),stat=errorflag)
1633 global%error = errorflag
1634 IF ( global%error /= err_none )
THEN
1635 CALL
errorstop(global,err_allocate,__line__,
'pGrid%pconn')
1642 IF ( global%myProcid == masterproc .AND. &
1643 global%verbLevel >= verbose_high )
THEN
1644 WRITE(stdout,
'(A,1X,A)') solver_name,
'Creating pconn done.'
1687 TYPE(t_region
),
POINTER :: pregion
1699 global => pregion%global
1701 IF ( global%myProcid == masterproc .AND. &
1702 global%verbLevel >= verbose_high )
THEN
1703 WRITE(stdout,
'(A,1X,A)') solver_name,
'Creating windows...'
1710 global%surfWinName = trim(global%winName)//
'_surf'
1711 global%volWinName = trim(global%winName)//
'_vol'
1713 IF ( global%myProcid == masterproc .AND. &
1714 global%verbLevel >= verbose_high )
THEN
1715 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Surface window name:', &
1716 trim(global%surfWinName)
1717 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Volume window name:', &
1718 trim(global%volWinName)
1722 CALL com_new_window(trim(global%surfWinName),
communicator)
1723 CALL com_new_window(trim(global%volWinName),
communicator)
1725 CALL com_new_window(trim(global%surfWinName))
1726 CALL com_new_window(trim(global%volWinName))
1733 IF ( global%myProcid == masterproc .AND. &
1734 global%verbLevel >= verbose_high )
THEN
1735 WRITE(stdout,
'(A,1X,A)') solver_name,
'Creating windows done.'
1773 TYPE(t_region
),
POINTER :: pregion
1785 global => pregion%global
1791 global%surfWinName = trim(global%winName)//
'_surf'
1792 CALL com_window_init_done(trim(global%surfWinName))
1794 global%volWinName = trim(global%winName)//
'_vol'
1795 CALL com_window_init_done(trim(global%volWinName))
1837 TYPE(t_region
),
POINTER :: pregion
1843 INTEGER :: errorflag,ipatch
1845 TYPE(t_grid),
POINTER :: pgrid
1846 TYPE(t_patch),
POINTER :: ppatch
1852 global => pregion%global
1854 pgrid => pregion%grid
1857 'RFLU_ModRocstarAdmin.F90')
1863 DO ipatch = 1,pgrid%nPatches
1864 ppatch => pregion%patches(ipatch)
1870 DEALLOCATE(ppatch%dXyz,stat=errorflag)
1871 global%error = errorflag
1872 IF ( global%error /= err_none )
THEN
1873 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%dXyz')
1884 DEALLOCATE(ppatch%duAlp,stat=errorflag)
1885 global%error = errorflag
1886 IF ( global%error /= err_none )
THEN
1887 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%duAlp')
1894 IF ( ppatch%bcCoupled /= bc_not_coupled )
THEN
1895 DEALLOCATE(ppatch%rhofvfAlp,stat=errorflag)
1896 global%error = errorflag
1897 IF ( global%error /= err_none )
THEN
1898 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%rhofvfAlp')
1901 DEALLOCATE(ppatch%tbAlp,stat=errorflag)
1902 global%error = errorflag
1903 IF ( global%error /= err_none )
THEN
1904 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%tbfAlp')
1912 IF ( ppatch%bcCoupled == bc_burning )
THEN
1913 DEALLOCATE(ppatch%mdotAlp,stat=errorflag)
1914 global%error = errorflag
1915 IF ( global%error /= err_none )
THEN
1916 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%mdotAlp')
1919 DEALLOCATE(ppatch%tflmAlp,stat=errorflag)
1920 global%error = errorflag
1921 IF ( global%error /= err_none )
THEN
1922 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%tflmAlp')
1934 IF ( ppatch%bcCoupled /= bc_not_coupled )
THEN
1935 DEALLOCATE(ppatch%nfAlp,stat=errorflag)
1936 global%error = errorflag
1937 IF ( global%error /= err_none )
THEN
1938 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%nfAlp')
1941 DEALLOCATE(ppatch%rhofAlp,stat=errorflag)
1942 global%error = errorflag
1943 IF ( global%error /= err_none )
THEN
1944 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%rhofAlp')
1947 DEALLOCATE(ppatch%pf,stat=errorflag)
1948 global%error = errorflag
1949 IF ( global%error /= err_none )
THEN
1950 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%pf')
1953 DEALLOCATE(ppatch%tracf,stat=errorflag)
1954 global%error = errorflag
1955 IF ( global%error /= err_none )
THEN
1956 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%tracf')
1959 DEALLOCATE(ppatch%qc,stat=errorflag)
1960 global%error = errorflag
1961 IF ( global%error /= err_none )
THEN
1962 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%qc')
1965 DEALLOCATE(ppatch%qr,stat=errorflag)
1966 global%error = errorflag
1967 IF ( global%error /= err_none )
THEN
1968 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%qr')
1976 IF ( ppatch%bcCoupled == bc_burning )
THEN
1977 DEALLOCATE(ppatch%tempf,stat=errorflag)
1978 global%error = errorflag
1979 IF ( global%error /= err_none )
THEN
1980 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%tempf')
1984 DEALLOCATE(ppatch%bFlag,stat=errorflag)
1985 global%error = errorflag
1986 IF ( global%error /= err_none )
THEN
1987 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%bFlag')
2037 TYPE(t_region
),
POINTER :: pregion
2043 INTEGER :: errorflag,ipatch
2045 TYPE(t_grid),
POINTER :: pgrid
2046 TYPE(t_patch),
POINTER :: ppatch
2052 global => pregion%global
2054 pgrid => pregion%grid
2057 'RFLU_ModRocstarAdmin.F90')
2069 DO ipatch=1,pgrid%nPatches
2070 ppatch => pregion%patches(ipatch)
2072 DEALLOCATE(ppatch%bcFlag,stat=errorflag)
2073 global%error = errorflag
2074 IF ( global%error /= err_none )
THEN
2075 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%bcFlag')
2078 DEALLOCATE(ppatch%patchNo,stat=errorflag)
2079 global%error = errorflag
2080 IF ( global%error /= err_none )
THEN
2081 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%patchNo')
2084 DEALLOCATE(ppatch%cnstrType,stat=errorflag)
2085 global%error = errorflag
2086 IF ( global%error /= err_none )
THEN
2087 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%cnstrType')
2090 DEALLOCATE(ppatch%xyz,stat=errorflag)
2091 global%error = errorflag
2092 IF ( global%error /= err_none )
THEN
2093 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%xyz')
2141 TYPE(t_region
),
POINTER :: pregion
2147 INTEGER :: errorflag
2149 TYPE(t_grid),
POINTER :: pgrid
2155 global => pregion%global
2157 pgrid => pregion%grid
2160 'RFLU_ModRocstarAdmin.F90')
2162 IF ( global%myProcid == masterproc .AND. &
2163 global%verbLevel >= verbose_high )
THEN
2164 WRITE(stdout,
'(A,1X,A)') solver_name,
'Destroying pconn...'
2171 DEALLOCATE(pgrid%pconn,stat=errorflag)
2172 global%error = errorflag
2173 IF ( global%error /= err_none )
THEN
2174 CALL
errorstop(global,err_deallocate,__line__,
'pGrid%pconn')
2181 IF ( global%myProcid == masterproc .AND. &
2182 global%verbLevel >= verbose_high )
THEN
2183 WRITE(stdout,
'(A,1X,A)') solver_name,
'Destroying pconn done.'
2238 global%winName =
'ROCFLU'
2281 INTEGER,
INTENT(IN) ::
handle
2282 TYPE(t_region
),
POINTER :: pregion
2288 INTEGER :: solvertype
2295 global => pregion%global
2297 IF ( global%myProcid == masterproc .AND. &
2298 global%verbLevel >= verbose_high )
THEN
2299 WRITE(stdout,
'(A,1X,A)') solver_name,
'Initializing Rocman...'
2306 IF ( pregion%mixtInput%flowModel == flow_navst )
THEN
2312 CALL com_call_function(
handle,3,trim(global%surfWinName), &
2313 trim(global%volWinName),solvertype)
2319 IF ( global%myProcid == masterproc .AND. &
2320 global%verbLevel >= verbose_high )
THEN
2321 WRITE(stdout,
'(A,1X,A)') solver_name,
'Initializing Rocman done.'
2366 CHARACTER(CHRLEN) :: ifilename
2367 INTEGER :: errorflag,verblevelcom
2374 'RFLU_ModRocstarAdmin.F90')
2380 ifilename =
'./Rocflu/RocfluControl.txt'
2382 OPEN(if_control,file=ifilename,
form=
'FORMATTED',
status=
'OLD', &
2384 global%error = errorflag
2385 IF ( global%error /= err_none )
THEN
2386 CALL
errorstop(global,err_file_open,__line__,
'File: '//trim(ifilename))
2397 READ(if_control,
'(A)',iostat=errorflag) global%casename
2398 global%error = errorflag
2399 IF ( global%error /= err_none )
THEN
2400 CALL
errorstop( global,err_file_read,__line__,
'File: '//trim(ifilename) )
2407 READ(if_control,
'(A)',iostat=errorflag) global%inDir
2408 global%error = errorflag
2409 IF ( global%error /= err_none )
THEN
2412 IF ( global%inDir(len_trim(global%inDir): &
2413 len_trim(global%inDir)) /=
'/' )
THEN
2414 global%inDir = trim(global%inDir)//
'/'
2418 READ(if_control,
'(A)',iostat=errorflag) global%outDir
2419 global%error = errorflag
2420 IF ( global%error /= err_none )
THEN
2421 global%outDir =
'./'
2423 IF ( global%outDir(len_trim(global%outDir): &
2424 len_trim(global%outDir)) /=
'/' )
THEN
2425 global%outDir = trim(global%outDir)//
'/'
2429 READ(if_control,
'(A)',iostat=errorflag) global%outDirHDF
2430 global%error = errorflag
2431 IF ( global%error /= err_none )
THEN
2432 global%outDirHDF =
'./'
2434 IF ( global%outDirHDF(len_trim(global%outDirHDF): &
2435 len_trim(global%outDirHDF)) /=
'/' )
THEN
2436 global%outDirHDF = trim(global%outDirHDF)//
'/'
2447 READ(if_control,*,iostat=errorflag) global%verbLevel
2448 global%error = errorflag
2449 IF ( global%error /= err_none )
THEN
2450 global%verbLevel = verbose_high
2452 global%verbLevel =
max(global%verbLevel,verbose_none)
2453 global%verbLevel =
min(global%verbLevel,verbose_high)
2456 READ(if_control,*,iostat=errorflag) global%checkLevel
2457 global%error = errorflag
2458 IF ( global%error /= err_none )
THEN
2459 global%checkLevel = check_high
2461 global%checkLevel =
max(global%checkLevel,check_none)
2462 global%checkLevel =
min(global%checkLevel,check_high)
2465 READ(if_control,*,iostat=errorflag) verblevelcom
2466 IF ( errorflag == err_none )
THEN
2467 global%verbLevelCOM = verblevelcom
2474 CLOSE(if_control,iostat=errorflag)
2475 global%error = errorflag
2476 IF ( global%error /= err_none )
THEN
2477 CALL
errorstop(global,err_file_close,__line__,
'File: '//trim(ifilename))
2523 TYPE(t_region
),
POINTER :: pregion
2529 CHARACTER(CHRLEN) :: winname
2530 INTEGER :: paneid,sz,ng
2531 REAL(RFREAL),
POINTER :: preal
2533 TYPE(t_grid),
POINTER :: pgrid
2540 global => pregion%global
2542 pgrid => pregion%grid
2543 pmixtinput => pregion%mixtInput
2545 IF ( global%myProcid == masterproc .AND. &
2546 global%verbLevel >= verbose_high )
THEN
2547 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering flow data...'
2558 winname = global%volWinName
2562 IF ( global%myProcid == masterproc .AND. &
2563 global%verbLevel >= verbose_high )
THEN
2564 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Window name:',trim(winname)
2565 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Pane id:', paneid
2572 preal => pregion%mixt%cv(cv_mixt_dens,1)
2574 CALL com_set_array(trim(winname)//
'.rhof',paneid,preal,pmixtinput%nCv, &
2578 preal => pregion%mixt%cv(cv_mixt_xmom,1)
2580 CALL com_set_array(trim(winname)//
'.rhovf',paneid,preal,pmixtinput%nCv, &
2583 preal => pregion%mixt%cv(cv_mixt_ener,1)
2585 CALL com_set_array(trim(winname)//
'.rhoEf',paneid,preal,pmixtinput%nCv, &
2592 preal => pregion%mixt%dv(dv_mixt_pres,1)
2594 CALL com_set_array(trim(winname)//
'.pf',paneid,preal,pmixtinput%nDv, &
2597 preal => pregion%mixt%dv(dv_mixt_temp,1)
2599 CALL com_set_array(trim(winname)//
'.Tf',paneid,preal,pmixtinput%nDv, &
2602 preal => pregion%mixt%dv(dv_mixt_soun,1)
2604 CALL com_set_array(trim(winname)//
'.af',paneid,preal,pmixtinput%nDv, &
2611 IF ( global%myProcid == masterproc .AND. &
2612 global%verbLevel >= verbose_high )
THEN
2613 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering flow data done.'
2616 CALL com_get_size(trim(winname)//
'.rhof',paneid,sz,ng)
2653 TYPE(t_region
),
POINTER :: pregion
2659 CHARACTER(CHRLEN) :: winname
2660 INTEGER :: ipatch,paneid
2661 REAL(RFREAL),
POINTER :: preal
2663 TYPE(t_grid),
POINTER :: pgrid
2664 TYPE(t_patch),
POINTER :: ppatch
2670 global => pregion%global
2672 pgrid => pregion%grid
2674 IF ( global%myProcid == masterproc .AND. &
2675 global%verbLevel >= verbose_high )
THEN
2676 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering grid speeds...'
2687 winname = global%volWinName
2691 IF ( global%myProcid == masterproc .AND. &
2692 global%verbLevel >= verbose_high )
THEN
2693 WRITE(stdout,
'(A,3X,A)') solver_name,
'Volume data...'
2694 WRITE(stdout,
'(A,5X,A,1X,A)') solver_name,
'Window name:',trim(winname)
2695 WRITE(stdout,
'(A,5X,A,1X,I5.5)') solver_name,
'Pane id:', paneid
2698 preal => pgrid%gs(1)
2700 CALL com_set_size(trim(winname)//
'.gs',paneid,pgrid%nFacesTot,0)
2701 CALL com_set_array(trim(winname)//
'.gs',paneid,preal,1,pgrid%nFacesTot)
2707 winname = global%surfWinName
2709 IF ( global%myProcid == masterproc .AND. &
2710 global%verbLevel >= verbose_high )
THEN
2711 WRITE(stdout,
'(A,3X,A)') solver_name,
'Surface data...'
2712 WRITE(stdout,
'(A,5X,A,1X,A)') solver_name,
'Window name:',trim(winname)
2715 DO ipatch = 1,pgrid%nPatches
2716 ppatch => pregion%patches(ipatch)
2720 IF ( global%myProcid == masterproc .AND. &
2721 global%verbLevel >= verbose_high )
THEN
2722 WRITE(stdout,
'(A,5X,A,1X,I2)') solver_name,
'Patch:',ipatch
2723 WRITE(stdout,
'(A,7X,A,1X,I5.5)') solver_name,
'Pane id:', paneid
2726 preal => ppatch%gs(1)
2728 CALL com_set_array(trim(winname)//
'.gs',paneid,preal,1,ppatch%nBFacesTot)
2735 IF ( global%myProcid == masterproc .AND. &
2736 global%verbLevel >= verbose_high )
THEN
2737 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering grid speeds done.'
2775 TYPE(t_region
),
POINTER :: pregion
2781 CHARACTER(CHRLEN) :: winname
2782 INTEGER :: ipatch,paneid
2783 REAL(RFREAL),
POINTER :: preal
2785 TYPE(t_grid),
POINTER :: pgrid
2786 TYPE(t_patch),
POINTER :: ppatch
2792 global => pregion%global
2794 pgrid => pregion%grid
2796 IF ( global%myProcid == masterproc .AND. &
2797 global%verbLevel >= verbose_high )
THEN
2798 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering interface data...'
2805 winname = global%surfWinName
2807 IF ( global%myProcid == masterproc .AND. &
2808 global%verbLevel >= verbose_high)
THEN
2809 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Window name:',trim(winname)
2812 DO ipatch = 1,pgrid%nPatches
2813 ppatch => pregion%patches(ipatch)
2817 IF ( global%myProcid == masterproc .AND. &
2818 global%verbLevel >= verbose_high )
THEN
2819 WRITE(stdout,
'(A,3X,A,1X,I2)') solver_name,
'Patch:',ipatch
2820 WRITE(stdout,
'(A,5X,A,1X,I5.5)') solver_name,
'Pane id:',paneid
2831 CALL com_set_array(trim(winname)//
'.du_alp',paneid,ppatch%duAlp)
2837 IF ( ppatch%bcCoupled /= bc_not_coupled )
THEN
2838 CALL com_set_array(trim(winname)//
'.rhofvf_alp',paneid,ppatch%rhofvfAlp)
2839 CALL com_set_array(trim(winname)//
'.Tb_alp',paneid,ppatch%tbAlp)
2846 IF ( ppatch%bcCoupled == bc_burning )
THEN
2847 CALL com_set_array(trim(winname)//
'.mdot_alp',paneid,ppatch%mdotAlp)
2848 CALL com_set_array(trim(winname)//
'.Tflm_alp',paneid,ppatch%tflmAlp)
2859 IF ( ppatch%bcCoupled /= bc_not_coupled )
THEN
2860 CALL com_set_array(trim(winname)//
'.nf_alp',paneid,ppatch%nfAlp)
2861 CALL com_set_array(trim(winname)//
'.rhof_alp',paneid,ppatch%rhofAlp)
2862 CALL com_set_array(trim(winname)//
'.pf',paneid,ppatch%pf)
2863 CALL com_set_array(trim(winname)//
'.tf',paneid,ppatch%tracf)
2864 CALL com_set_array(trim(winname)//
'.qc',paneid,ppatch%qc)
2865 CALL com_set_array(trim(winname)//
'.qr',paneid,ppatch%qr)
2872 IF ( ppatch%bcCoupled == bc_burning )
THEN
2873 CALL com_set_array(trim(winname)//
'.Tf',paneid,ppatch%tempf)
2874 CALL com_set_array(trim(winname)//
'.bflag',paneid,ppatch%bFlag)
2882 IF ( global%myProcid == masterproc .AND. &
2883 global%verbLevel >= verbose_high )
THEN
2884 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering interface data done.'
2924 TYPE(t_region
),
POINTER :: pregion
2973 TYPE(t_region
),
POINTER :: pregion
3020 TYPE(t_region
),
POINTER :: pregion
3086 TYPE(t_region
),
POINTER :: pregion
3092 CHARACTER(CHRLEN) :: winname
3095 TYPE(t_grid),
POINTER :: pgrid
3101 global => pregion%global
3103 pgrid => pregion%grid
3105 IF ( global%myProcid == masterproc .AND. &
3106 global%verbLevel >= verbose_high)
THEN
3107 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering displacements...'
3114 winname = global%volWinName
3118 IF ( global%myProcid == masterproc .AND. &
3119 global%verbLevel >= verbose_high )
THEN
3120 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Window name:',trim(winname)
3121 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Pane id:',paneid
3124 CALL com_set_array(trim(winname)//
'.disp',paneid,pgrid%disp)
3130 IF ( global%myProcid == masterproc .AND. &
3131 global%verbLevel >= verbose_high )
THEN
3132 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering displacements done.'
3172 TYPE(t_region
),
POINTER :: pregion
3179 TYPE(t_grid),
POINTER :: pgrid
3185 global => pregion%global
3187 pgrid => pregion%grid
3189 IF ( global%myProcid == masterproc .AND. &
3190 global%verbLevel >= verbose_high )
THEN
3191 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering grid...'
3208 IF ( pgrid%nPatches > 0 )
THEN
3216 IF ( global%myProcid == masterproc .AND. &
3217 global%verbLevel >= verbose_high )
THEN
3218 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering grid done.'
3258 TYPE(t_region
),
POINTER :: pregion
3264 CHARACTER(CHRLEN) :: winname
3265 INTEGER :: ipatch,paneid
3266 INTEGER,
POINTER :: pint
3268 TYPE(t_grid),
POINTER :: pgrid
3269 TYPE(t_patch),
POINTER :: ppatch
3275 global => pregion%global
3277 pgrid => pregion%grid
3279 IF ( global%myProcid == masterproc .AND. &
3280 global%verbLevel >= verbose_high )
THEN
3281 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering surface grid...'
3288 winname = global%surfWinName
3290 IF ( global%myProcid == masterproc .AND. &
3291 global%verbLevel >= verbose_high )
THEN
3292 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Window name:',trim(winname)
3299 DO ipatch = 1,pgrid%nPatches
3300 ppatch => pregion%patches(ipatch)
3304 IF ( global%myProcid == masterproc .AND. &
3305 global%verbLevel >= verbose_high )
THEN
3306 WRITE(stdout,
'(A,3X,A,1X,I2)') solver_name,
'Patch:',ipatch
3307 WRITE(stdout,
'(A,5X,A,1X,I2)') solver_name,
'Global patch id:', &
3309 WRITE(stdout,
'(A,5X,A,1X,I5.5)') solver_name,
'Pane id:', paneid
3310 WRITE(stdout,
'(A,5X,A,1X,2X,I3)') solver_name,
'bcFlag: ', &
3312 WRITE(stdout,
'(A,5X,A,1X,2X,I4)') solver_name,
'cnstrType:', &
3320 CALL com_set_size(trim(winname)//
'.bcflag',paneid,1)
3321 CALL com_set_array(trim(winname)//
'.bcflag',paneid,ppatch%bcFlag)
3323 CALL com_set_size(trim(winname)//
'.patchNo',paneid,1)
3324 CALL com_set_array(trim(winname)//
'.patchNo',paneid,ppatch%patchNo)
3326 CALL com_set_size(trim(winname)//
'.cnstr_type',paneid,1)
3327 CALL com_set_array(trim(winname)//
'.cnstr_type',paneid,ppatch%cnstrType)
3333 CALL com_set_size(trim(winname)//
'.nc',paneid,ppatch%nBVertTot, &
3334 ppatch%nBVertTot-ppatch%nBVert)
3335 CALL com_set_array(trim(winname)//
'.nc',paneid,ppatch%xyz)
3346 IF ( ppatch%nBTris > 0 )
THEN
3347 pint => ppatch%bTri2vLoc(1,1)
3349 CALL com_set_size(trim(winname)//
'.:t3:real',paneid,ppatch%nBTris,0)
3350 CALL com_set_array(trim(winname)//
'.:t3:real',paneid,pint)
3352 pint => ppatch%bTri2v(1,1)
3354 CALL com_set_size(trim(winname)//
'.t3g:real',paneid,ppatch%nBTris,0)
3355 CALL com_set_array(trim(winname)//
'.t3g:real',paneid,pint)
3358 IF ( ppatch%nBQuads > 0 )
THEN
3359 pint => ppatch%bQuad2vLoc(1,1)
3361 CALL com_set_size(trim(winname)//
'.:q4:real',paneid,ppatch%nBQuads,0)
3362 CALL com_set_array(trim(winname)//
'.:q4:real',paneid,pint)
3364 pint => ppatch%bQuad2v(1,1)
3366 CALL com_set_size(trim(winname)//
'.q4g:real',paneid,ppatch%nBQuads,0)
3367 CALL com_set_array(trim(winname)//
'.q4g:real',paneid,pint)
3372 IF ( ppatch%nBTrisTot > ppatch%nBTris )
THEN
3373 pint => ppatch%bTri2vLoc(1,ppatch%nBTris+1)
3375 CALL com_set_size(trim(winname)//
'.:t3:virtual',paneid, &
3376 ppatch%nBTrisTot-ppatch%nBTris, &
3377 ppatch%nBTrisTot-ppatch%nBTris)
3378 CALL com_set_array(trim(winname)//
'.:t3:virtual',paneid,pint)
3380 pint => ppatch%bTri2v(1,ppatch%nBTris+1)
3382 CALL com_set_size(trim(winname)//
'.t3g:virtual',paneid, &
3383 ppatch%nBTrisTot-ppatch%nBTris, &
3384 ppatch%nBTrisTot-ppatch%nBTris)
3385 CALL com_set_array(trim(winname)//
'.t3g:virtual',paneid,pint)
3388 IF ( ppatch%nBQuadsTot > ppatch%nBQuads )
THEN
3389 pint => ppatch%bQuad2vLoc(1,ppatch%nBQuads+1)
3391 CALL com_set_size(trim(winname)//
'.:q4:virtual',paneid, &
3392 ppatch%nBQuadsTot-ppatch%nBQuads, &
3393 ppatch%nBQuadsTot-ppatch%nBQuads)
3394 CALL com_set_array(trim(winname)//
'.:q4:virtual',paneid,pint)
3396 pint => ppatch%bQuad2v(1,ppatch%nBQuads+1)
3398 CALL com_set_size(trim(winname)//
'.q4g:virtual',paneid, &
3399 ppatch%nBQuadsTot-ppatch%nBQuads, &
3400 ppatch%nBQuadsTot-ppatch%nBQuads)
3401 CALL com_set_array(trim(winname)//
'.q4g:virtual',paneid,pint)
3409 IF ( global%myProcid == masterproc .AND. &
3410 global%verbLevel >= verbose_high )
THEN
3411 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering surface grid done.'
3450 TYPE(t_region
),
POINTER :: pregion
3456 CHARACTER(CHRLEN) :: winname
3458 INTEGER,
POINTER :: pint
3460 TYPE(t_grid),
POINTER :: pgrid
3466 global => pregion%global
3468 pgrid => pregion%grid
3470 IF ( global%myProcid == masterproc .AND. &
3471 global%verbLevel >= verbose_high )
THEN
3472 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering volume grid...'
3479 winname = global%volWinName
3483 IF ( global%myProcid == masterproc .AND. &
3484 global%verbLevel >= verbose_high )
THEN
3485 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Window name:',trim(winname)
3486 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Pane id:',paneid
3493 CALL com_set_size(trim(winname)//
'.nc',paneid,pgrid%nVertTot, &
3494 pgrid%nVertTot-pgrid%nVert)
3495 CALL com_set_array(trim(winname)//
'.nc',paneid,pgrid%xyz)
3505 CALL com_set_size(trim(winname)//
'.pconn',paneid,pgrid%pconnSizeTot, &
3506 pgrid%pconnSizeGhost)
3507 CALL com_set_array(trim(winname)//
'.pconn',paneid,pgrid%pconn)
3513 IF ( pgrid%nTets > 0 )
THEN
3514 pint => pgrid%tet2v(1,1)
3516 CALL com_set_size(trim(winname)//
'.:T4:real',paneid,pgrid%nTets,0)
3517 CALL com_set_array(trim(winname)//
'.:T4:real',paneid,pint)
3520 IF ( pgrid%nHexs > 0 )
THEN
3521 pint => pgrid%hex2v(1,1)
3523 CALL com_set_size(trim(winname)//
'.:H8:real',paneid,pgrid%nHexs,0)
3524 CALL com_set_array(trim(winname)//
'.:H8:real',paneid,pint)
3527 IF ( pgrid%nPris > 0 )
THEN
3528 pint => pgrid%pri2v(1,1)
3530 CALL com_set_size(trim(winname)//
'.:W6:real',paneid,pgrid%nPris,0)
3531 CALL com_set_array(trim(winname)//
'.:W6:real',paneid,pint)
3534 IF ( pgrid%nPyrs > 0 )
THEN
3535 pint => pgrid%pyr2v(1,1)
3537 CALL com_set_size(trim(winname)//
'.:P5:real',paneid,pgrid%nPyrs,0)
3538 CALL com_set_array(trim(winname)//
'.:P5:real',paneid,pint)
3545 IF ( pgrid%nTetsTot > pgrid%nTets )
THEN
3546 pint => pgrid%tet2v(1,pgrid%nTets+1)
3548 CALL com_set_size(trim(winname)//
'.:T4:virtual',paneid, &
3549 pgrid%nTetsTot-pgrid%nTets,pgrid%nTetsTot-pgrid%nTets)
3550 CALL com_set_array(trim(winname)//
'.:T4:virtual',paneid,pint)
3553 IF ( pgrid%nHexsTot > pgrid%nHexs )
THEN
3554 pint => pgrid%hex2v(1,pgrid%nHexs+1)
3556 CALL com_set_size(trim(winname)//
'.:H8:virtual',paneid, &
3557 pgrid%nHexsTot-pgrid%nHexs,pgrid%nHexsTot-pgrid%nHexs)
3558 CALL com_set_array(trim(winname)//
'.:H8:virtual',paneid,pint)
3561 IF ( pgrid%nPrisTot > pgrid%nPris )
THEN
3562 pint => pgrid%pri2v(1,pgrid%nPris+1)
3564 CALL com_set_size(trim(winname)//
'.:W6:virtual',paneid, &
3565 pgrid%nPrisTot-pgrid%nPris,pgrid%nPrisTot-pgrid%nPris)
3566 CALL com_set_array(trim(winname)//
'.:W6:virtual',paneid,pint)
3569 IF ( pgrid%nPyrsTot > pgrid%nPyrs )
THEN
3570 pint => pgrid%pyr2v(1,pgrid%nPyrs+1)
3572 CALL com_set_size(trim(winname)//
'.:P5:virtual',paneid, &
3573 pgrid%nPyrsTot-pgrid%nPyrs,pgrid%nPyrsTot-pgrid%nPyrs)
3574 CALL com_set_array(trim(winname)//
'.:P5:virtual',paneid,pint)
3581 IF ( global%myProcid == masterproc .AND. &
3582 global%verbLevel >= verbose_high )
THEN
3583 WRITE(stdout,
'(A,1X,A)') solver_name,
'Registering volume grid done.'
3626 TYPE(t_region
),
POINTER :: pregion
3632 CHARACTER(CHRLEN) :: winname
3635 TYPE(t_grid),
POINTER :: pgrid
3641 global => pregion%global
3643 pgrid => pregion%grid
3645 IF ( global%myProcid == masterproc .AND. &
3646 global%verbLevel >= verbose_high )
THEN
3647 WRITE(stdout,
'(A,1X,A)') solver_name,
'Setting conn size...'
3654 winname = global%volWinName
3658 IF ( global%myProcid == masterproc .AND. &
3659 global%verbLevel >= verbose_high )
THEN
3660 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Window name:',trim(winname)
3661 WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Pane id:',paneid
3664 CALL com_set_size(trim(winname)//
'.conn',paneid,pgrid%nCellsTot, &
3665 pgrid%nCellsTot-pgrid%nCells)
3671 IF ( global%myProcid == masterproc .AND. &
3672 global%verbLevel >= verbose_high )
THEN
3673 WRITE(stdout,
'(A,1X,A)') solver_name,
'Setting conn size done.'
3760 volwinnameinput,handleobtain)
3772 CHARACTER(*),
INTENT(IN) :: surfwinnameinput,volwinnameinput
3773 INTEGER,
INTENT(IN) :: handleobtain
3780 CHARACTER(CHRLEN) :: tempstring1,tempstring2
3781 INTEGER :: errorflag
3787 IF ( global%myProcid == masterproc .AND. &
3788 global%verbLevel >= verbose_high )
THEN
3789 WRITE(stdout,
'(A,1X,A)') solver_name,
'Storing names and handles...'
3796 global%surfWinNameInput = surfwinnameinput
3798 IF ( global%myProcid == masterproc .AND. &
3799 global%verbLevel >= verbose_high )
THEN
3800 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Input surface window name:', &
3801 trim(global%surfWinNameInput)
3808 READ(volwinnameinput,*,iostat=errorflag) tempstring1,tempstring2
3809 global%error = errorflag
3810 IF ( global%error /= err_none )
THEN
3811 CALL
errorstop(global,err_string_read,__line__)
3818 global%volWinNameInput = trim(tempstring1)
3820 IF ( global%myProcid == masterproc .AND. &
3821 global%verbLevel >= verbose_high )
THEN
3822 WRITE(stdout,
'(A,3X,A,1X,A)') solver_name,
'Input volume window name:', &
3823 trim(global%volWinNameInput)
3835 global%handleObtain = handleobtain
3841 IF ( global%myProcid == masterproc .AND. &
3842 global%verbLevel >= verbose_high )
THEN
3843 WRITE(stdout,
'(A,1X,A)') solver_name,
'Storing names and handles done.'
subroutine, public turb_rflu_genxregisterdata(pRegion)
subroutine, public rflu_createbfaceloclists(pRegion)
subroutine, public rflu_genx_registerdataturb(pRegion)
subroutine, public rflu_genx_createattrdisp(pRegion)
subroutine, public rflu_genx_creategridsurf(pRegion)
subroutine, public rflu_genx_createattrflow(pRegion)
subroutine, public rflu_genx_destroygridsurf(pRegion)
subroutine, public rflu_genx_hardcodewindowname(global)
subroutine, public rflu_genx_createwindowsdone(pRegion)
subroutine, public rflu_genx_registergridsurf(pRegion)
subroutine, public rflu_genx_createattrgridsurf(pRegion)
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
subroutine, public rflu_genx_initrocman(pRegion, handle)
subroutine, public rflu_genx_buildpconn(pRegion)
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
subroutine, public rflu_genx_storenameshandles(global, surfWinNameInput, volWinNameInput, handleObtain)
subroutine, public rflu_genx_createattrinterf(pRegion)
subroutine, public rflu_genx_createattrstats(pRegion)
subroutine, public rflu_genx_registerdatawrapper(pRegion)
subroutine, public rflu_genx_buildtimestring(time, timeString)
subroutine, public stat_rflu_genxregisterdata(pRegion)
MPI_Comm communicator() const
subroutine, public rflu_genx_createdatainterf(pRegion)
subroutine, public rflu_genx_createwindows(pRegion, communicator)
subroutine, public rflu_genx_setconnsize(pRegion)
subroutine, public rflu_genx_closerocinctrlfiles(global)
subroutine, public rflu_genx_registerdataflow(pRegion)
subroutine, public turb_rflu_genxcreateattr(pRegion)
subroutine, public rflu_genx_createattrgspeeds(pRegion)
subroutine, public rflu_genx_buildgridsurf(pRegion)
subroutine, public rflu_genx_storecommunicator(global, communicator)
**********************************************************************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
subroutine, public rflu_genx_registergrid(pRegion)
subroutine, public rflu_genx_registerdisp(pRegion)
subroutine, public rflu_genx_createattrwrapper(pRegion)
subroutine, public rflu_genx_createpconn(pRegion)
subroutine, public stat_rflu_genxcreateattr(pRegion)
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
INTEGER function, public rflu_genx_setcnstrtype(movePatchDir)
subroutine, public rflu_destroybfaceloclists(pRegion)
subroutine, public rflu_genx_registergridvol(pRegion)
subroutine, public rflu_genx_readctrlfile(global)
subroutine, public rflu_genx_registerdatastats(pRegion)
subroutine, public rflu_genx_registerdatainterf(pRegion)
subroutine, public rflu_genx_registerdatagspeeds(pRegion)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine, public rflu_genx_createattrturb(pRegion)
subroutine, public rflu_genx_destroydatainterf(pRegion)
subroutine, public rflu_buildbfaceloclists(pRegion)
subroutine deregisterfunction(global)
subroutine, public rflu_genx_buildpaneid(iRegion, iPatch, paneId)
subroutine, public rflu_genx_destroypconn(pRegion)