scilab : equation de la chaleur - shéma explicite
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

scilab : equation de la chaleur - shéma explicite



  1. #1
    invite1a15d893

    scilab : equation de la chaleur - shéma explicite


    ------

    Bonjour;
    j'essai de programmer l'équation de la chaleur (schéma explicite) dans scilab et ça bloque sur une ligne et je trouve pas quoi faire!! j'ai beau essayé de résoudre le problème j'y arrive pas!
    voila la programme si quelqu'un s'y connait un petit peu en scilab, l'erreur se trouve sur la ligne 43 en rouge ci dessous (multiplication incohérentes)


    M=input("Donner le nombre de discrétisation de x");
    N=input("Donner le nbre de déscritisation de t ");
    alpha =input ("Donnez la diffusité thermique (alpha>0) :");
    k =1/N;
    h =1/M;
    a =(alpha*k)/(h^2);
    //test sur la stablité du shéma
    while (a>0.5) then
    disp("shcéma instable")
    M=input("donner le nombre de points de discrétisation de x");
    N=input("donner le nombre de points de discrétisation de t ");
    alpha =input ("donnez la diffusité thermique (alpha>0) :");
    k =1/N;
    h =1/M;
    a =(alpha*k)/(h^2);
    end
    //création de la matrice B
    B =zeros(M-1,M-1);
    x =zeros(M,1);
    for i=1:M-1
    B(i+1,i)=a;
    B(i,i+1)=a;
    B(i,i)=1-2*a;
    end
    B(M-1,M-1)=1-2*a;
    for i=1 : M+1
    x(i) =(i-1)*h;
    end
    //condition initiale sur x
    for i=1:M
    T(i,1)=sin((%pi)*x(i));
    end
    T(M+1,1)=0;
    //Conditions aux limites sur t
    for i=1:N+1
    T(1,i)=0;
    T(M+1,i)=0;
    end
    //Calcul de la température à chaque instant et en tous les points
    for j=2:N+1
    T(2:M,j)=B*T(2:M,j-1);
    end
    for i=2:N
    plot2d(x,T(:,i),i);
    end

    -----

  2. #2
    phryte

    Re : scilab : equation de la chaleur - shéma explicite

    Bonjour.
    que prends-tu pour M,N et alpha ?

  3. #3
    invite1a15d893

    Re : scilab : equation de la chaleur - shéma explicite

    bonjour;
    le problème est la resoluution de l'équation de la chaleur : ∂T/∂t – α ∂²T/∂x²= f(x, t)
    aplha est α
    M et N sont juste deux varible pour désigner respectivement x(la point) et t(la température).

    l'erreur est surement du a une mauvaise déclaration de matrice mais je trouve pas où exactement

  4. #4
    Rincevent

    Re : scilab : equation de la chaleur - shéma explicite

    s'lut,

    je connais pas scilab, mais tu devrais pas mettre quelque chose dans ton B quand tu l'utilises pour ton produit ? là ça me donne l'impression que pour T tu as bien M-1 éléments pris (pour j fixé) mais pour B, si j'étais la bestiole je saurais pas comment gérer...
    Ceux qui manquent de courage ont toujours une philosophie pour le justifier. A.C.

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

    Re : scilab : equation de la chaleur - shéma explicite

    c'est bon j'ai trouvé la faute c'est lors de la création de la matrice B :

    //création de la matrice B
    B =zeros(M-1,M-1);
    x =zeros(M,1);
    for i=1:M-1
    B(i+1,i)=a;
    B(i,i+1)=a;
    B(i,i)=1-2*a;
    end


    il faut mettre for i=1:M-2

    pour que la matrice B soit de lordre de M-1

    c tout; et merci pour votre aide

  7. #6
    Fanch5629

    Re : scilab : equation de la chaleur - shéma explicite

    Bonjour.

    Tant mieux si tu as trouvé la source de l'erreur.

    Un petit conseil, toutefois : essaie de passer à un schéma implicite.

    Tu ne sera plus contraint sur le choix des pas de calcul puisqu'un tel schéma est toujours stable dans ce type de problème.

    La formulation des termes de la matrice B diffère très peu de celle d'un schéma explicite mais la formule d'itération est différente : Tn = B-1 Tn-1. On peut calculer l'inverse de B une fois pour toute ou, plus rapide, utiliser sa décomposition LU.

    Enfin, si le pas de discrétisation spatiale devient assez fin, et donc la dimension de B importante, il y a intérêt à travailler avec une matrice creuse. Le calcul sera encore plus rapide.

    @+

Discussions similaires

  1. Equation de la chaleur
    Par invite852c2439 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 28/01/2009, 10h05
  2. Equation de la chaleur 1D
    Par Koranten dans le forum Physique
    Réponses: 7
    Dernier message: 06/12/2008, 18h53
  3. Equation de la chaleur
    Par invite12de5372 dans le forum Physique
    Réponses: 4
    Dernier message: 15/05/2008, 15h12
  4. [exo] equation de chaleur
    Par invitebfd2308e dans le forum Physique
    Réponses: 0
    Dernier message: 14/12/2006, 18h12
  5. équation de la chaleur linéaire
    Par edpiste dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 19/09/2006, 12h31