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
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.
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
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
Partager