mfscheme.F [SRC] [CPP] [JOB] [SCAN]
SOURCES / SCHEMESSEQCODE/SCHEMES [=]



   1 | include(dom.inc)
   2 | 
   3 |       SUBROUTINE MFSCHEME(k_abs,k_scat,V,nface,S,Di,Lb,Gi,Li,Le,Lp,     &
   4 |      &                    alpha,nfacemax)
   5 | 
   6 | !     ******************************************************************!
   7 | !         kabs   -->  Coeff. d'absorption gris                          !
   8 | !         k_scat -->  Coeff de diffusion isotrope                       !
   9 | !         V      -->  Volume de la cellule                              !
  10 | !         S      -->  Vecteur des 4 surfaces (ABC, ABD, ACD et BCD)     !
  11 | !         Di     -->  Vecteur des produits (normes*direction discrete)  !
  12 | !         Lb     -->  Luminace noire emise au centre de la cellule      !
  13 | !         Gi     -->  Luminance incidente a l'iteration precedente      !
  14 | !         Li     -->  Lminance aux faces d'entree                       !
  15 | !         Le     -->  Luminance calculees aux faces de sortie           !
  16 | !         Lp     -->  Lp total au centre de la cellule                  !
  17 | !     ******************************************************************!
  18 | 
  19 |         IMPLICIT NONE
  20 | 
  21 |         include 'dom_constants.h'
  22 | 
  23 | !       IN
  24 |         DOM_INT          :: nface, nfacemax
  25 | 
  26 |         DOM_REAL :: k_abs, alpha
  27 |         DOM_REAL :: Lb, Gi, k_scat, V
  28 |         DOM_REAL, DIMENSION (nfacemax) :: Li, Di, S
  29 | 
  30 | !       OUT
  31 |         DOM_REAL                       :: Lp
  32 |         DOM_REAL,DIMENSION(nfacemax)   :: Le
  33 | 
  34 | !       LOCAL
  35 |         DOM_REAL :: L_IN, AREA_IN
  36 |         DOM_REAL :: SD
  37 |         DOM_INT  :: i
  38 | 
  39 |         L_IN    = 0.
  40 |         AREA_IN = 0.
  41 | 
  42 |         DO i=1,nface
  43 |           IF (Di(i)<0.) THEN
  44 |             SD      = S(i)*Di(i)
  45 |             L_IN    = L_IN    + SD*Li(i)
  46 |             AREA_IN = AREA_IN + SD
  47 |           ENDIF
  48 |         ENDDO
  49 | 
  50 | !       For a homogeneously out-scattering gas:
  51 | !       ---------------------------------------
  52 | !       Y1=-L_IN+alpha*V*(k_abs*Lb+k_scat/(4*pi)*Gi)
  53 | !       Y2=(k_abs+k_scat)*alpha*V-AREA_IN
  54 | !       Lp=Y1/Y2
  55 | 
  56 | !       Non-scattering gas:
  57 | !       -------------------
  58 | 
  59 |         Lp = ( alpha*V*k_abs*Lb - L_IN ) / ( alpha*V*k_abs - AREA_IN )
  60 | 
  61 |         DO i=1,nface
  62 |           IF (Di(i)>0.) THEN
  63 |             Le(i)=( Lp - (1.-alpha)*L_IN/AREA_IN ) / alpha
  64 |             IF ( Le(i).lt.0. ) THEN
  65 |               Le(i) = 0.
  66 |             ENDIF
  67 |           ENDIF
  68 |         ENDDO
  69 | 
  70 |       END SUBROUTINE MFSCHEME


mfscheme.F could be called by:
Makefile [SEQCODE] - 91
Makefile [SOURCES] - 104 - 202
scheme_dmfs.F [SEQCODE/SCHEMES] - 40
scheme_dmfs.F [SOURCES/SCHEMES] - 84