8.1
general documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Gas EBU examples

Local variables to be added

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

Initialization and finalization

Initialization and finalization is similar to that of the base examples

Example 1

Definition of a burned gas inlet (pilot flame) for each face of colour 11

call getfbr('11', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! Type of pre-defined boundary condidition (see above)
itypfb(ifac) = ientre
! Zone number (arbitrary number between 1 and n)
izone = 1
! Allocation of the actual face to the zone
izfppp(ifac) = izone
! Indicating the inlet as a burned gas inlet
ientgb(izone) = 1
! The incoming burned gas flow refers to:
! a) a massflow rate -> iqimp() = 1
iqimp(izone) = 0
qimp(izone) = zero
!
! b) an inlet velocity -> iqimp() = 0
rcodcl(ifac,iu,1) = 0.d0
rcodcl(ifac,iv,1) = 0.d0
rcodcl(ifac,iw,1) = 21.47d0
! ATTENTION: If iqimp() = 1 the direction vector of the massfow has
! to be given here.
!
! Mean Mixture Fraction at Inlet
fment(izone) = 1.d0*fs(1)
! Inlet Temperature in K
tkent(izone) = 2000.d0
! Boundary Conditions of Turbulence
icalke(izone) = 1
!
! - If ICALKE = 0 the boundary conditions of turbulence at
! the inlet are calculated as follows:
if(icalke(izone).eq.0) then
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
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
!
! - If ICALKE = 1 the boundary conditions of turbulence at
! the inlet refer to both, a hydraulic diameter and a
! reference velocity.
!
dh(izone) = 0.032d0
!
! - If ICALKE = 2 the boundary conditions of turbulence at
! the inlet refer to a turbulence intensity.
!
xintur(izone) = 0.d0
enddo
subroutine getfbr(fstr, facnb, faces)
Build the list of boundary faces matching a criteria string.
Definition: cs_selector_f2c.f90:111

Example 2

Definition of an unburned gas inlet for each face of colour 12

call getfbr('12', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! Type of pre-defined boundary condidition (see above)
itypfb(ifac) = ientre
! Zone number (arbitrary number between 1 and n)
izone = 2
! Allocation of the actual face to the zone
izfppp(ifac) = izone
! Indicating the inlet as an unburned gas inlet
ientgf(izone) = 1
! The incoming unburned gas flow refers to:
! a) a massflow rate -> iqimp() = 1
iqimp(izone) = 0
qimp(izone) = zero
!
! b) an inlet velocity -> iqimp() = 0
rcodcl(ifac,iu,1) = 60.d0
rcodcl(ifac,iv,1) = 0.d0
rcodcl(ifac,iw,1) = 0.d0
! ATTENTION: If iqimp() = 1 the direction vector of the massfow has
! to be given here.
! Mean Mixture Fraction at Inlet
fment(izone) = 8.d-1*fs(1)
! Inlet Temperature in K
tkent(izone) = 600.d0
! Boundary Conditions of Turbulence
icalke(izone) = 1
!
! - If ICALKE = 1 the boundary conditions of turbulence at
! the inlet refer to both, a hydraulic diameter and a
! reference velocity.
!
dh(izone) = 0.08d0
!
! - If ICALKE = 2 the boundary conditions of turbulence at
! the inlet refer to a turbulence intensity.
!
xintur(izone) = 0.1d0
enddo

Example 3

Definition of a wall for each face of colour 51 and 5

call getfbr('51 or 5', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! Type de condition aux limites pour les variables standard
itypfb(ifac) = iparoi
! Zone number (arbitrary number between 1 and n)
izone = 4
! Allocation of the actual face to the zone
izfppp(ifac) = izone
enddo

Example 4

Definition of an exit for each face of colour 91 and 9

call getfbr('91 or 9', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! Type de condition aux limites pour les variables standard
itypfb(ifac) = isolib
! Zone number (arbitrary number between 1 and n)
izone = 5
! Allocation of the actual face to the zone 9
izfppp(ifac) = izone
enddo

Example 5

Definition of symmetric boundary conditions for each face of colour 41 and 4.

call getfbr('41 or 4', nlelt, lstelt)
!==========
do ilelt = 1, nlelt
ifac = lstelt(ilelt)
! Type de condition aux limites pour les variables standard
itypfb(ifac) = isymet
! Zone number (arbitrary number between 1 and n)
izone = 6
! Allocation of the actual face to the zonec
izfppp(ifac) = izone
enddo