bonjour tous le monde

je suis nouveau ici mais egalement à Fortran. j'arais besoin de votre aide si possible.

Je resoud une EDP ( equation aux dérivées partielles ). les solutions doivent ere enregistrées dans plusieurs fichiers. J'ai ecris une routine, qui gener les noms de fichiers, les ouvres, resoud une partie du probleme et ecris les données dans les fichiers deja ouverts. Cetet routine est appele par le programe principal. je vous met le bout de code suivant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
!! generation et ouverture des fichiers
do count1=1,4*N+7
      write(filename,'(a4,i2.2,a4)') 'datafile',count1,'.dat'
      open(unit=intfiles(count1), file=filename,form='formatted', status='unknown')
  end do
 
 !!ecrire les donnees initiales
 call writedata(time)
 
 !! resolution
 comp0=0
 do while( time.le. tf) 
     call somesolver(deltat)
     time=time+ deltat
     comp0=comp0+1
     call writedata(time) 
  end do
 
   !! fermeture des fichiers
   do count1=1,4*N+7
     close(count1)
  end do
Le tableau intfiles est un tableau d'entiers declaré avec l'attribut save dans un module et initializé par une autre routine. son role est donc de faire une connexion enre les noms de fichiers et les numeros d'unités.

Remarquez qu'une routne writedata est chargée d'ecrire dans les fichiers.

La compilation se passe bien, mais pendant l'execution, j'ai une erreur qui me dit que mes fichiers sont ouvert pour lecture, je ne peux donc pas ecrire dedans.

qu'est ce que vous en pensez

merci d'avance