Local variables to be added
integer          ifac, ii
integer          izone
integer          ilelt, nlelt
double precision d2s3
double precision zref, xuref
double precision ustar, rugd, rugt
double precision zent, xuent, xvent
double precision xkent, xeent
 
integer, allocatable, dimension(:) :: lstelt
  
Initialization and finalization
Initialization and finalization is similar to that of the base examples
Example 1
For boundary faces of color 11, assign an inlet boundary condition prescribed from the meteo profile with automatic choice between inlet/ outlet according to the meteo profile.
call getfbr(
'11',nlelt,lstelt)
 
izone = 1
 
do ilelt = 1, nlelt
 
  ifac = lstelt(ilelt)
 
  
  izfppp(ifac) = izone
 
  
  iprofm(izone) = 1
 
  
 
  itypfb(ifac) = ientre
 
  
  
 
  iautom(ifac) = 1
 
enddo
  
Example 2
For boundary faces of color 21, assign an inlet boundary condition prescribed from the meteo profile.
call getfbr(
'21',nlelt,lstelt)
 
izone = 2
 
do ilelt = 1, nlelt
 
  ifac = lstelt(ilelt)
 
  
  izfppp(ifac) = izone
 
  
  iprofm(izone) = 1
 
  
  itypfb(ifac) = ientre
 
enddo
  
Example 3
For boundary faces of color 31, assign an inlet boundary condition prescribed from the meteo profile except for dynamical variables which are prescribed with a rough log law.
call getfbr(
'31',nlelt,lstelt)
 
 
izone = 3
 
do ilelt = 1, nlelt
 
  ifac = lstelt(ilelt)
 
  
  izfppp(ifac) = izone
 
  
  iprofm(izone) = 1
 
  
  zent=cdgfbo(3,ifac)
 
  ustar=xkappa*xuref/log((zref+rugd)/rugd)
  xuent=ustar/xkappa*log((zent+rugd)/rugd)
  xvent = 0.d0
  xkent=ustar**2/sqrt(cmu)
  xeent=ustar**3/xkappa/(zent+rugd)
 
  itypfb(ifac) = ientre
 
  rcodcl(ifac,iu,1) = xuent
  rcodcl(ifac,iv,1) = xvent
  rcodcl(ifac,iw,1) = 0.d0
 
  
  if    (itytur.eq.2) then
 
    rcodcl(ifac,ik,1)  = xkent
    rcodcl(ifac,iep,1) = xeent
 
  elseif(itytur.eq.3) then
 
    rcodcl(ifac,ir11,1) = d2s3*xkent
    rcodcl(ifac,ir22,1) = d2s3*xkent
    rcodcl(ifac,ir33,1) = d2s3*xkent
    rcodcl(ifac,ir12,1) = 0.d0
    rcodcl(ifac,ir13,1) = 0.d0
    rcodcl(ifac,ir23,1) = 0.d0
    rcodcl(ifac,iep,1)  = xeent
 
  elseif(iturb.eq.50) then
 
    rcodcl(ifac,ik,1)   = xkent
    rcodcl(ifac,iep,1)  = xeent
    rcodcl(ifac,iphi,1) = d2s3
    rcodcl(ifac,ifb,1)  = 0.d0
 
  elseif(iturb.eq.60) then
 
    rcodcl(ifac,ik,1)   = xkent
    rcodcl(ifac,iomg,1) = xeent/cmu/xkent
 
  elseif(iturb.eq.70) then
 
    rcodcl(ifac,inusa,1) = cmu*xkent**2/xeent
 
  endif
 
enddo
  
Example 4
Prescribe at boundary faces of color '12' an outlet.
call getfbr(
'15', nlelt, lstelt)
 
 
izone = 5
 
do ilelt = 1, nlelt
 
  ifac = lstelt(ilelt)
 
  
  
 
  
  izfppp(ifac) = izone
 
  itypfb(ifac)   = iparug
 
  
  rcodcl(ifac,iu,3) = rugd
 
  
  rcodcl(ifac,iv,3) = rugt
 
  
 
 
enddo
  
Example 5
Prescribe at boundary faces of color 4 a symmetry.
call getfbr(
'4', nlelt, lstelt)
 
 
izone = 6
 
do ilelt = 1, nlelt
 
  ifac = lstelt(ilelt)
 
  
  izfppp(ifac) = izone
 
  itypfb(ifac)   = isymet
 
enddo