bonsoir,
j'essaie de resoudre par differences finies le probleme suivant:
un mur de hauteur 2m, d'epaisseur 0.5m et de longueur 6m.
à la base de l'un des deux cotés du mur on a un radiateur de hauteur 0.2m appliquant une T)cte de 50°C.
le mur est à l'equateur, dirigé est/west, le radiateur est coté west.
le but est de connaitre la T° en chaque point du volume du mur au cours de l'evolution du soleil.
probleme plan.
pour les conditions aux limites:
domaine d5 correspondant au radiateur
domaine d1 correspondant à la base du mur
domaine d2 correspondant à la face est
domaine d3 correspondant a la face superieure
domaine d4 correspondant à la partie destant de la face west qui n'est pas exposée au radiateur.

j'ai esaayé de resoudre ça comme suit:
sur d1, equation de la chaleur à une dimension
sur d5, T° cte
sur d2,d3, et d4, equation de stefan et equation de la chaleur à une dimension (pour respecter la continuité)
dans le volume, equation de la chaleur à deux dimensions.

voici le resultat, sous matlab:
Code:
max=60;
l=6;
h=2;
e=0.5;
n1=1/49;
n2=1/199;
n3=1/179;
lambdab=1.8;
lambdaa=0.024;
lambdat=0.75;
rho=2300;
c=800;
k=ones(50,200) * 273.13;
sigma=5.67*10^(-8);t0=298.13;
E1=1368;
%t1=323.13;
p0=t0^4*sigma;
s=l*e;
emis=0.9;

omega=ones(50,200) * 298.13;
d1=ones(50,1)*298.13;%base
d1(1,1)=298.13;
d1(50,1)=323.13;
d2=ones(1,200)*298.15;%west
d3=ones(50,1)*298.15;%haut
d4=ones(1,180)*298.15;%est
for m=1:1:max
        for i=2:1:49
            d1(i,1)=d1(i,1)+(-4*d1(i,1)+d1(i-1,1)+d1(i+1,1))/(2+n1*rho*c/lambdab);
        end
end
d5=ones(1,20)*323.13;%est/radiateur
for a=0:1:180
    if a<90
        t2=(((298.13^4)/2)+E1/(sigma*cos(a)))^0.25;
        d2=ones(1,200)*t2;%west
        t3=(((298.13^4)/2)+E1/(sigma*cos(90-a)))^0.25;
        d3=ones(50,1)*t3;%haut
        if a<45
           d3(1,1)=t2;
           for m=1:1:max
                for i=2:1:49
                   d3(i,1)=d3(i,1)+(-4*d3(i,1)+d3(i-1,1)+d3(i+1,1))/(2+n1*rho*c/lambdab);
                end
           end
        else           
           d2(1,1)=t3;
           for m=1:1:max
                for j=2:1:179
                   d2(1,j)=d2(1,j)+(-4*d2(1,j)+d2(1,j-1)+d2(1,j+1))/(2+n2*rho*c/lambdab);
                end
           end           
        end        
        t4=(((298.13^4)/2)+E1/(sigma*cos(180-a)))^0.25;
        d4=ones(1,180)*t4;
    else
        t4=(((298.13^4)/2)+E1/(sigma*cos(180-a)))^0.25;
        d4=ones(1,180)*t4;%west
        t3=(((298.13^4)/2)+E1/(sigma*cos(a-90)))^0.25;
        d3=ones(50,1)*t3;%haut
        if a<135
           d4(0,1)=t3;
           d4(180,1)=50;
           for m=1:1:max
                for j=2:1:179
                   d4(1,j)=d4(1,j)+(-4*d4(1,j)+d4(1,j-1)+d4(1,j+1))/(2+n3*rho*c/lambdab);
                end
           end    
        else
           d3(50,1)=t4;
           for m=1:1:max
                for i=2:1:49
                   d3(i,1)=d3(i,1)+(-4*d3(i,1)+d3(i-1,1)+d3(i+1,1))/(2+n1*rho*c/lambdab);
                end
           end 
        end
        t2=(((298.13^4)/2)+E1/(sigma*cos(a)))^0.25;
        d2=ones(1,200)*t2;%west
    end
    d6=ones(1,200)*0;
    d6(1,1:20)=d5;
    d6(1,21:200)=d4;
    omega(50,:)=d6;
    omega(:,200)=d1;
    omega(1,:)=d2;
    omega(:,1)=d3;
    for j=2:1:199
        for i=2:1:49
            omega(i,j)=omega(i,j)+(-4*omega(i,j)+omega(i-1,j)+omega(i,j-1)+omega(i+1,j)+omega(i,j+1))/(4+n1*n2*rho*c/lambdab);
        end
    end    
    omegac=omega-k;
    %plot(omegac);
end
je ne vois pas d'erreur de programmation, mais le programme ne marche pas. pourriez vous m'aider? merci
et comment afficher le domaine omega (graphiquement) pour rendre compte de la T° à chaque impementation de "a", autrement dit pour que ça varie en fct du temps?
merci

http://forums.futura-sciences.com/thread144409.html