TABLE OF CONTENTS


UTI/critraf [ Modules ]

[ Top ] [ Modules ]

NOM

 critraf(calc,critere,ib,nb_cell_bloc)

DESCRIPTION

 Determination du critere de raffinement moyen sur un bloc.
 Determining the average refinement criterion on a block.
 
    ENTREES / INPUT
    calc  : objet calcul initial / initial calcul object
    ib    : numero du bloc / block number
    nb_cell_bloc : nombre de cellules du bloc / cell number of the block

    SORTIES / OUTPUT
    critere  : critere de raffinement moyen sur le bloc / average refinement criterion on the block

SOURCE

! Ce logiciel est regi par la licence [CeCILL-B]
! This software is governed by the [CeCILL-B] license
!=========================== DEBUT DES DECLARATIONS ==================== 
!.1-----  Implicit, Use
  use num
  IMPLICIT NONE
!.2-----  Declaration
  type(calcul), intent(inout)                       :: calc !! objet calcul / calcul object
  integer, intent(in)                               :: ib  !! numero du bloc / Block number
  integer, intent(in)                               :: nb_cell_bloc !! nombre de cellules du bloc / cell number of the block
  real(kind=kind(0.d0)),dimension(:), intent(inout) :: critere !! Critere moyen sur le bloc / average criterion of the block
  
  real(kind=kind(0.d0))                             :: crit
  integer                                           :: i,ibloc
!=========================== DEBUT DU CODE EXECUTABLE ==================

  ibloc=calc%list_bloc(ib)%numbl
  critere(ibloc)=0.d0

  DO i=1,nb_cell_bloc
    call critphy(calc%msh%list_cell(calc%list_bloc(ib)%first_cell+i)%w,crit)
    critere(ibloc)=critere(ibloc)+ crit* &
                   calc%msh%list_cell(calc%list_bloc(ib)%first_cell+i)%vol

  END DO
  critere(ibloc)=dabs(critere(ibloc))       
!===========================   FIN DE LA ROUTINE    ====================
END SUBROUTINE critraf