Méthode des différences finies
Répondre à la discussion
Affichage des résultats 1 à 28 sur 28

Méthode des différences finies



  1. #1
    HanaChan

    Méthode des différences finies


    ------

    Bonjour tt le monde,

    SVP qqn aurait-il une idée sur la résolution de l'équation ci-dessous à l'aide de la méthode des différences finies ?

    a * d²u /dx² + b * du/dx + c*u = 0 avec x appartenant à [0,L].

    Merci de votre aide

    -----

  2. #2
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonjour,

    D'après ce que je comprend, il s'agit d'une équation différentielle homogène de second ordre à coefficients constants. Il y a donc une procédure pour trouver l'expression des solutions analytiques (il y en a une infinité).

    Si vous souhaitez la résoudre par la méthode des différences finies, il vous faut discrétiser les dérivées premières et secondes (voyez par exemple si wikipédia). Cependant, il vous faut aussi les conditions frontières.

  3. #3
    HanaChan

    Re : Méthode des différences finies

    Bonjour Paraboloide_Hyperbolique,

    Merci de votre réponse. Effectivement, je voudrais résoudre l'équation par la méthode des différences finies et il y'a bien des conditions frontières que j'avais oublié de mentionner.

    Voici ce que j'ai fait jusqu'à présent, mais je bloque sur l'inversibilité de la matrice A.

    Nom : Capture.PNG
Affichages : 666
Taille : 409,9 Ko

  4. #4
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Ok, je vois que vous avez déjà fait une bonne partie du travail.

    Il me semble qu'il y a juste une petite confusion dans les indices et dans l'application des conditions frontières dans le modèle différences finies.

    Pour plus de clarté, je suppose que vous utilisez N points de discrétisations numéroté de 1 à N. Dans ce cas, posons les conditions frontières comme vous l'avez fait, mais en changeant légèrement la notation afin d'éviter une confusion et .

    Par ailleurs, on a alors le pas de discrétisation qui vaut .

    Avec les conventions ci-dessus, votre équation discrète me semble à priori correcte (pas le temps de vérifier en profondeur). Dans la représentation matricielle de votre équation, le membre de droite ne contient pas d'inconnue, mais des zéros sauf pour le premier et le dernier termes qui valent respectivement et

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

    Re : Méthode des différences finies

    Merci encore une fois. Juste une question concernant la matrice A : je vois bien qu'elle est tridiagonale, mais comment faire pour m'assurer qu'elle est inversible ?

  7. #6
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Je dirais que l'on peut s'en assurer indirectement (et sans calcul) en constatant que l'équation différentielle et les conditions initiales satisfont au problème de Cauchy qui garanti dans ce cas l'existence et l'unicité d'une solution.

  8. #7
    HanaChan

    Re : Méthode des différences finies

    Ok, merci bien

  9. #8
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    J'espère que vous allez bien

    SVP j'ai une autre équation à résoudre cette fois-ci (tjs avec les diff finies) :

    ∂/∂x (a(x) ∂u/∂x)+c u= ε ∂u/∂t ,x ϵ [0,1] et t ϵ [0,T]

    u(0,t) = 2 ; u(1,t) = 1 ; u(x,0) = 1.5

    Je me demandais comment faire pour choisir l'approximation adéquate (décentrée à droite, à gauche, ...) pour chaque dérivée ? Ou bien, je peux choisir celle que je veux ?!

  10. #9
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonsoir,

    Il s'agit d'une équation de diffusion (+ un terme linéaire). Du point de vue spatial (variable x), la quantité diffusée (fonction u) l'est dans toutes les directions de l'espace (ici -x et +x). Il est dès-lors plus adéquat de choisir une différence centrée qui ne favorise aucune direction.

  11. #10
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    Merci de votre réponse

    J'ai appliqué le schéma d'approximation centrée pour ε = 0. Voici ce que j'ai obtenu :

    Nom : Capture.PNG
