critraf.f90

### TABLE OF CONTENTS

- 1. UTI/critraf

## 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