program maillage implicit none integer :: Nx, Ny, i, j real :: Lx, Ly, gama, pi real, dimension(100,100) :: x2d_reg, x2d_irreg real, dimension(100,100) :: y2d_reg, y2d_irreg ! ouverture du fichier d'entree et recuperation des donnees du fichier d'entree open(10,file='donnees.dat') read(10,*) Nx read(10,*) Ny read(10,*) Lx read(10,*) Ly read(10,*) gama close(10) ! calcul des coordonnees du maillage regulier do j=1,Ny do i=1,Nx x2d_reg(i,j) = Lx * (real(i)-1) / (real(Nx)-1.) y2d_reg(i,j) = Ly * (real(j)-1) / (real(Ny)-1.) end do end do ! calcul des coordonnees du maillage irregulier pi = acos(-1.) do j=1,Ny do i=1,Nx x2d_irreg(i,j) = x2d_reg(i,j) + gama * Lx / (3.*pi) * sin(2.*pi*x2d_reg(i,j)/Lx) y2d_irreg(i,j) = y2d_reg(i,j) + gama * Ly / (3.*pi) * sin(2.*pi*y2d_reg(i,j)/Ly) end do end do ! creation du fichier de resultats et ecriture dans ce fichier open(20,file='resultats.dat') write(20,*) "--- tableau x2d_irreg (i=1,Nx sur une ligne) ---" do j=1,Ny write(20,*) (x2d_irreg(i,j),i=1,Nx) end do write(20,*) "--- tableau y2d_irreg (i=1,Nx sur une ligne) ---" do j=1,Ny write(20,*) (y2d_irreg(i,j),i=1,Nx) end do close(20) end program maillage