TABLE OF CONTENTS
UTI/PRE/ini_def_bloc [ Modules ]
NOM
ini_def_bloc(cb,nzone,zone)
DESCRIPTION
Definition de la discretisation des blocs Definition of block discretisation
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: fct_mesh IMPLICIT NONE !.2----- Declaration type(calcul) :: cb !! Objet calcul / Calcul object real(kind=kind(0.d0)),allocatable,dimension(:,:) :: zone !! parametres de maillage / Mesh parameters integer,allocatable,dimension(:,:) :: nzone !! parametres de maillage / Mesh parameters integer :: i,j type( point) :: center !=========================== DEBUT DU CODE EXECUTABLE ================== !---------------------------------------------------------------------------------- ! on definit la discretisation des blocs ! ! Premier cas on utilise les zones definies dans CERF.inp IF (nzone(1,1).ge.0) THEN DO i=1,cb%nb_bloc cb%list_bloc(i)%nrb =0 cb%list_bloc(i)%idom=0 center%x=0.d0; center%y=0.d0; center%z=0.d0 do j=1,8 center%x=center%x+cb%list_bloc(i)%s(j)%x/8.d0 center%y=center%y+cb%list_bloc(i)%s(j)%y/8.d0 center%z=center%z+cb%list_bloc(i)%s(j)%z/8.d0 enddo DO j=1,size(nzone,2) IF (center%x.ge.zone(1,j).and. & center%x.le.zone(2,j).and. & center%y.ge.zone(3,j).and. & center%y.le.zone(4,j).and. & center%z.ge.zone(5,j).and. & center%z.le.zone(6,j))then cb%list_bloc(i)%nrb =nzone(1,j) END IF END DO END DO ELSE ! Deuxieme cas on utilise les fonctions utilisateur DO i=1,cb%nb_bloc cb%list_bloc(i)%nrb =0 cb%list_bloc(i)%idom=0 center%x=0.d0; center%y=0.d0; center%z=0.d0 do j=1,8 center%x=center%x+cb%list_bloc(i)%s(j)%x/8.d0 center%y=center%y+cb%list_bloc(i)%s(j)%y/8.d0 center%z=center%z+cb%list_bloc(i)%s(j)%z/8.d0 enddo call fct_mesh(center%x,center%y,center%z,-nzone(1,1),cb%list_bloc(i)%nrb) END DO END IF !=========================== FIN DE LA ROUTINE ==================== END SUBROUTINE init_def_bloc