Fortran: boucle sur OPEN
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Fortran: boucle sur OPEN



  1. #1
    invitee16f78b5

    Fortran: boucle sur OPEN


    ------

    Bonjour,

    Je suis étudiant et j'effectue actuellement mon travil de fin d'étude sur les tourbillons de sillage d'avions que je dois simuler à l'aide d'un code en Fortran.

    Cependant je dois développer les outils de post-traitements! J' ai en fait une série de fichier binaire ux001,ux002,ux003,.... que je dois convertir en fichier .vtr que je peut ouvrir avec un programme adapté. J'ai écris le code pour effectuer cette conversion et il fonctionne. Néanmoins il ne fonctionne pour chaque fichier binaire un à la fois ux001 puis ux002 ensuite ux003 que je dois chaque fois réécrire dans le code ce qui n'est pas pratique.

    Voici un bout de code que j'ai écris:

    OPEN(10,FILE='ux001',FORM='UNFORMATTED',&
    ACCESS='DIRECT', RECL=8, STATUS='OLD')
    COUNT = 1
    DO K=1,nz
    DO J=1,ny
    DO I=1,nx
    READ(10,REC=COUNT) ux(I,J,K)
    COUNT = COUNT + 1
    ENDDO
    ENDDO
    ENDDO
    CLOSE(10)


    Je me demandais donc si il était possible de faire une boucle sur l'instruction OPEN afin d'ouvrir tous les fichiers ux001, ux002, ux003,... sans toujours modifier directement dans le code.
    J'espere avoir été assez clair!

    Merci de m'avoir lu!

    Arnaud

    -----

  2. #2
    Calvert

    Re : Fortran: boucle sur OPEN

    Salut !

    Tu peux tout à fait faire une boucle sur les noms de fichiers de la manière suivante:

    Code:
    program test
    
    integer:: File_Number = 10 ! Le nombre total de fichiers
    
    character(2):: Filename_Base = 'ux' ! La partie commune à tous les fichiers
    character(5):: Filename ! Le nom du fichier complet
    
    do i=1,File_Number ! boucle sur tous les fichiers
      write(Filename,'(a,i3.3)') Filename_Base,i ! on imprime dans la variable Filename la partie commune et le numéro de fichier dans le bon format
      write(*,*) Filename ! on vérifie
    enddo
    
    end program test

  3. #3
    invitee16f78b5

    Re : Fortran: boucle sur OPEN

    Cela fonctionne parfaitement!

    Merci beaucoup pour votre reponse!

    Arnaud

Discussions similaires

  1. relation entre gain statique en boucle ouverte et celui en boucle fermee
    Par invite21730e48 dans le forum Électronique
    Réponses: 4
    Dernier message: 29/09/2014, 21h47
  2. Passage de fortran V à fortran 77 ou 95
    Par invite5a4fc1c2 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 17/03/2014, 13h23
  3. problème boucle interruption avec boucle spi
    Par invitef9a5b0e0 dans le forum Électronique
    Réponses: 8
    Dernier message: 16/03/2013, 03h26
  4. Diagramme de Bode boucle ouverte et boucle fermée
    Par invite29a24ce3 dans le forum Physique
    Réponses: 4
    Dernier message: 21/06/2012, 14h24
  5. boucle et variable en fortran
    Par invitea0f03ccc dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 25/12/2008, 15h38