79 CHARACTER(CHRLEN),
PRIVATE :: &
80 RCSIdentString =
'$RCSfile: RFLU_ModBoundXvUtils.F90,v $ $Revision: 1.6 $'
152 TYPE(t_region
),
POINTER :: pregion
159 TYPE(t_patch),
POINTER :: ppatch
166 global => pregion%global
169 'RFLU_ModBoundXvUtils.F90')
175 DO ipatch = 1,pregion%grid%nPatches
176 ppatch => pregion%patches(ipatch)
178 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
179 SELECT CASE( ppatch%bcType )
181 CASE (bc_noslipwall_hflux)
182 CASE (bc_noslipwall_temp)
183 CASE (bc_inflow_totang)
184 CASE (bc_inflow_veltemp)
185 IF ( ppatch%mixt%switches(bcswi_inflow_type) == bcopt_subsonic )
THEN
186 IF ( ppatch%reflect == bc_reflecting )
THEN
191 IF ( ppatch%mixt%switches(bcswi_outflow_type) == bcopt_subsonic )
THEN
192 IF ( ppatch%reflect == bc_reflecting )
THEN
199 CALL
errorstop(global,err_reached_default,__line__)
247 TYPE(t_patch),
POINTER :: ppatch
248 TYPE(t_region
),
POINTER :: pregion
254 INTEGER :: ifl,icg,indcp,indmol
255 REAL(RFREAL) :: eo,
r,u,
v,w,p,ru,rv,rw,mw,cp,gc,
g
256 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pcv,pdv,pgv
263 global => pregion%global
266 'RFLU_ModBoundXvUtils.F90')
272 pcv => ppatch%mixt%cv
273 pdv => ppatch%mixt%dv
274 pgv => pregion%mixt%gv
276 indcp = pregion%mixtInput%indCp
277 indmol = pregion%mixtInput%indMol
283 DO ifl = 1,ppatch%nBFaces
284 icg = ppatch%bf2c(ifl)
286 r = pcv(cv_mixt_dens,ifl)
287 ru = pcv(cv_mixt_xmom,ifl)
288 rv = pcv(cv_mixt_ymom,ifl)
289 rw = pcv(cv_mixt_zmom,ifl)
290 p = pdv(dv_mixt_pres,ifl)
296 mw = pgv(gv_mixt_mol,indmol*icg)
297 cp = pgv(gv_mixt_cp ,indcp *icg)
303 pcv(cv_mixt_ener,ifl) =
r*eo
350 TYPE(t_patch),
POINTER :: ppatch
351 TYPE(t_region
),
POINTER :: pregion
357 INTEGER :: ifl,icg,indcp,indmol,distrib
358 REAL(RFREAL) :: eo,
r,u,
v,w,ru,rv,rw,mw,cp,gc,
g,t
359 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pcv,pdv,pgv,vals
366 global => pregion%global
369 'RFLU_ModBoundXvUtils.F90')
375 distrib = ppatch%mixt%distrib
377 pcv => ppatch%mixt%cv
378 vals => ppatch%mixt%vals
379 pgv => pregion%mixt%gv
381 indcp = pregion%mixtInput%indCp
382 indmol = pregion%mixtInput%indMol
388 DO ifl = 1,ppatch%nBFaces
389 icg = ppatch%bf2c(ifl)
391 r = pcv(cv_mixt_dens,ifl)
393 u = vals(bcdat_inflow_u,distrib*ifl)
394 v = vals(bcdat_inflow_v,distrib*ifl)
395 w = vals(bcdat_inflow_w,distrib*ifl)
397 t = vals(bcdat_inflow_t,distrib*ifl)
399 mw = pgv(gv_mixt_mol,indmol*icg)
400 cp = pgv(gv_mixt_cp ,indcp *icg)
406 pcv(cv_mixt_xmom,ifl) =
r*u
407 pcv(cv_mixt_ymom,ifl) =
r*
v
408 pcv(cv_mixt_zmom,ifl) =
r*w
409 pcv(cv_mixt_ener,ifl) =
r*eo
454 TYPE(t_region
),
POINTER :: pregion
460 INTEGER :: errorflag,ipatch
461 TYPE(t_patch),
POINTER :: ppatch
468 global => pregion%global
471 'RFLU_ModBoundXvUtils.F90')
477 DO ipatch = 1,pregion%grid%nPatches
478 ppatch => pregion%patches(ipatch)
480 IF (ppatch%bcKind == bc_kind_nscbc )
THEN
481 ALLOCATE(ppatch%mixt%cv(pregion%mixtInput%nCv,ppatch%nBFaces), &
483 global%error = errorflag
484 IF (global%error /= err_none)
THEN
485 CALL
errorstop(global,err_allocate,__line__,
'pPatch%mixt%cv')
531 TYPE(t_region
),
POINTER :: pregion
537 INTEGER :: errorflag, ipatch
538 TYPE(t_patch),
POINTER :: ppatch
545 global => pregion%global
548 'RFLU_ModBoundXvUtils.F90')
554 DO ipatch = 1,pregion%grid%nPatches
555 ppatch => pregion%patches(ipatch)
557 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
558 ALLOCATE(ppatch%mixt%dv(pregion%mixtInput%nDv,ppatch%nBFaces), &
560 global%error = errorflag
561 IF (global%error /= err_none)
THEN
562 CALL
errorstop(global,err_allocate,__line__,
'pPatch%mixt%dv')
607 TYPE(t_region
),
POINTER :: pregion
613 INTEGER :: errorflag,ipatch
614 TYPE(t_patch),
POINTER :: ppatch
621 global => pregion%global
624 'RFLU_ModBoundXvUtils.F90')
630 DO ipatch = 1,pregion%grid%nPatches
631 ppatch => pregion%patches(ipatch)
633 IF (ppatch%bcKind == bc_kind_nscbc )
THEN
634 ALLOCATE(ppatch%mixt%cvOld(pregion%mixtInput%nCv,ppatch%nBFaces), &
636 global%error = errorflag
637 IF (global%error /= err_none)
THEN
638 CALL
errorstop(global,err_allocate,__line__,
'pPatch%mixt%cvOld')
641 ALLOCATE(ppatch%mixt%rhs(pregion%mixtInput%nCv,ppatch%nBFaces), &
643 global%error = errorflag
644 IF (global%error /= err_none)
THEN
645 CALL
errorstop(global,err_allocate,__line__,
'pPatch%mixt%rhs')
648 ALLOCATE(ppatch%mixt%rhsSum(pregion%mixtInput%nCv,ppatch%nBFaces), &
650 global%error = errorflag
651 IF (global%error /= err_none)
THEN
652 CALL
errorstop(global,err_allocate,__line__,
'pPatch%mixt%rhsSum')
697 TYPE(t_region
),
POINTER :: pregion
703 INTEGER :: errorflag, ipatch
704 TYPE(t_patch),
POINTER :: ppatch
711 global => pregion%global
714 'RFLU_ModBoundXvUtils.F90')
720 DO ipatch = 1,pregion%grid%nPatches
721 ppatch => pregion%patches(ipatch)
723 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
724 DEALLOCATE(ppatch%mixt%cv,stat=errorflag)
725 global%error = errorflag
726 IF (global%error /= err_none)
THEN
727 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%mixt%cv')
774 TYPE(t_region
),
POINTER :: pregion
780 INTEGER :: errorflag,ipatch
781 TYPE(t_patch),
POINTER :: ppatch
788 global => pregion%global
791 'RFLU_ModBoundXvUtils.F90')
797 DO ipatch = 1,pregion%grid%nPatches
798 ppatch => pregion%patches(ipatch)
800 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
801 DEALLOCATE(ppatch%mixt%dv,stat=errorflag)
802 global%error = errorflag
803 IF (global%error /= err_none)
THEN
804 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%mixt%dv')
850 TYPE(t_region
),
POINTER :: pregion
856 INTEGER :: errorflag, ipatch
857 TYPE(t_patch),
POINTER :: ppatch
864 global => pregion%global
867 'RFLU_ModBoundXvUtils.F90')
873 DO ipatch = 1,pregion%grid%nPatches
874 ppatch => pregion%patches(ipatch)
876 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
877 DEALLOCATE(ppatch%mixt%rhs,stat=errorflag)
878 global%error = errorflag
879 IF (global%error /= err_none)
THEN
880 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%mixt%rhs')
883 DEALLOCATE(ppatch%mixt%rhsSum,stat=errorflag)
884 global%error = errorflag
885 IF (global%error /= err_none)
THEN
886 CALL
errorstop(global,err_deallocate,__line__,
'pPatch%mixt%rhs')
935 TYPE(t_region
),
POINTER :: pregion
941 INTEGER :: errorflag, ipatch
942 TYPE(t_patch),
POINTER :: ppatch
949 global => pregion%global
952 'RFLU_ModBoundXvUtils.F90')
958 DO ipatch = 1,pregion%grid%nPatches
959 ppatch => pregion%patches(ipatch)
961 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
962 SELECT CASE( ppatch%bcType )
965 CASE (bc_noslipwall_hflux)
967 CASE (bc_noslipwall_temp)
969 CASE (bc_inflow_totang)
971 CASE (bc_inflow_veltemp)
980 CALL
errorstop(global,err_reached_default,__line__)
1031 TYPE(t_region
),
POINTER :: pregion
1037 INTEGER :: errorflag, ipatch
1038 TYPE(t_patch),
POINTER :: ppatch
1045 global => pregion%global
1048 'RFLU_ModBoundXvUtils.F90')
1054 DO ipatch = 1,pregion%grid%nPatches
1055 ppatch => pregion%patches(ipatch)
1057 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
1058 nullify(ppatch%mixt%cv)
1103 TYPE(t_region
),
POINTER :: pregion
1109 INTEGER :: errorflag, ipatch
1110 TYPE(t_patch),
POINTER :: ppatch
1117 global => pregion%global
1120 'RFLU_ModBoundXvUtils.F90')
1126 DO ipatch = 1,pregion%grid%nPatches
1127 ppatch => pregion%patches(ipatch)
1129 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
1130 nullify(ppatch%mixt%dv)
1175 TYPE(t_region
),
POINTER :: pregion
1181 INTEGER :: errorflag, ipatch
1182 TYPE(t_patch),
POINTER :: ppatch
1189 global => pregion%global
1192 'RFLU_ModBoundXvUtils.F90')
1198 DO ipatch = 1,pregion%grid%nPatches
1199 ppatch => pregion%patches(ipatch)
1201 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
1202 nullify(ppatch%mixt%cvOld)
1203 nullify(ppatch%mixt%rhs)
1204 nullify(ppatch%mixt%rhsSum)
1253 TYPE(t_region
),
POINTER :: pregion
1259 CHARACTER(CHRLEN) :: errorstring,ifilename,sectionstring
1260 INTEGER :: dummyinteger,errorflag,idata,ifile,ifl,ipatch,ipatchglobal, &
1261 loopcounter,nbfaces,ndata
1263 TYPE(t_grid),
POINTER :: pgrid
1264 TYPE(t_patch),
POINTER :: ppatch
1270 global => pregion%global
1273 'RFLU_ModBoundXvUtils.F90')
1275 IF ( global%myProcid == masterproc .AND. &
1276 global%verbLevel > verbose_none )
THEN
1277 WRITE(stdout,
'(A,1X,A)') solver_name,
'Reading ASCII boundary-condition' // &
1285 pgrid => pregion%grid
1293 IF ( global%flowType == flow_unsteady )
THEN
1295 pregion%iRegionGlobal,global%currentTime, &
1299 pregion%iRegionGlobal,global%currentIter, &
1303 OPEN(ifile,file=ifilename,
form=
'FORMATTED',
status=
'OLD',iostat=errorflag)
1304 global%error = errorflag
1305 IF ( global%error /= err_none )
THEN
1306 CALL
errorstop(global,err_file_open,__line__,
'File: '//trim(ifilename))
1313 READ(ifile,
'(A)') sectionstring
1314 IF ( trim(sectionstring) /=
'# ROCFLU boundary-condition variable file' )
THEN
1315 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1325 loopcounter = loopcounter + 1
1327 READ(ifile,
'(A)') sectionstring
1329 SELECT CASE ( trim(sectionstring) )
1335 CASE (
'# Patch data' )
1336 IF ( global%myProcid == masterproc .AND. &
1337 global%verbLevel > verbose_low )
THEN
1338 WRITE(stdout,
'(A,3X,A)') solver_name,
'Patch variable...'
1341 READ(ifile,*) ipatch,ipatchglobal,nbfaces,ndata
1347 IF ( ipatch > pgrid%nPatches )
THEN
1348 WRITE(errorstring,
'(A,1X,I3)')
'Patch index invalid:',ipatch
1349 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1353 ppatch => pregion%patches(ipatch)
1359 IF ( ppatch%bcKind /= bc_kind_nscbc )
THEN
1360 WRITE(errorstring,
'(A,1X,I3)')
'Error in writing NSCBC variables for patch :', &
1362 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1366 IF ( nbfaces /= ppatch%nBFaces )
THEN
1367 WRITE(errorstring,
'(A,1X,I6)')
'Number of faces invalid:',nbfaces
1368 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1372 IF ( ipatchglobal /= ppatch%iPatchGlobal )
THEN
1373 WRITE(errorstring,
'(A,1X,I3)')
'Global patch index invalid:', &
1375 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1379 IF ( ndata /= pregion%mixtInput%nCv )
THEN
1380 WRITE(errorstring,
'(A,1X,I3)') &
1381 'Number of pieces of data invalid:',ndata
1382 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1390 ppatch%mixt%cvState = cv_mixt_state_cons
1392 DO ifl = 1,ppatch%nBFaces
1393 DO idata = 1,pregion%mixtInput%nCv
1394 READ(ifile,
'(1X,I6,1X,I2,1X,E23.16)') dummyinteger,dummyinteger, &
1395 ppatch%mixt%cv(idata,ifl)
1404 IF ( global%myProcid == masterproc .AND. &
1405 global%verbLevel > verbose_low )
THEN
1406 WRITE(stdout,
'(A,3X,A)') solver_name,
'End marker...'
1416 IF ( global%verbLevel > verbose_low )
THEN
1417 WRITE(stdout,
'(A,3X,A)') solver_name,sectionstring
1420 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1427 IF ( loopcounter >= limit_infinite_loop )
THEN
1428 CALL
errorstop(global,err_infinite_loop,__line__)
1436 CLOSE(ifile,iostat=errorflag)
1437 global%error = errorflag
1438 IF ( global%error /= err_none )
THEN
1439 CALL
errorstop(global,err_file_close,__line__,
'File: '//trim(ifilename))
1446 IF ( global%myProcid == masterproc .AND. &
1447 global%verbLevel > verbose_none )
THEN
1448 WRITE(stdout,
'(A,1X,A)') solver_name,
'Reading ASCII boundary-condition' // &
1449 ' variable file done.'
1491 TYPE(t_region
),
POINTER :: pregion
1497 CHARACTER(CHRLEN) :: errorstring,ifilename,sectionstring
1498 INTEGER :: dummyinteger,errorflag,idata,ifile,ifl,ipatch,ipatchglobal, &
1499 loopcounter,nbfaces,ndata
1501 TYPE(t_grid),
POINTER :: pgrid
1502 TYPE(t_patch),
POINTER :: ppatch
1508 global => pregion%global
1511 'RFLU_ModBoundXvUtils.F90')
1513 IF ( global%myProcid == masterproc .AND. &
1514 global%verbLevel > verbose_none )
THEN
1515 WRITE(stdout,
'(A,1X,A)') solver_name,
'Reading binary boundary-condition' // &
1523 pgrid => pregion%grid
1531 IF ( global%flowType == flow_unsteady )
THEN
1533 pregion%iRegionGlobal,global%currentTime, &
1537 pregion%iRegionGlobal,global%currentIter, &
1541 OPEN(ifile,file=ifilename,
form=
'UNFORMATTED',
status=
'OLD',iostat=errorflag)
1542 global%error = errorflag
1543 IF ( global%error /= err_none )
THEN
1544 CALL
errorstop(global,err_file_open,__line__,
'File: '//trim(ifilename))
1551 READ(ifile) sectionstring
1552 IF ( trim(sectionstring) /=
'# ROCFLU boundary-condition variable file' )
THEN
1553 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1563 loopcounter = loopcounter + 1
1565 READ(ifile) sectionstring
1567 SELECT CASE ( trim(sectionstring) )
1573 CASE (
'# Patch data' )
1574 IF ( global%myProcid == masterproc .AND. &
1575 global%verbLevel > verbose_low )
THEN
1576 WRITE(stdout,
'(A,3X,A)') solver_name,
'Patch variable...'
1579 READ(ifile) ipatch,ipatchglobal,nbfaces,ndata
1585 IF ( ipatch > pgrid%nPatches )
THEN
1586 WRITE(errorstring,
'(A,1X,I3)')
'Patch index invalid:',ipatch
1587 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1591 ppatch => pregion%patches(ipatch)
1597 IF ( ppatch%bcKind /= bc_kind_nscbc )
THEN
1598 WRITE(errorstring,
'(A,1X,I3)')
'Error in writing NSCBC variables for patch :', &
1600 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1604 IF ( nbfaces /= ppatch%nBFaces )
THEN
1605 WRITE(errorstring,
'(A,1X,I6)')
'Number of faces invalid:',nbfaces
1606 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1610 IF ( ipatchglobal /= ppatch%iPatchGlobal )
THEN
1611 WRITE(errorstring,
'(A,1X,I3)')
'Global patch index invalid:', &
1613 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1617 IF ( ndata /= pregion%mixtInput%nCv )
THEN
1618 WRITE(errorstring,
'(A,1X,I3)') &
1619 'Number of pieces of data invalid:',ndata
1620 CALL
errorstop(global,err_bcdata_value_invalid,__line__, &
1628 ppatch%mixt%cvState = cv_mixt_state_cons
1630 DO ifl = 1,ppatch%nBFaces
1631 DO idata = 1,pregion%mixtInput%nCv
1632 READ(ifile) dummyinteger,dummyinteger,ppatch%mixt%cv(idata,ifl)
1641 IF ( global%myProcid == masterproc .AND. &
1642 global%verbLevel > verbose_low )
THEN
1643 WRITE(stdout,
'(A,3X,A)') solver_name,
'End marker...'
1653 IF ( global%verbLevel > verbose_low )
THEN
1654 WRITE(stdout,
'(A,3X,A)') solver_name,sectionstring
1657 CALL
errorstop(global,err_invalid_marker,__line__,sectionstring)
1664 IF ( loopcounter >= limit_infinite_loop )
THEN
1665 CALL
errorstop(global,err_infinite_loop,__line__)
1673 CLOSE(ifile,iostat=errorflag)
1674 global%error = errorflag
1675 IF ( global%error /= err_none )
THEN
1676 CALL
errorstop(global,err_file_close,__line__,
'File: '//trim(ifilename))
1683 IF ( global%myProcid == masterproc .AND. &
1684 global%verbLevel > verbose_none )
THEN
1685 WRITE(stdout,
'(A,1X,A)') solver_name,
'Reading binary boundary-condition' // &
1686 ' variable file done.'
1727 TYPE(t_region
),
POINTER :: pregion
1739 global => pregion%global
1742 'RFLU_ModBoundXvUtils.F90')
1749 IF ( global%solutFormat == format_ascii )
THEN
1751 ELSE IF ( global%solutFormat == format_binary )
THEN
1754 CALL
errorstop(global,err_reached_default,__line__)
1799 TYPE(t_region
),
POINTER :: pregion
1806 TYPE(t_patch),
POINTER :: ppatch
1813 global => pregion%global
1816 'RFLU_ModBoundXvUtils.F90')
1822 DO ipatch = 1,pregion%grid%nPatches
1823 ppatch => pregion%patches(ipatch)
1825 IF (ppatch%bcKind == bc_kind_nscbc )
THEN
1871 TYPE(t_patch),
POINTER :: ppatch
1872 TYPE(t_region
),
POINTER :: pregion
1878 INTEGER :: ifl,icg,indcp,indmol
1879 REAL(RFREAL) :: cpgas,eo,ggas,ir,mm,
r,u,
v,w,p,rgas,vm2
1880 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pcv,pdv,pgv
1887 global => pregion%global
1890 'RFLU_ModBoundXvUtils.F90')
1896 pcv => ppatch%mixt%cv
1897 pdv => ppatch%mixt%dv
1898 pgv => pregion%mixt%gv
1900 indcp = pregion%mixtInput%indCp
1901 indmol = pregion%mixtInput%indMol
1907 SELECT CASE ( pregion%mixtInput%fluidModel )
1913 CASE ( fluid_model_incomp )
1919 CASE ( fluid_model_comp )
1920 SELECT CASE ( pregion%mixtInput%gasModel )
1926 CASE ( gas_model_tcperf )
1927 IF ( ppatch%mixt%cvState /= cv_mixt_state_cons )
THEN
1928 CALL
errorstop(global,err_cv_state_invalid,__line__)
1931 DO ifl = 1,ppatch%nBFaces
1932 icg = ppatch%bf2c(ifl)
1934 mm = pgv(gv_mixt_mol,icg*indmol)
1935 cpgas = pgv(gv_mixt_cp,icg*indcp)
1939 r = pcv(cv_mixt_dens,ifl)
1942 u = ir*pcv(cv_mixt_xmom,ifl)
1943 v = ir*pcv(cv_mixt_ymom,ifl)
1944 w = ir*pcv(cv_mixt_zmom,ifl)
1945 eo = ir*pcv(cv_mixt_ener,ifl)
1947 vm2 = u*u +
v*
v + w*w
1951 pdv(dv_mixt_pres,ifl) = p
1954 pdv(dv_mixt_temp,ifl))
1962 CALL
errorstop(global,err_reached_default,__line__)
1970 CALL
errorstop(global,err_reached_default,__line__)
2018 TYPE(t_region
),
POINTER :: pregion
2024 CHARACTER(CHRLEN) :: ifilename,sectionstring
2025 INTEGER :: dummyinteger,errorflag,idata,ifile,ifl,ipatch
2026 TYPE(t_grid),
POINTER :: pgrid
2027 TYPE(t_patch),
POINTER :: ppatch
2034 global => pregion%global
2037 'RFLU_ModBoundXvUtils.F90')
2039 IF ( global%myProcid == masterproc .AND. &
2040 global%verbLevel > verbose_none )
THEN
2041 WRITE(stdout,
'(A,1X,A)') solver_name,
'Writing ASCII boundary-condition' // &
2049 pgrid => pregion%grid
2057 IF ( global%flowType == flow_unsteady )
THEN
2059 pregion%iRegionGlobal,global%currentTime, &
2063 pregion%iRegionGlobal,global%currentIter, &
2067 OPEN(ifile,file=ifilename,
form=
'FORMATTED',
status=
'UNKNOWN', &
2069 global%error = errorflag
2070 IF ( global%error /= err_none )
THEN
2071 CALL
errorstop(global,err_file_open,__line__,
'File: '//trim(ifilename))
2078 sectionstring =
'# ROCFLU boundary-condition variable file'
2079 WRITE(ifile,
'(A)') sectionstring
2085 DO ipatch = 1,pgrid%nPatches
2086 ppatch => pregion%patches(ipatch)
2092 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
2093 WRITE(ifile,
'(A)')
'# Patch data'
2094 WRITE(ifile,
'(2(1X,I3),1X,I6,1X,I2)') ipatch,ppatch%iPatchGlobal, &
2096 pregion%mixtInput%nCv
2098 DO ifl = 1,ppatch%nBFaces
2099 DO idata = 1,pregion%mixtInput%nCv
2100 WRITE(ifile,
'(1X,I6,1X,I2,1X,E23.16)') ifl,idata, &
2101 ppatch%mixt%cv(idata,ifl)
2111 sectionstring =
'# End'
2112 WRITE(ifile,
'(A)') sectionstring
2118 CLOSE(ifile,iostat=errorflag)
2119 global%error = errorflag
2120 IF ( global%error /= err_none )
THEN
2121 CALL
errorstop(global,err_file_close,__line__,
'File: '//trim(ifilename))
2128 IF ( global%myProcid == masterproc .AND. &
2129 global%verbLevel > verbose_none )
THEN
2130 WRITE(stdout,
'(A,1X,A)') solver_name,
'Writing ASCII boundary-condition' // &
2131 ' variable file done.'
2174 TYPE(t_region
),
POINTER :: pregion
2180 CHARACTER(CHRLEN) :: ifilename,sectionstring
2181 INTEGER :: dummyinteger,errorflag,idata,ifile,ifl,ipatch
2182 TYPE(t_grid),
POINTER :: pgrid
2183 TYPE(t_patch),
POINTER :: ppatch
2190 global => pregion%global
2193 'RFLU_ModBoundXvUtils.F90')
2195 IF ( global%myProcid == masterproc .AND. &
2196 global%verbLevel > verbose_none )
THEN
2197 WRITE(stdout,
'(A,1X,A)') solver_name,
'Writing binary boundary-condition' // &
2205 pgrid => pregion%grid
2213 IF ( global%flowType == flow_unsteady )
THEN
2215 pregion%iRegionGlobal,global%currentTime, &
2219 pregion%iRegionGlobal,global%currentIter, &
2223 OPEN(ifile,file=ifilename,
form=
'UNFORMATTED',
status=
'UNKNOWN', &
2225 global%error = errorflag
2226 IF ( global%error /= err_none )
THEN
2227 CALL
errorstop(global,err_file_open,__line__,
'File: '//trim(ifilename))
2234 sectionstring =
'# ROCFLU boundary-condition variable file'
2235 WRITE(ifile) sectionstring
2241 DO ipatch = 1,pgrid%nPatches
2242 ppatch => pregion%patches(ipatch)
2248 IF ( ppatch%bcKind == bc_kind_nscbc )
THEN
2249 sectionstring =
'# Patch data'
2250 WRITE(ifile) sectionstring
2251 WRITE(ifile) ipatch,ppatch%iPatchGlobal,ppatch%nBFaces, &
2252 pregion%mixtInput%nCv
2254 DO ifl = 1,ppatch%nBFaces
2255 DO idata = 1,pregion%mixtInput%nCv
2256 WRITE(ifile) ifl,idata,ppatch%mixt%cv(idata,ifl)
2266 sectionstring =
'# End'
2267 WRITE(ifile) sectionstring
2273 CLOSE(ifile,iostat=errorflag)
2274 global%error = errorflag
2275 IF ( global%error /= err_none )
THEN
2276 CALL
errorstop(global,err_file_close,__line__,
'File: '//trim(ifilename))
2283 IF ( global%myProcid == masterproc .AND. &
2284 global%verbLevel > verbose_none )
THEN
2285 WRITE(stdout,
'(A,1X,A)') solver_name,
'Writing binary boundary-condition' // &
2286 ' variable file done.'
2326 TYPE(t_region
),
POINTER :: pregion
2338 global => pregion%global
2341 'RFLU_ModBoundXvUtils.F90')
2348 IF ( global%solutFormat == format_ascii )
THEN
2350 ELSE IF ( global%solutFormat == format_binary )
THEN
2353 CALL
errorstop(global,err_reached_default,__line__)
subroutine, public rflu_bxv_createvarststep(pRegion)
subroutine, public rflu_bxv_destroyvarststep(pRegion)
real(rfreal) function mixtperf_p_deogvm2(D, Eo, G, Vm2)
real(rfreal) function mixtperf_r_m(M)
subroutine, public rflu_nscbc_initsw(pRegion, pPatch)
subroutine, public rflu_nscbc_initiftotang(pRegion, pPatch)
subroutine, public rflu_bxv_readvarsbinary(pRegion)
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
subroutine, public rflu_bxv_destroyvarsdv(pRegion)
subroutine, private rflu_bxv_setdependentvarspatch(pRegion, pPatch)
subroutine, public rflu_nscbc_initff(pRegion, pPatch)
subroutine, public rflu_bxv_nullifyvarststep(pRegion)
subroutine, public rflu_nscbc_initifveltemp(pRegion, pPatch)
*********************************************************************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
subroutine, public rflu_nscbc_initnswtemp(pRegion, pPatch)
subroutine, public rflu_bxv_nullifyvarscv(pRegion)
LOGICAL function, public rflu_nscbc_decidehavenscbc(pRegion)
subroutine, private rflu_bxv_compmomenergypatch(pRegion, pPatch)
subroutine, public rflu_bxv_destroyvarscv(pRegion)
subroutine, public rflu_bxv_createvarsdv(pRegion)
subroutine, public rflu_bxv_writevarsbinary(pRegion)
subroutine, public rflu_bxv_readvarswrapper(pRegion)
subroutine, public rflu_bxv_initvars(pRegion)
**********************************************************************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
real(rfreal) function mixtperf_t_dpr(D, P, R)
subroutine, public rflu_bxv_setdependentvars(pRegion)
subroutine, private rflu_bxv_compenergypatch(pRegion, pPatch)
real(rfreal) function mixtperf_c_grt(G, R, T)
subroutine, public rflu_nscbc_initof(pRegion, pPatch)
real(rfreal) function mixtperf_eo_dgpuvw(D, G, P, U, V, W)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine, public rflu_bxv_computevarscv(pRegion)
subroutine, public rflu_nscbc_initij(pRegion, pPatch)
subroutine deregisterfunction(global)
subroutine, public rflu_bxv_writevarsascii(pRegion)
real(rfreal) function mixtperf_g_cpr(Cp, R)
subroutine, public rflu_bxv_readvarsascii(pRegion)
subroutine, public rflu_bxv_nullifyvarsdv(pRegion)
subroutine, public rflu_bxv_writevarswrapper(pRegion)
real(rfreal) function mixtperf_eo_grtuvw(G, R, T, U, V, W)
subroutine, public rflu_nscbc_initnswheat(pRegion, pPatch)
subroutine buildfilenamesteady(global, dest, ext, id, it, fileName)
subroutine buildfilenameunsteady(global, dest, ext, id, tm, fileName)
subroutine, public rflu_bxv_createvarscv(pRegion)