dtloc.f90

### TABLE OF CONTENTS

- 1. NUM/dtloc

## NUM/dtloc [ Modules ]

[ Top ] [ Modules ]

NOM

     dtloc (calc)

DESCRIPTION

     Calcul du pas de temps local a  un domaine

     Calculating the local time step for a domain

        ENTREES / INPUT
      calc : objet calcul / calcul object
        SORTIES / OUTPUT
      calc : objet calcul / calcul object

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_typ
      IMPLICIT NONE
    !.2-----  Declaration
      type(calcul), intent(inout) :: calc !! Objet calcul / Calcul object

      integer                     :: i
      real(kind=kind(0.d0))       :: vloc,dt_loc
    !=========================== DEBUT DU CODE EXECUTABLE ==================

    ! On determine la vitesse d onde maximale sur toutes les cellules du calcul
      calc%vmax=0.d0
      calc%dt=1.d20
      DO i=1,calc%msh%nb_cell
          IF (calc%msh%numdom.eq.calc%msh%list_cell(i)%idom) THEN
              CALL VelCFL(calc%msh%list_cell(i)%w,vloc,calc%msh%list_cell(i)%h)
              IF (vloc.gt.calc%vmax)calc%vmax=vloc
              dt_loc=calc%msh%list_cell(i)%h*calc%cfl/vloc
              IF (dt_loc.lt.calc%dt)calc%dt=dt_loc
          END IF
      END DO
    !===========================   FIN DE LA ROUTINE    ====================
    END SUBROUTINE dtloc