72   TYPE(t_region
), 
POINTER :: pregion,pregionserial
 
   79   CHARACTER(CHRLEN) :: rcsidentstring
 
   80   INTEGER :: errorflag,icg,icgs,icgsmax,icgsmin,icgsnzpcllow,icgsnzpclmax, &
 
   81              icgsnzpclmin,icgsnzpclupp,icl,iloc,ipclpercellcsr, &
 
   82              ipclpercellcsrlow,ipclpercellcsrupp,ipclserial,isc2pc,isc2pclow, &
 
   84   REAL(RFREAL) :: delfrac,xdel,
xmax,
xmin,xpcl,xpclmax,xpclmin,ydel,
ymax,
ymin, &
 
   85                   ypcl,ypclmax,ypclmin,zdel,
zmax,
zmin,zpcl,zpclmax,zpclmin
 
   87   TYPE(t_grid), 
POINTER :: pgrid
 
   88   TYPE(t_plag), 
POINTER :: pplag,pplagserial
 
   95     '$RCSfile: PLAG_RFLU_InitSolFromSerial.F90,v $ $Revision: 1.7 $' 
   97   global => pregion%global
 
  100                         'PLAG_RFLU_InitSolFromSerial.F90')
 
  102   IF ( global%verbLevel > verbose_none ) 
THEN 
  103     WRITE(stdout,
'(A,1X,A)') solver_name,
'Initializing particle solution '// &
 
  104                              'from serial region...' 
  105     WRITE(stdout,
'(A,3X,A,1X,I5.5)') solver_name,
'Global region:', &
 
  106                                      pregion%iRegionGlobal
 
  113   pgrid       => pregion%grid
 
  114   pplag       => pregion%plag  
 
  115   pplagserial => pregionserial%plag
 
  121   delfrac = 0.05_rfreal
 
  127   xmin = minval(pgrid%xyz(xcoord,1:pgrid%nVert))
 
  128   xmax = maxval(pgrid%xyz(xcoord,1:pgrid%nVert))
 
  129   ymin = minval(pgrid%xyz(ycoord,1:pgrid%nVert))
 
  130   ymax = maxval(pgrid%xyz(ycoord,1:pgrid%nVert))
 
  131   zmin = minval(pgrid%xyz(zcoord,1:pgrid%nVert))
 
  132   zmax = maxval(pgrid%xyz(zcoord,1:pgrid%nVert))
 
  149   xpclmin =  huge(1.0_rfreal)
 
  150   xpclmax = -huge(1.0_rfreal)
 
  151   ypclmin =  huge(1.0_rfreal)
 
  152   ypclmax = -huge(1.0_rfreal)
 
  153   zpclmin =  huge(1.0_rfreal)
 
  154   zpclmax = -huge(1.0_rfreal)    
 
  156   DO ipclserial = 1,pplagserial%nPcls
 
  157     xpclmin = 
min(xpclmin,pplagserial%cv(cv_plag_xpos,ipclserial)) 
 
  158     xpclmax = 
max(xpclmax,pplagserial%cv(cv_plag_xpos,ipclserial))
 
  159     ypclmin = 
min(ypclmin,pplagserial%cv(cv_plag_ypos,ipclserial)) 
 
  160     ypclmax = 
max(ypclmax,pplagserial%cv(cv_plag_ypos,ipclserial))
 
  161     zpclmin = 
min(zpclmin,pplagserial%cv(cv_plag_zpos,ipclserial)) 
 
  162     zpclmax = 
max(zpclmax,pplagserial%cv(cv_plag_zpos,ipclserial))            
 
  170   IF ( ((xpclmin < 
xmax) .AND. (ypclmin < 
ymax) .AND. (zpclmin < 
zmax)) .AND. & 
 
  171        ((xpclmax > 
xmin) .AND. (ypclmax > 
ymin) .AND. (zpclmax > 
zmin)) ) 
THEN 
  190     icgsnzpclmin = pplagserial%icgNzPcl(1)
 
  191     icgsnzpclmax = pplagserial%icgNzPcl(pplagserial%nCellsNzPcl)
 
  193     icgsmin = pgrid%sc2pc(1,1)
 
  194     icgsmax = pgrid%sc2pc(1,pgrid%nCells)
 
  202     IF ( (icgsnzpclmin < icgsmax) .AND. (icgsnzpclmax > icgsmin) ) 
