Problème de subroutine dans une boucle
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Problème de subroutine dans une boucle



  1. #1
    invite17d39b9f

    Problème de subroutine dans une boucle


    ------

    Bonjour à tous,
    J'ai un problème de dimensionnement de réacteur en série à réaliser sur fortran (avec utilisation de la méthode de newton-raphson obligatoire). Lorsque j'exécute le programme il me sort un premier résultat qui est bon (j'ai vérifié) puis il rentre dans une boucle ou il appelle une subroutine. Lors de la première boucle pour i=1 il me sort le résultat attendu cependant pour i=2 mon programme plante et je ne comprend pas pourquoi. (mon critère d'arrêt sur la méthode newton raphson déconne).
    La subroutine qui plante se trouve à la ligne 26 et le critère d'arrêt de newton raphson est ligne 166.

    si quelqu'un souhaite m'aider je lui ai mis mon programme et le fichier que mon programme doit lire en pièce jointe normalement.

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    umfred

    Re : Problème de subroutine dans une boucle

    j'ai du mal à voir l'intérêt du DO i=1,1 en ligne 165 (mais bon pourquoi pas) au lieu d'affecter simplement i à 1 ou remplacer i par 1 dans la formule.
    j'afficherai la valeur de crit avant le test ligne 168 pour voir comment il évolue (peut-être une erreur de signe quelque part?)

  3. #3
    invite17d39b9f

    Re : Problème de subroutine dans une boucle

    Merci de votre réponse
    les boucles allant de i=1 à 1 c'est juste que j'ai repris un ancien code qui utilisait aussi newton-raphson mais ça ne sert à rien ici. Je viens de regarder les valeurs du crit via le débogueur de fortran 90. Donc j'ai vu que c'était xvar qui était mauvais car je vois que xvar=-nan alors que à la ligne 149 je lui fixe une valeur initiale donc je ne comprends toujours pas pourquoi j'ai ce problème.

  4. #4
    umfred

    Re : Problème de subroutine dans une boucle

    tu lui rajoutes deltax ensuite ligne 162; donc vérifier sa valeur aussi

  5. A voir en vidéo sur Futura
  6. #5
    invite17d39b9f

    Re : Problème de subroutine dans une boucle

    Bon j'ai cherché l'erreur pendant un certains temps et j'ai enfin trouvé. Ligne 204 j'approxime une dérivé par cette formule (F(x+h)-F(x-h))/2*h. or lorsque je calcule F(x+h) et F(x-h), je trouve les mêmes valeurs car fortran ne possède pas assez de chiffre après la virgule pour pouvoir les différencier ce qui donne une dérivé nulle et lorsque je l'inverse pour procéder à la méthode de newton raphson cela donne une valeur infinie.

    Merci de m'avoir aidé à trouver le problème

Discussions similaires

  1. problème de Subroutine en fortran 90
    Par invite6236f8da dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 03/03/2017, 17h07
  2. Problème d'aspiration (boucle dans trajet tuyauterie)
    Par Herley dans le forum Physique
    Réponses: 3
    Dernier message: 08/02/2017, 17h47
  3. Problème dans une double boucle For en C++
    Par invitea86adc00 dans le forum Programmation et langages, Algorithmique
    Réponses: 17
    Dernier message: 12/10/2016, 00h16
  4. Langage C : problème dans une boucle
    Par invitedba13d1f dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 25/05/2009, 11h48
  5. Matlab : Problème de format dans boucle
    Par invite2d9939ba dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 03/04/2008, 12h15