7.1
general documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Pulverized coal lagrangian

Local variables to be added

integer ifac, ii
integer izone
integer ilelt, nlelt
double precision uref2, d2s3
double precision xkent, xeent
integer, allocatable, dimension(:) :: lstelt

Initialization and finalization

Initialization and finalization is similar to that of the base examples

Assign boundary conditions to boundary faces here For each subset:

  • use selection criteria to filter boundary faces of a given subset
  • loop on faces from a subset
  • set the boundary condition for each face The color 15 become a WALL.

Example 1

BOUNDARY FACE corresponding to AIR INLET, e.g.: secondary or tertiary air.

call getfbr('12', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! Type de condition aux limites pour les variables standard
itypfb(ifac) = ientre
! Numero de zone (on les numerote de 1 a n)
izone = 1
! - Reperage de la zone a laquelle appartient la face
izfppp(ifac) = izone
! ------ Pour ces faces d'entree , on est a debit impose
ientat(izone) = 1
iqimp(izone) = 1
! - Debit en kg/s pour l'air
qimpat(izone) = 1.46d-03
! - Temperature en K pour l'air
timpat(izone) = 400.d0 + tkelvi
! ------ On impose en couleur 12 une entree a debit impose
! L'utilisateur donne donc ici uniquement
! la direction du vecteur vitesse
rcodcl(ifac,iu,1) = 0.d0
rcodcl(ifac,iv,1) = 0.d0
rcodcl(ifac,iw,1) = 5.d0
! ------ Traitement de la turbulence
! La turbulence est calculee par defaut si ICALKE different de 0
! - soit a partir du diametre hydraulique, d'une vitesse
! de reference adaptes a l'entree courante si ICALKE = 1
! - soit a partir du diametre hydraulique, d'une vitesse
! de reference et de l'intensite turvulente
! adaptes a l'entree courante si ICALKE = 2
! Choix pour le calcul automatique ICALKE = 1 ou 2
icalke(izone) = 1
! Saisie des donnees
dh(izone) = 0.1d0
xintur(izone) = 0.1d0
! Exemple de cas ou ICALKE(IZONE) = 0 : DEBUT
! Eliminer ces lignes pour la clarte si on a fait le choix ICALKE(IZONE) = 1
if(icalke(izone).eq.0) then
! Calcul de k et epsilon en entree (XKENT et XEENT) a partir
! l'intensite turbulente et de lois standards en conduite
! circulaire (leur initialisation est inutile mais plus
! propre)
uref2 = rcodcl(ifac,iu,1)**2 &
+rcodcl(ifac,iv,1)**2 &
+rcodcl(ifac,iw,1)**2
uref2 = max(uref2,1.d-12)
xkent = epzero
xeent = epzero
! (ITYTUR est un indicateur qui vaut ITURB/10)
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
endif
! Exemple de cas ou ICALKE(IZONE) = 0 : FIN
! ------ Traitement des scalaires physiques particulieres
! Ils sont traites automatiquement
! ------ Traitement des scalaires utilisateurs
if ( (nscal-nscapp).gt.0 ) then
do ii = 1, (nscal-nscapp)
rcodcl(ifac,isca(ii),1) = 1.d0
enddo
endif
enddo

Example 2

The color 15 becomes a WALL.

call getfbr('15', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! PAROI : DEBIT NUL (FLUX NUL POUR LA PRESSION)
! FROTTEMENT POUR LES VITESSES (+GRANDEURS TURB)
! FLUX NUL SUR LES SCALAIRES
! Type de condition aux limites pour les variables standard
itypfb(ifac) = iparoi
! Numero de zone (on les numerote de 1 a n)
izone = 2
! - Reperage de la zone a laquelle appartient la face
izfppp(ifac) = izone
enddo

Example 3

The color 19 becomes an OUTLET.

call getfbr('19', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! SORTIE : FLUX NUL VITESSE ET TEMPERATURE, PRESSION IMPOSEE
! Noter que la pression sera recalee a P0
! sur la premiere face de sortie libre (ISOLIB)
! Type de condition aux limites pour les variables standard
itypfb(ifac) = isolib
! Numero de zone (on les numerote de 1 a n)
izone = 3
! - Reperage de la zone a laquelle appartient la face
izfppp(ifac) = izone
enddo

Example 4

The colors 14 and 4 become a symmetry plane.

call getfbr('14 or 4', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! SYMETRIES
! Type de condition aux limites pour les variables standard
itypfb(ifac) = isymet
! Numero de zone (on les numerote de 1 a n)
izone = 4
! - Reperage de la zone a laquelle appartient la face
izfppp(ifac) = izone
enddo