Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Code de calcul pour les ecoulements polyphasiques en milieu poreux



  1. #1
    ongojou

    Code de calcul pour les ecoulements polyphasiques en milieu poreux


    ------

    bonjour!
    je suis entrain de développer un code de calculs pour la récupération assisté du pétrole (les méthodes thermiques par injection de vapeur), il s'agit de ma thèse, j'ai presque termineé mes codes(je travaille sous matlab), mais j'ai des problèmes avec les résultats qui me tracassent la tête depuis des mois. j'ai tout fait j'ai tout essayé, mais je n'arrive pas à comprendre quelle est la source de ces problèmes ce qui me casse vraiment la tête; ainsi, j'ai ouvert cette discutions pour avoir vos remarques et vos conseilles; n'importe quelle remarque me sera utile. voici le problème: lorsque je lance mon programme, je trouve des résultats qui n'ont aucun sens physique. parfois des pressions complexe ou négatives, mêmes choses pour les températures et les saturations, et parfois même il n y rien du tout mais matlab affiche Nan. j'ai vérifié tous les sous programmes, les discrétisations des équations(je travaille avec les volumes finis), les équations elles mêmes etc. tout me semble correcte pourtant je rencontre ses problèmes dans mes résultats. je ne comprends rien, du tout, ainsi si quelqu'un peut me donner des pistes de réflexions sur les causes possibles je serai très reconnaissants. est ce que ce genre de problème arrive souvent lors du développement d'un code de calcul? quelles sont les causes éventuelles?Je remercie pour vos conseils et remarques

    -----

  2. Publicité
  3. #2
    Tryss

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Il n'y aurait pas des problèmes de stabilité numérique? Si le code est "théoriquement" correct, c'est le plus probable.

    Est ce que les résultats sont aberrants même pour un grand pas de discrétisation?

  4. #3
    obi76

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Bonjour,

    savoir que les résultats ne sont pas bons, c'est une chose. Dire avec une boule de cristal d'où ça vient.... je peux vous faire une liste longue comme le bras.

    Qu'est ce qui n'est pas bon exactement ? Quelle est la première chose qui foire avant que le reste ne suive durant votre simulation ?
    Paradoxalement, ce sont les débats stériles qui se reproduisent le plus.

  5. #4
    ongojou

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Bonjour!
    Merci bien pour tes remarques, les stabilités numériques il m'arrive de penser à ça oui, seulement j'ai essayé tout ce que je trouve dans la littérature pour la stabilité du pas de temps surtout mais ça ne change pas grand chose, donc je ne comprends pas. sinon à ta place dans ce cas quelle alternative envisagerai tu? Pour les grands pas de discrétisations j'ai essayé aussi mais ça ne change pas grand chose non plus
    Merci bien pour tes remarques

  6. #5
    ongojou

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Bonjour!
    Voilà, le problème c'est que j’obtiens des pressions complexes et des températures complexes et parfois des Nan avec Matlab. donc je pense que l'un de ces deux paramètres et la cause du problème seulement je n'arrive pas à savoir si c'est la pression qui délire la première ou si c'est la température. Mais puisque dans mes équations quelques part j'ai j'ai calculé la racine carré d'une température, je pense que peut être c'est la température qui devient négative et qui fausse tout le reste. mais je me pose la question pourquoi la température devient négative quand justement je travaille avec des températures élevées peut être qu'un autre paramètre fausse la température, lequel? je ne le trouve pas. ça va faire presque un an que je suis coincé sur ce problème. et je n'arrive pas à avancer à cause de ça, j'ai besoin de votre aide vraiment
    Merci bien

  7. A voir en vidéo sur Futura
  8. #6
    obi76

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Les Nan, ça peut venir de n'importe où (instabilité numérique, dépassement de tableau, etc.).

    C'est quoi comme code ? C'est en quel langage ? Compilé avec quoi ?

    EDIT : les doublons sont interdits : http://forums.futura-sciences.com/pr...ml#post4555840
    Dernière modification par obi76 ; 19/07/2013 à 10h56.
    Paradoxalement, ce sont les débats stériles qui se reproduisent le plus.

  9. Publicité
  10. #7
    Kerwan

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    ça peut être effectivement un problème d'instabilité de la méthode numérique, un problème lié au modèle lui même ... ou encore un bug de programmation.
    La bonne approche pour ne pas perdre trop de temps est de se donner un problème avec une solution analytique (même bidon : sans signification physique) et vérifier que le code fournit la bonne sortie.
    Dans le même ordre d'idée, tu peux faire un calcul "à la main" pour un maillage contenant seulement quelques inconnues et comparer aux sorties du code (une seule itération peut suffire).

    Souvent, il faut aussi tester des parties du codes pour trouver les erreurs, plutôt que le code en entier ...

  11. #8
    obi76

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Avant de faire ça, si j'ai posé ces questions, c'est voir si le code est propre et qu'il n'y a pas de soucis de variables non initialisées ou autre (ça dépend du compilo, bref).

    Tu compiles en "débug lourd", tu lance valgrind en verbose par dessus et tu vires TOUS les warnings / erreurs. Déjà, tu partiras sur une bonne base.
    Paradoxalement, ce sont les débats stériles qui se reproduisent le plus.

  12. #9
    ongojou

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    bonjour!
    je modélise un réservoir pétrolier non isotherme, pour les méthodes numériques je travaille avec les volumes finis et je programme avec Matlab sous windows. pour les instabilités numériques j y ai pensé et j'ai essayé de travailler là dessus mais ça n a pas donné grand chose. j'ai vérifié plusieurs fois la gestions des mailles volumes finis et tout est bien gérer( les mailles voisins, les faces communes, etc.). mais j'aimerai quand même que vous me fassiez des remarques sur les causes possibles des instabilités numériques qu'on peut rencontrer avec les volumes finis. Par contre pour la gestion du pas de temps, j'ai essayé plusieurs techniques rencontrées dans la littérature mais ça ne donne pas de résultat satisfaisant donc je ne sais pas si les problèmes sont de ce côté ou non. sinon en dehors de la discrétisation en temps et en espace quelles sont les autres causes des instabilités numériques?
    Merci infiniment pour vos remarques

  13. #10
    Tryss

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Nan, mais commence par faire tourner ton code sur un exemple simple avec un nombre de mailles très faibles... histoire de voir si le code est "bon"

    Parce qu'il peut y avoir des tas de causes possibles d'erreur... Donc tu fais tourner ton algorithme "pas à pas", et tu vérifies si à chaque étape les résultats sont cohérents.

  14. #11
    ongojou

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Bonsoir!
    en suivant les différentes conseils qu'on m'a donné, j'ai constaté que c'est à partir la la deuxième itération en temps que les résultats deviennent instables. Que pensez vous?
    Merci beaucoup pour vos conseils

  15. #12
    obi76

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Que je ne vois pas trop ce que vous pouvez faire avec matlab, et que je ne comprends pas trop ce que vous voulez faire.

    Matlab, c'est à la stricte limite si on veut tester un modèle (et encore), mais pour faire des runs... Il y a des langages fait pour ça, et contenant des outils de débogage autrement plus évolués que ceux de matlab...
    Paradoxalement, ce sont les débats stériles qui se reproduisent le plus.

  16. Publicité
  17. #13
    ongojou

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Tu me conseillerais quel langage par exemple? Penses tu que Matlab peut être aussi une cause de ces instabilités?
    Merci pour l’intérêt que tu portes à mes problèmes

  18. #14
    obi76

    Re : Code de calcul pour les ecoulements polyphasiques en milieu poreux

    Citation Envoyé par ongojou Voir le message
    Tu me conseillerais quel langage par exemple? Penses tu que Matlab peut être aussi une cause de ces instabilités?
    Merci pour l’intérêt que tu portes à mes problèmes
    Non, matlab ne peut pas être à l'origine. Si l'algo diverge, soit c'est qu'il y a une erreur d'implémentation quelque part (chose qu'un autre langage sera beaucoup plus à-même de détecter), soit l'algo est instable, et quelque soit le langage, il le restera.

    Ce que je conseillerai, c'est fortran... Pas difficile à prendre en main (si on ne rentre pas dans le détail), et les outils pour le calculs scientifique y sont nombreux.
    Paradoxalement, ce sont les débats stériles qui se reproduisent le plus.

Sur le même thème :

Discussions similaires

  1. CALCUL SCIENTIFIQUE ET CODE CFD en milieu poreux
    Par ongojou dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 19/07/2013, 10h54
  2. modélisation 3D d'un milieu poreux
    Par amoula2784 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 03/03/2012, 05h24
  3. Expérience d'écoulement en milieu poreux
    Par Maffyeux dans le forum Physique
    Réponses: 2
    Dernier message: 23/05/2010, 21h07
  4. Ecoulement milieu poreux
    Par mau13 dans le forum Physique
    Réponses: 0
    Dernier message: 27/04/2009, 00h12
  5. Ondes aqueuses en milieu poreux
    Par LAINUS dans le forum Physique
    Réponses: 9
    Dernier message: 18/12/2008, 15h39