 SUBROUTINE read_obst(calc,icode)
!=========================== DOCUMENTATION ============================= 
!DOCDEBh*    UTI/PRE/read_obst *
!
!    NOM
! read_obst(calc,icode)
!    DESCRIPTION  
!*
! Lecture du Bloc OBST du fichier de donnees *.inp
! Reading the OBST block from the *.inp data file
!*
! 
!    ENTREES / INPUT
!    calc   : objet calcul initial / initial calculation object
!    icode  : nombre de solides / number of solids
!
!    SORTIES / OUTPUT
!    calc  objet calcul / calculation 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
  use uti, only : read_obj
  IMPLICIT NONE
!.2-----  Declaration
  type(calcul), intent(inout)  :: calc !! Objet calcul / Calcul object
  integer, intent(inout)       :: icode !! Code
  character*20                 :: file
  integer                      :: i
!=========================== DEBUT DU CODE EXECUTABLE ==================
  write(*,*)
  write(*,*)achar(27)//'[34m================================================'
  write(*,*)'Reading obstacle parameters: block OBST'
  write(*,*)'================================================'//achar(27)//'[0m'
  write(*,*)

     
  calc%nb_sol = icode
  write(*,*) 'Number of obstacles  :', calc%nb_sol
  IF (calc%nb_sol.NE.0) THEN
      DO i=1,calc%nb_sol
          calc%list_sol(i)%xg%v    = 0.d0
          calc%list_sol(i)%theta%v = 0.d0
          read(33,*) file, calc%list_sol(i)%rho,calc%list_sol(i)%imv
          write(*,*) file, calc%list_sol(i)%rho,calc%list_sol(i)%imv
          CALL read_obj(i,calc%list_sol(i),file)
      END DO
  END IF      
!===========================   FIN DE LA ROUTINE    ====================
END SUBROUTINE read_obst
!DOCFIN