1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| implicit none
real(8),parameter :: Pi= 3.1415926535897932D0
real(8),parameter :: q_evap=176E4
real(8),parameter :: T_inf=293.D0
real(8),parameter :: conds=380.0D0
real(8),parameter :: coef=500.0D0
real(8),parameter :: R_e=5E-03
real(8),parameter :: R_i=4E-03
real(8),parameter :: Lt=0.2D0
real(8),parameter :: L_evap=4.E-02
real(8),parameter :: L_adiab=11.8E-02
real(8),parameter :: L_cond=4.2E-02
integer(8), parameter ::n=3
integer(8), parameter ::m=3
end Mod_DONNEES
PROGRAM MAIN
USE Mod_DONNEES
implicit none
REAL*8, ALLOCATABLE, DIMENSION(:,:) :: r
REAL*8, ALLOCATABLE, DIMENSION(:,:) :: z
REAL*8 :: dr,dz
INTEGER::i,j
ALLOCATE(r(1:m,1), z(1:n,1) )
open (10,file='r(j).dat')
open (11,file='z(i).dat')
call grille(dr,dz,r,z)
!***** sauvegarder r(j)*************
do j=1,m
write(10,*) r(j)
end do
!***********************************
!****** sauvegarder z(i)************
do i=1,n
write(11,*) z(i)
end do
!************************************
CONTAINS
!************maillage********************
subroutine grille(dr,dz,r,z)
implicit none
REAL*8, ALLOCATABLE, DIMENSION(:,:) :: r
REAL*8, ALLOCATABLE, DIMENSION(:,:) :: z
integer:: i,j
REAL*8 :: dr,dz
ALLOCATE (r(1:m,1))
ALLOCATE (z(1:n,1) )
!les pas dans l'espace
dr=(R_e-R_i)/m
dz=Lt/n
!calcul de z(i)
do i=1,n
z(i)= (dz/(2.0D0))+((i-1)*dz)
end do
!calcul de r(j)
do j=1,m
r(j)= (dr/(2.D0))-(j*dr)+R_e
end do
return
end subroutine grille
close(10)
close(11)
end |
Partager