THEN  
  205       IF ( iloc == element_not_found ) 
THEN  
  206         isc2pclow = 
max(1,
min(
j,pgrid%nCells))
 
  213       IF ( iloc == element_not_found ) 
THEN  
  214         isc2pcupp = 
max(1,
min(
j,pgrid%nCells))
 
  220                                pplagserial%nCellsNzPcl,icgsmin,iloc,
j)
 
  221       IF ( iloc == element_not_found ) 
THEN  
  222         icgsnzpcllow = 
max(1,
min(
j,pgrid%nCells))
 
  228                                pplagserial%nCellsNzPcl,icgsmax,iloc,
j)
 
  229       IF ( iloc == element_not_found ) 
THEN  
  230         icgsnzpclupp = 
max(1,
min(
j,pgrid%nCells))
 
  244       DO isc2pc = isc2pclow,isc2pcupp
 
  245         icgs = pgrid%sc2pc(1,isc2pc)
 
  248                                  icgsnzpclupp-icgsnzpcllow+1,icgs,iloc)
 
  250         IF ( iloc /= element_not_found ) 
THEN   
  251           iloc = iloc + icgsnzpcllow - 1 
 
  254             ipclpercellcsrlow = pplagserial%iPclPerCellCSRInfo(iloc-1)+1
 
  256             ipclpercellcsrlow = 1 
 
  259           ipclpercellcsrupp = pplagserial%iPclPerCellCSRInfo(iloc)
 
  261           DO ipclpercellcsr = ipclpercellcsrlow,ipclpercellcsrupp
 
  262             ipclserial = pplagserial%iPclPerCellCSR(ipclpercellcsr)
 
  264             pplag%nPcls = pplag%nPcls + 1
 
  266             DO ivar = 1,pregion%plag%nCv
 
  267               pplag%cv(ivar,pplag%nPcls) = pplagserial%cv(ivar,ipclserial)
 
  270             DO ivar = 1,pregion%plag%nArv
 
  271               pplag%arv(ivar,pplag%nPcls) = pplagserial%arv(ivar,ipclserial)
 
  274             DO ivar = 1,pregion%plag%nAiv
 
  275               pplag%aiv(ivar,pplag%nPcls) = pplagserial%aiv(ivar,ipclserial)
 
  278             pplag%aiv(aiv_plag_icells,pplag%nPcls) = pgrid%sc2pc(2,isc2pc)
 
  279             pplag%aiv(aiv_plag_regini,pplag%nPcls) = pregion%iRegionGlobal 
 
  281             IF ( pplagserial%aiv(aiv_plag_regini,ipclserial) /= 0 ) 
THEN  
  282               CALL 
errorstop(global,err_plag_dstr_invalid,__line__)
 
  284               pplagserial%aiv(aiv_plag_regini,ipclserial) = & 
 
  285                 pregion%iRegionGlobal
 
  299   IF ( global%verbLevel > verbose_low ) 
THEN  
  300     WRITE(stdout,
'(A,3X,A,1X,I6)') solver_name,
'Number of particles:', &
 
  308   IF ( global%verbLevel > verbose_none ) 
THEN  
  309     WRITE(stdout,
'(A,1X,A)') solver_name,
'Initializing particle solution '// &
 
  310                              'from serial region done.' 
subroutine, public rflu_rnmb_readpxx2sxxmaps(pRegion)
 
subroutine, public rflu_rnmb_destroypbf2sbfmap(pRegion)
 
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
 
subroutine plag_rflu_initsolfromserial(pRegion, pRegionSerial)
 
subroutine registerfunction(global, funName, fileName)
 
subroutine binarysearchinteger(a, n, v, i, j)
 
subroutine, public rflu_rnmb_buildsc2pcmap(pRegion, sortFlag)
 
subroutine, public rflu_rnmb_destroysc2pcmap(pRegion)
 
subroutine, public rflu_rnmb_destroypv2svmap(pRegion)
 
subroutine, public rflu_rnmb_createpc2scmap(pRegion)
 
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
 
subroutine, public rflu_rnmb_createpv2svmap(pRegion)
 
subroutine errorstop(global, errorCode, errorLine, addMessage)
 
subroutine, public rflu_rnmb_createpbf2sbfmap(pRegion)
 
subroutine deregisterfunction(global)