Affichages : 436
Taille : 629,5 Ko

    (Je suppose que j'utilise N+2 points de discrétisation numérotés de 0 à N+1)

    A ce que je vois, j'ai là N-2 (i=2, 3, ..., N-1) équations pour N (u1, u2, ...,uN) inconnues, ou bien j'ai commis une erreur quelque part ?

  12. #11
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonjour,

    Désolé pour le délais de réponse.

    Discrétiser deux fois de suite une dérivée seconde n'est pas toujours une bonne idée. Je vous recommande de réécrire le premier membre de votre terme de gauche ainsi:



    Utilisez alors la discrétisation pour la dérivée première que vous avez employée, et pour la dérivée seconde la formule de discrétisation:

  13. #12
    gg0
    Animateur Mathématiques

    Re : Méthode des différences finies

    Attention, il manque un a(x) dans la première égalité :



    Cordialement.

  14. #13
    HanaChan

    Re : Méthode des différences finies

    Merci, je vais l'essayer

  15. #14
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Citation Envoyé par gg0 Voir le message
    Attention, il manque un a(x) dans la première égalité :



    Cordialement.
    Merci de la correction

  16. #15
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    J'ai appliqué ce que vous avez dit et j'ai obtenu les courbes ci-dessous pour N=10, N=100, N=1000 et N=10000 pour ε=0 et a(x)=x² avec x ϵ [0,1]. Les conditions de bord sont u(0)=2 et u(1)=1. Je me demandais comment faire pour m'assurer que la solution numérique est correcte du moment qu'il y'a pas moyen de la comparer avec la solution analytique ?

    1.PNG
    2.PNG
    3.PNG
    4.PNG

    Merci de votre aide

  17. #16
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonjour,

    En demandant à Wolfram Alpha (https://www.wolframalpha.com/input/?...u%5Bx%5D,+x%5D), j'obtiens un solution analytique générale de la forme:



    et sont des constantes dépendantes des conditions frontières et et sont des constantes positives dépendantes du paramètre c (supposé être un réel positif).

    Cette solution n'est pas définie en 0.

    Je vois trois possibilités: le domaine considéré n'est pas bon, l'équation différentielle contient une erreur ou le paramètre c n'est pas positif.

  18. #17
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    Merci de votre réponse

    Effectivement, le paramètre c qu'on m'a demandé de choisir est égal à -1.

  19. #18
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    Je viens de déceler un signe moins qui manquait dans mon code ... Voici les nouvelles courbes, toujours pour c = -1 :

    1.PNG
    2.PNG
    3.PNG
    4.PNG

    Qu'en pensez-vous ?

    Merci de votre aide

  20. #19
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonjour,

    Je pense que c'est bon. Cependant, avec c = -1, il me semble que la solution analytique tend vers 0 en x = 0 (c'est d'ailleurs ce que fait votre solution numérique). Je me demande s'il est dès lors pertinent d'imposer la condition frontière u(0) = 2.

    Solution analytique pour c =-1:



    Où A et B sont deux constantes dépendantes des conditions frontières.

  21. #20
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    Je vois, merci de votre réponse

  22. #21
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    SVP comment écrire cette équation : (∂x² ∂u/∂x)/∂x - u= ∂u/∂t sur https://www.wolframalpha.com/example...ial-equations/

    J'ai essayé cette écriture https://www.wolframalpha.com/input/?...,t%5D,+x,+t%5D mais il semble pas reconnaître le terme de la dérivée par rapport au temps ...

  23. #22
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonjour,

    Voyez l'aide: https://reference.wolfram.com/language/ref/NDSolve.html (le paragraphe: "Solve the heat equation in one dimension" donne un exemple).

  24. #23
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    Ok, merci

  25. #24
    HanaChan

    Re : Méthode des différences finies

    Je suis vraiment désolée pour le dérangement, j'ai essayé de suivre l'exemple que vous avez mentionné mais ça n'a rien donné !

    https://www.wolframalpha.com/input/?...Bx,+0,+1%7D%5D

    Je comprends vraiment pas pourquoi ...

  26. #25
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Je viens de tester: il s'agit d'une limitation de la version gratuite de Wolfram Alpha qui ne permet pas le calcul.

  27. #26
    HanaChan

    Re : Méthode des différences finies

    Ah, je vois. Merci en tout cas

  28. #27
    HanaChan

    Re : Méthode des différences finies

    Bonjour,

    J'espère que vous allez bien.

    J'avais résolu (toujours par la méthode des différences finies) l'équation suivante :

    -d²u /dx² + 0.1 du/dx + u = 0 pour x appartenant à [0,1], avec u(1) = 2 et u(1) = 1.

    Pour un nombre de noeuds N = 10, 100 , 1000, j'obtiens deux courbes confondues pour les solutions numérique et analytique, mais pour N = 10000 par exemple, ce n'est plus le cas (voir figure ci-dessous).

    Nom : 1.png
Affichages : 310
Taille : 17,7 Ko

    Auriez-vous une idée pourquoi les courbes ne restent plus confondues?

    Merci de votre aide.

  29. #28
    Paraboloide_Hyperbolique

    Re : Méthode des différences finies

    Bonjour,

    Je soupçonne une accumulation d'erreurs d'arrondis (quoique pour N = 10000 cela devrait encore aller. Il faudrait voir votre code pour pouvoir en dire plus). En effet, pour N grand, le pas h devient petit. Lors du calcul des différences finies (comme (f(x+h)-f(x)) / h) le numérateur et le dénominateur sont tout les deux proches de 0. Si l'on utilise pour le calcul des nombres en virgule flottante (comme dans le cas de Matlab), il peut avoir perte des chiffres significatifs. Le résultat obtenu par ce calcul devient alors incohérent.

Discussions similaires

  1. un problème sur méthode de différences finies
    Par collo dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 18/10/2015, 19h42
  2. Discrétisation par la méthode des différences finies
    Par invite7013f439 dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 08/03/2011, 11h06
  3. Methode differences finies et Technique polynomiale
    Par inviteecefb678 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 01/11/2009, 16h24
  4. methode des differences finies
    Par jonh35 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 26/07/2009, 14h12
  5. Réponses: 8
    Dernier message: 20/08/2007, 21h39