44 surfwinnameinput,volwinnameinput,handleobtain)
163 include
'roccomf90.h'
171 CHARACTER(*),
INTENT(IN) :: surfwinnameinput,volwinnameinput
172 INTEGER,
INTENT(IN) ::
communicator,genxhandle,handleobtain
173 DOUBLE PRECISION,
INTENT(IN) :: initialtime
176 CHARACTER(CHRLEN),
INTENT(IN) :: casename
177 INTEGER,
INTENT(IN) :: verblevel
180 TYPE(t_level
),
POINTER :: levels(:)
186 CHARACTER(CHRLEN) :: rcsidentstring,
msg
187 LOGICAL :: fileexists,movegrid
188 INTEGER :: errorflag,ipatch,ireg
189 REAL(RFREAL) :: currenttime
191 TYPE(t_grid),
POINTER :: pgrid
192 TYPE(t_level
),
POINTER :: plevel
194 TYPE(t_patch),
POINTER :: ppatch
195 TYPE(t_region
),
POINTER :: pregion
199 CHARACTER(CHRLEN) :: casename
207 rcsidentstring =
'$RCSfile: RFLU_InitFlowSolver.F90,v $ $Revision: 1.123 $'
216 global => globalgenx%global
226 CALL mpi_comm_size(global%mpiComm,global%nProcAlloc,errorflag)
227 global%error = errorflag
228 IF ( global%error /= err_none )
THEN
229 CALL
errorstop(global,err_mpi_output,__line__)
232 CALL mpi_comm_rank(global%mpiComm,global%myProcid,errorflag)
233 global%error = errorflag
234 IF ( global%error /= err_none )
THEN
235 CALL
errorstop(global,err_mpi_output,__line__)
241 CALL com_set_verbose(global%verbLevelCOM)
243 global%timeStamp = initialtime
244 global%currentTime = initialtime
252 CALL mpi_init(errorflag)
253 global%error = errorflag
254 IF ( global%error /= err_none )
THEN
255 CALL
errorstop(global,err_mpi_output,__line__)
258 CALL mpi_comm_size(global%mpiComm,global%nProcAlloc,errorflag)
259 global%error = errorflag
260 IF ( global%error /= err_none )
THEN
261 CALL
errorstop(global,err_mpi_output,__line__)
264 CALL mpi_comm_rank(global%mpiComm,global%myProcid,errorflag)
265 global%error = errorflag
266 IF ( global%error /= err_none )
THEN
267 CALL
errorstop(global,err_mpi_output,__line__)
275 'RFLU_InitFlowSolver.F90')
284 CALL rocprof_init(
"Rocflu",global%myProcid)
292 IF ( global%myProcid == masterproc )
THEN
295 IF ( global%verbLevel /= verbose_none )
THEN
300 IF ( global%myProcid == masterproc )
THEN
301 INQUIRE(file=
"STOP",exist=fileexists)
302 IF ( fileexists .EQV. .true. )
THEN
303 CALL
errorstop(global,err_stopfile_found,__line__)
315 IF ( global%nRegions == 1 )
THEN
319 IF ( global%nProcs /= global%nProcAlloc )
THEN
320 CALL
errorstop(global,err_proc_mismatch,__line__)
328 globalgenx%levels => levels
329 plevel => globalgenx%levels(1)
340 pregion => plevel%regions(1)
348 CALL rocmop_load_module(trim(global%winName)//
'-MOP')
377 DO ireg = 1,global%nRegionsLocal
378 pregion => plevel%regions(ireg)
386 movegridloop:
DO ireg = 1,global%nRegionsLocal
387 pregion => plevel%regions(ireg)
389 IF ( pregion%mixtInput%movegrid .EQV. .true. )
THEN
399 DO ireg = 1,global%nRegionsLocal
400 pregion => plevel%regions(ireg)
411 DO ireg = 1,global%nRegionsLocal
412 pregion => plevel%regions(ireg)
414 IF ( pregion%grid%nPatches > 0 )
THEN
427 DO ireg = 1,global%nRegionsLocal
428 pregion => plevel%regions(ireg)
442 DO ireg = 1,global%nRegionsLocal
443 pregion => plevel%regions(ireg)
451 IF ( global%myProcid == masterproc .AND. &
452 global%verbLevel > verbose_none )
THEN
453 DO ireg = 1,global%nRegionsLocal
454 pregion => plevel%regions(ireg)
471 DO ireg = 1,global%nRegionsLocal
472 pregion => plevel%regions(ireg)
484 DO ireg = 1,global%nRegionsLocal
485 pregion => plevel%regions(ireg)
486 pgrid => pregion%grid
488 IF ( pgrid%nBorders > 0 )
THEN
502 DO ireg = 1,global%nRegionsLocal
503 pregion => plevel%regions(ireg)
508 DO ireg = 1,global%nRegionsLocal
509 pregion => plevel%regions(ireg)
530 DO ireg = 1,global%nRegionsLocal
531 pregion => plevel%regions(ireg)
537 DO ireg = 1,global%nRegionsLocal
538 pregion => plevel%regions(ireg)
540 IF ( (pregion%global%plagUsed .EQV. .true.) .AND. &
541 (pregion%grid%nFacesAV > 0) )
THEN
555 IF ( movegrid .EQV. .true. )
THEN
556 DO ireg = 1,global%nRegionsLocal
557 pregion => plevel%regions(ireg)
570 DO ireg = 1,global%nRegionsLocal
571 pregion => plevel%regions(ireg)
579 DO ireg = 1,global%nRegionsLocal
580 pregion => plevel%regions(ireg)
582 IF ( pregion%mixtInput%flowModel == flow_navst )
THEN
593 DO ireg = 1,global%nRegionsLocal
594 pregion => plevel%regions(ireg)
599 IF ( global%forceFlag .EQV. .true. )
THEN
615 DO ireg = 1,global%nRegionsLocal
616 pregion => plevel%regions(ireg)
624 IF ( global%plagUsed .EQV. .true. )
THEN
634 DO ireg = 1,global%nRegionsLocal
635 pregion => plevel%regions(ireg)
644 IF (global%flowType == flow_unsteady .AND. global%doStat==active)
THEN
655 DO ireg = 1,global%nRegionsLocal
656 pregion => plevel%regions(ireg)
667 DO ireg = 1,global%nRegionsLocal
668 pregion => plevel%regions(ireg)
674 DO ireg = 1,global%nRegionsLocal
675 pregion => plevel%regions(ireg)
681 DO ireg = 1,global%nRegionsLocal
682 pregion => plevel%regions(ireg)
686 DO ireg = 1,global%nRegionsLocal
687 pregion => plevel%regions(ireg)
688 pmixtinput => pregion%mixtInput
690 IF ( pmixtinput%fluidModel == fluid_model_incomp )
THEN
696 DO ireg = 1,global%nRegionsLocal
697 pregion => plevel%regions(ireg)
710 DO ireg = 1,global%nRegionsLocal
711 pregion => plevel%regions(ireg)
712 pmixtinput => pregion%mixtInput
717 IF ( pmixtinput%spaceOrder > 1 )
THEN
724 IF ( pmixtinput%flowModel == flow_navst )
THEN
731 DO ipatch = 1,pregion%grid%nPatches
732 ppatch => pregion%patches(ipatch)
753 DO ireg = 1,global%nRegionsLocal
754 pregion => plevel%regions(ireg)
755 pmixtinput => pregion%mixtInput
757 IF ( pmixtinput%spaceOrder > 1 )
THEN
762 IF ( pmixtinput%flowModel == flow_navst )
THEN
767 DO ipatch = 1,pregion%grid%nPatches
768 ppatch => pregion%patches(ipatch)
782 DO ireg = 1,global%nRegionsLocal
783 pregion => plevel%regions(ireg)
784 pmixtinput => pregion%mixtInput
786 IF ( pmixtinput%spaceDiscr == discr_opt_les )
THEN
807 DO ireg = 1,global%nRegionsLocal
808 pregion => plevel%regions(ireg)
810 IF ( pregion%global%plagUsed .EQV. .true. )
THEN
820 DO ireg = 1,global%nRegionsLocal
821 pregion => plevel%regions(ireg)
825 IF ( global%plagUsed .EQV. .true. )
THEN
836 DO ireg = 1,global%nRegionsLocal
837 pregion => plevel%regions(ireg)
847 DO ireg = 1,global%nRegionsLocal
848 pregion => plevel%regions(ireg)
862 DO ireg = 1,global%nRegionsLocal
863 pregion => plevel%regions(ireg)
875 DO ireg = 1,global%nRegionsLocal
876 pregion => plevel%regions(ireg)
893 DO ireg = 1,global%nRegionsLocal
894 pregion => plevel%regions(ireg)
895 pgrid => pregion%grid
897 IF ( pgrid%nBorders > 0 )
THEN
902 IF ( pregion%global%plagUsed .EQV. .true. )
THEN
914 DO ireg = 1,global%nRegionsLocal
915 pregion => plevel%regions(ireg)
921 DO ireg = 1,global%nRegionsLocal
922 pregion => plevel%regions(ireg)
926 DO ireg = 1,global%nRegionsLocal
927 pregion => plevel%regions(ireg)
935 DO ireg = 1,global%nRegionsLocal
936 pregion => plevel%regions(ireg)
951 DO ireg = 1,global%nRegionsLocal
952 pregion => plevel%regions(ireg)
972 DO ireg = 1,global%nRegionsLocal
973 pregion => plevel%regions(ireg)
974 IF ( global%currentTime /= 0.0_rfreal )
THEN
1002 IF ( global%nProbes > 0 )
THEN
1003 DO ireg = 1,global%nRegionsLocal
1004 pregion => plevel%regions(ireg)
1018 IF ( movegrid .EQV. .true. )
THEN
1023 IF ( global%nProbes > 0 )
THEN
1024 DO ireg = 1,global%nRegionsLocal
1025 pregion => plevel%regions(ireg)
1031 DO ireg = 1,global%nRegionsLocal
1032 pregion => plevel%regions(ireg)
1034 IF ( pregion%mixtInput%spaceDiscr == discr_opt_les )
THEN
1045 global%massIn = 0.0_rfreal
1046 global%massOut = 0.0_rfreal
1048 IF ( movegrid .EQV. .true. )
THEN
1067 IF ( global%solverType == solv_implicit_nk )
THEN
1068 pregion => plevel%regions(1)
1079 IF ( global%myProcid == masterproc .AND. &
1080 global%verbLevel >= verbose_high )
THEN
1081 WRITE(stdout,
'(A)') solver_name
1082 WRITE(stdout,
'(A,1X,A)') solver_name,
'Initialization done.'
1083 WRITE(stdout,
'(A)') solver_name
subroutine, public rflu_buildcell2facelist(pRegion)
subroutine, public rflu_comm_readcommlists(pRegion)
subroutine rflu_creategrid(pRegion)
subroutine, public rflu_createwtsf2cwrapper(pRegion, order)
subroutine, public rflu_bxv_createvarststep(pRegion)
subroutine rflu_movegridwrapper(regions)
subroutine, public rflu_buildbf2cstencilwrapper(pRegion, pPatch, constrInput)
subroutine, public rflu_buildbvertexlists(pRegion)
subroutine, public rflu_readbcdatafile(pRegion)
subroutine, public rflu_genx_creategridsurf(pRegion)
subroutine, public rflu_createc2cstencilwrapper(pRegion)
subroutine, public rflu_buildedge2celllist(pRegion)
subroutine, public rflu_computegeometrictermsoles(pRegion)
subroutine, public rflu_createwtsc2cwrapper(pRegion, order)
subroutine, public rflu_genx_getglobaldata(Global)
subroutine rflu_setvarswrapper(pRegion, icgBeg, icgEnd)
subroutine, public rflu_genx_createwindowsdone(pRegion)
subroutine, public rflu_checkpatchbcconsistency(pRegion)
subroutine, public rflu_genx_getdatainterf(pRegion)
subroutine, public rflu_destroyregionmapping(global, mapType)
LOGICAL function, public rflu_decidereadwritebcdatafile(pRegion)
subroutine, public rflu_genx_registergridsurf(pRegion)
subroutine, public rflu_readdimensionswrapper(pRegion)
subroutine, public rflu_mpi_createbufferipclsend(pRegion, pBorder)
subroutine, public rflu_buildf2cstencilwrapper(pRegion, constrInput)
subroutine rflu_computeintegrals1245oles(pRegion)
subroutine, public rflu_createbf2cstencilwrapper(pRegion, pPatch)
subroutine, public rflu_setinfof2cstencilwrapper(pRegion, orderNominal)
subroutine, public rflu_buildavface2borderlist(pRegion)
subroutine, public rflu_computefacedist(pRegion)
subroutine, public rflu_createcell2facelist(pRegion)
LOGICAL function rflu_decideneedbgradface(pRegion, pPatch)
subroutine, public initstatistics(regions)
subroutine, public rflu_createfacedist(pRegion)
subroutine, public rflu_genx_initrocman(pRegion, handle)
subroutine, public rflu_mpi_isendwrapper(pRegion)
subroutine, public rflu_createbfacegradaccesslist(pRegion)
subroutine rflu_allocatememorywrapper(pRegion)
subroutine, public rflu_createavface2borderlist(pRegion)
subroutine rflu_writeintegrals1245oles(pRegion)
subroutine registerfunction(global, funName, fileName)
subroutine, public rflu_comm_getproclocregids(pRegion)
subroutine, public rflu_genx_storenameshandles(global, surfWinNameInput, volWinNameInput, handleObtain)
subroutine, public rflu_buildlistcc2cstencil(pRegion)
subroutine, public rflu_readgridwrapper(pRegion)
subroutine rflu_setrestarttimeflag(global)
subroutine, public rflu_createvert2celllist(pRegion)
subroutine, public rflu_buildgeometry(pRegion, sypeFaceFlag)
subroutine, public rflu_readgridspeedswrapper(pRegion)
subroutine, public rflu_petsc_createvectors(pRegion)
subroutine, public rflu_createwtsbf2cwrapper(pRegion, pPatch, order)
subroutine, public rflu_mpi_clearrequestwrapper(pRegion)
subroutine rflu_putboundaryvalues(region)
subroutine, public rflu_genx_registerdatawrapper(pRegion)
subroutine, public rflu_buildbfacegradaccesslist(pRegion)
subroutine, public rflu_findprototypefacesoles(pRegion)
MPI_Comm communicator() const
LOGICAL function, public rflu_decideneedgridspeeds(pRegion)
subroutine, public rflu_findprobecells(pRegion)
subroutine, public rflu_createforcesmoments(pRegion)
subroutine rflu_setmovegridoptions(pRegion)
subroutine, public rflu_123d_checkgeometrywrapper(pRegion)
subroutine rflu_setvarinfowrapper(pRegion)
subroutine, public rflu_ict_computetolerance(pRegion)
subroutine, public rflu_computewtsbf2cwrapper(pRegion, pPatch, order)
subroutine rflu_allocatememorytbc(pRegion)
subroutine, public rflu_comm_createborders(pRegion, createMode)
subroutine, public rflu_readloc2globcellmapping(pRegion)
subroutine, public rflu_123d_checktopology(pRegion)
subroutine, public rflu_openprobefiles(pRegion)
LOGICAL function, public rflu_nscbc_decidehavenscbc(pRegion)
subroutine, public rflu_genx_createwindows(pRegion, communicator)
subroutine rflu_openstatsfileoles(global)
subroutine, public rflu_printprobeinfo(global)
subroutine, public rflu_createfacelist(pRegion)
subroutine, public rflu_bxv_createvarsdv(pRegion)
subroutine, public rflu_enforcesymmetryoles(pRegion)
subroutine, public rflu_buildglob2loccellmapping(pRegion)
subroutine, public rflu_computepatchnormalsglobal(regions)
subroutine, public rflu_comm_createcommlists(pRegion)
subroutine rflu_computeintegralvalues(regions)
subroutine, public statmapping(global)
subroutine, public plag_readsurfstatswrapper(pRegion)
subroutine, public rflu_setglobalthrustflags(regions)
subroutine, public rflu_initgridspeedscalefactor(pRegion)
subroutine, public rflu_createedgelist(pRegion)
subroutine, public plag_createsurfstats(pRegion)
subroutine, public rflu_mpi_recvwrapper(pRegion)
subroutine, public rflu_buildfacelist(pRegion)
subroutine, public rflu_bxv_readvarswrapper(pRegion)
subroutine, public rflu_renumberbfacelists(pRegion)
subroutine, public rflu_genx_getdimensionsderived(pRegion)
subroutine, public rflu_mpi_settagswrapper(pRegion)
subroutine, public rflu_genx_storecommunicator(global, communicator)
subroutine, public rflu_mpi_createbufferswrapper(pRegion)
subroutine, public rflu_readregionmappingfile(global, readMode, myProcId)
subroutine rflu_printflowinfo(pRegion)
subroutine rflu_builddatastruct(global, levels)
subroutine, public rflu_readflowwrapper(pRegion)
subroutine, public rflu_bxv_setdependentvars(pRegion)
subroutine, public rflu_buildlistcf2cstencil(pRegion)
subroutine, public rflu_destroyvert2celllist(pRegion)
subroutine, public rflu_buildedgelist(pRegion)
subroutine, public rflu_createpatchcoeffs(pRegion)
subroutine, public rflu_genx_createattrwrapper(pRegion)
subroutine rflu_setvarscontwrapper(pRegion, icgBeg, icgEnd)
subroutine, public rflu_computewtsc2cwrapper(pRegion, order)
subroutine, public rflu_createbvertexlists(pRegion)
subroutine, public rflu_setinfoc2cstencilwrapper(pRegion, orderNominal)
subroutine, public rflu_genx_createpconn(pRegion)
subroutine rflu_setmoduletype(global, moduleType)
subroutine, public rflu_buildc2cstencilwrapper(pRegion, icgInput, constrInput)
subroutine rflu_randominit(regions)
subroutine, public rflu_buildavface2patchlist(pRegion)
subroutine, public rflu_petsc_createjacobian(pRegion)
subroutine rflu_printgridinfo(pRegion)
subroutine, public rflu_genx_registergridvol(pRegion)
subroutine, public rflu_petsc_init(global)
subroutine, public rflu_genx_readctrlfile(global)
subroutine rflu_getboundaryvalues(region)
subroutine rflu_opentotalmassfile(global)
subroutine rflu_openconverfile(global)
subroutine, public rflu_buildsymmetrymapsoles(pRegion)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine rflu_setvarsdiscwrapper(pRegion)
subroutine, public rflu_computewtsf2cwrapper(pRegion, order)
subroutine, public rflu_mpi_copywrapper(regions)
subroutine, public rflu_computepatchnormalslocal(pRegion)
subroutine, public rflu_buildstencilsoles(pRegion)
subroutine, public rflu_sype_readtransforms(pRegion)
subroutine, public rflu_createcellmapping(pRegion)
subroutine, public rflu_createavface2patchlist(pRegion)
subroutine rflu_readintegrals1245oles(pRegion)
subroutine writetotalmass(regions)
subroutine deregisterfunction(global)
subroutine, public rflu_creategeometry(pRegion)
subroutine rflu_writeversionstring(global)
subroutine, public rflu_applyregionmapping(global, levels)
subroutine rflu_initglobal(casename, verbLevel, communicator, global)
subroutine, public rflu_createf2cstencilwrapper(pRegion)
subroutine, public rflu_setinfobf2cstencilwrapper(pRegion, pPatch, orderNominal)
LOGICAL function, public rflu_sype_havesypepatches(pRegion)
subroutine rflu_readrestartinfo(global)
subroutine, public rflu_createedge2celllist(pRegion)
subroutine, public rflu_imposeregionmappingserial(global)
subroutine, public rflu_buildvert2celllist(pRegion)
subroutine, public rflu_destroyedge2celllist(pRegion)
subroutine, public rflu_createregionmapping(global, mapType)
subroutine, public rflu_createglobalthrustflags(pRegion)
subroutine rflu_initflowsolver(casename, verbLevel, global, levels)
subroutine, public rflu_bxv_createvarscv(pRegion)