bonsoir,
j'essaie de resoudre par differences finies le probleme suivant:
pour les conditions aux limites: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.
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:
je ne vois pas d'erreur de programmation, mais le programme ne marche pas. pourriez vous m'aider? merciCode: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
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
-----