TABLE OF CONTENTS
UTI/USER/fct_mesh [ Modules ]
NOM
fct_mesh(x,y,z,ifct,nrb)
DESCRIPTION
Initialisation du niveau de raffinement d un bloc par une fonction utilisateur
Initialise the refinement level of a block using a user function
ENTREES / INPUT
x,y,z : coordonnees / coordinates
ifct : numero de la fonction definissant le niveau de raffinement / number of the function defining the refinement level
SORTIES / OUTPUT
nrb : niveau de raffinement / refinement level
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 phy_typ IMPLICIT NONE !.2----- Declaration real(kind=kind(0.d0)), intent(in) :: x,y,z !! Centre du bloc / Block center integer, intent(in) :: ifct !! Numero de la fonction / Function number integer, intent(out) :: nrb !! Niveau de raffinement du bloc / Mesh refinement level !=========================== DEBUT DU CODE EXECUTABLE ================== nrb=0*int(x*y*z) SELECT CASE (ifct) !------ Cas de Montfaucon CASE (1) nrb=0 IF(x.gt.0.D0 .and. x.le.2.d0 .and. y.le.6.4d0)nrb=2 IF(x.gt.2.D0 .and. x.le.16.d0 .and. y.le. (6.4d0-(x-2.d0)*3.5d0/14.d0))nrb=2 IF(x.gt.16.D0 .and. x.le.22.d0 .and. y.le.2.9d0)nrb=0 IF(x.gt.22.D0 .and. x.le.30.d0 .and. y.le. (2.9d0-(x-22.d0)*2.7d0/8.d0))nrb=0 CASE DEFAULT call print_err('fct_mesh', 'No user function defined') END SELECT !=========================== FIN DE LA ROUTINE ==================== END SUBROUTINE fct_mesh