Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/06/2013, à 09:41

elhouyoun

code de calcul sur les ecoulement polyphasiques en milieu poreux

Bonjour Tout le monde!
je suis doctorant en physique et ma thèse consiste à développer un code de calcul pour écoulements polyphasiques non isothermes en milieu poreux. Les méthodes numériques que j'utilise sont les volumes finis, Pratiquement j'ai terminé les codes(je programme en Matlab) mais j'ai un problèmes avec les résultats:
-il y a toujours des nombres complexes qui apparaissent dans mes résultats (température, pressions, saturations,..) ce qui n a aucun sens physique, ou parfois des formes indéterminées apparaissent (des NaN avec Matlab),
après plusieurs vérification des différents sous programmes, des discrétisations des équations, des différentes équations intervenant dans mon modèle, tout me semble correcte, donc je ne comprends pas ce qui cloche! je sais que les formes complexes apparaissent avec Matlab s'il y a une racine ou un log d'un nombre négatif ce qui m'a permis de conclure que le problème des complexes peut venir de la température, les Nan sont des formes indéterminés et ces derniers je n'arrive pas à savoir d'où ils peuvent venir. et pour la température négative je n'arrive pas non plus à comprendre pourquoi une valeur négative(normalement ça ne doit être le cas puisque il s'agit d'injecter de la vapeur à haute température dans un réservoir pétrolier).
Ainsi, j'aurai besoin de votre aide pour avoir des pistes de réflexion  à ces problèmes car ça fait déjà plusieurs moi que je tourne sur ce problème.
Toute Proposition et la bienvenue!
Est ce que vous pensez que je dois changer de langage de programmation? si oui, entre C++ et Fortran vous me conseillez  lequel?
Merci à Tous!

Hors ligne

#2 Le 30/06/2013, à 10:19

toitoinebzh

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

salut,

drôle d'endroit pour parler de ce genre de sujet ...

j'utilise matlab au quotidien et je ne pense pas que changer de langage soit la solution à ton problème, le seul intérêt que tu peux avoir en changeant de langage est soit un gain en temps de calcul ou en écriture de programme (tu as du écrire toi même la gestion des volumes finis sous matlab par exemple, j'imagine ?)

à mon avis le soucis est soit du coté du programme soit du coté du modèle (voire du doctorant wink on est tous passer par là)

à partir de là il y a plein de choses à vérifier, ne lance pas ton programme en entier vérifie étape par étape, par exemple
- les unités (degré ou kelvin ?)
- ta gestion des volumes finis fonctionne t elle bien ? a t elle été testé auparavant ?
- es tu sur que la solution existe ? c'est peut être pas pour rien que tu as une solution imaginaire ?
- il y a peut être plusieurs solutions, il faut piocher la réelle ...

je pense vraiment a un problème de programmation, les nan sont  typiques d'une valeur quasi infinie ou d'une division par zéro, ce qui n'est pas bon signe

fais attention aussi à ta discrétisation, en temps notamment il faut être sur de converger vers la bonne solution selon le schéma que tu utilises

en bref, exécute ton programme ligne pas ligne (matlab est vraiment bien pour ça) et trouve à partir de laquelle "ça commence à déconner"

Hors ligne

#3 Le 30/06/2013, à 10:20

ssdg

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Je ne connais pas matlab, mais lorsque j'ai des problèmes de ce type (en ce moment, c'est coordonnées à titre perso et calcul de puissance d'émissions (desquels je n'ai qu'une compréhension infime), je passe par un debuger (en gros, je fais pause à une instruction et j'évalue les portions de mon équation petit à petit pour trouver la partie du calcul qui n'a pas de sens. (un peu comme tes soucis, mais en version jouet)


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#4 Le 02/07/2013, à 18:22

elhouyoun

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Merci les amis pour vos conseils, en les suivants j'ai réussi à détecter l'un des causes possibles du problème, j'ai remarqué que à partir de la deuxième itération en temps les températures deviennent négatives  et certaines valeurs tendent presque vers zeros, donc là je suis entrain d'essayer de comprendre pourquoi. vos conseils m'ont beaucoup aider pour ça, mais si vous avez d'autre remarque à me faire je vous en serai infiniment reconnaissant
Merci à Tous!

Hors ligne

#5 Le 09/07/2013, à 17:55

boutor

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Si tu utilises de la vapeur, tu dois être en compressible aussi.
Je ne sais pas quel comportement tu as donné à ton fluide.

Commence éventuellement par la loi des gaz parfaits c'est plus robuste que les lois en PV^(gamma).
En tout cas si tu as rho linéaire à T ou P (comme donné dans certains bouquins de propriétés des gaz), c'est sûr l'erreur de modélisation est là.

Hors ligne

#6 Le 09/07/2013, à 21:38

elhouyoun

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Merci M.boutour pour tes remarques et tes conseils, bien évidemment je travaille sur un modèle compressible; pour les  équations d’état, j'ai utilisé une équation d'état cubique (Peng-Robinson), penses tu que cette équation peut elle être une cause, de ces problèmes que je rencontre?, quand aux rho, c'est seulement pour la phase huile que j'utilise un rho linéaire en T et P, par contre pour la vapeur j'ai utilisé la loi suivante:rho=P/(RTZ);
R est la constante des Gaz parfaits et Z la racine de l'équation d’état cubique; pour la phase eau, j'ai utilisé un rho exponentielle en T et P; qu'en penses tu?
je te remercie d'avance pour tes remarques et conseils

Hors ligne

#7 Le 09/07/2013, à 21:53

boutor

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Difficile de faire un audit comme ça.
La température négative doit probablement venir d'une autre grandeur qui devient négative.
T négatif peut venir d'un rho ou d'un P négatif.

A vue de nez Peng-Robinson semble pouvoir devenir négative, quel est son domaine de validité?
Je te conseillerais de passer en gaz parfait pour vérifier ce point : rho P = r T.

Hors ligne

#8 Le 10/07/2013, à 07:12

elhouyoun

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Merci pour les remarques et conseils .
Je vais les suivre pour voir ce que ça donnera, je te mettrai au courant de l'évolution.
Merci encore

Hors ligne

#9 Le 10/07/2013, à 20:24

elhouyoun

Re : code de calcul sur les ecoulement polyphasiques en milieu poreux

Bonjour!
J'ai utilisé l'équation d’état des gaz parfait, les mêmes erreurs apparaissent. Je ne sais vraiment pas ce qui cloche, je serai toujours heureux de recevoir vos remarques et conseils,car ce problème m'a bloqué il y a plusieurs moi déjà et je ne peux pas trop compté sur mon directeur de thèse
Merci!

Hors ligne