no save
Assistance
Achat
News

Forum | programmation
résolution de l'equation de chaleur
mirinda , le sam. 03 mai 2008 à 22:19:32
salut ,merci beaucoup pour ton aide ,le problème c'est que dans le cas du shéma explicite j'ai programmé juste la solution initiale ,il fallait que je programme aussi la solution exacte en prenant en considération la convergence et la stabilité et aussi les erreurs mais je n'ai pas pu le faire.
Concernant le shéma implicite ,voilà ce que j'ai fait

////////////////////////////////////////////////////////////////
// schema implicite: cfl=2.
////////////////////////////////////////////////////////////////
cfl = 2. ;
dt = dx*dx*cfl ;
u = u0 ;
nt=200 ;
mat=zeros(2*nx+1,2*nx+1) ;

for i=2:2*nx
mat(i,i) = 1. + 2*dt/(dx*dx) ;
mat(i,i+1) = -dt/(dx*dx) ;
mat(i,i-1) = -dt/(dx*dx) ;
end
mat(1,1) = 1. + 2*dt/(dx*dx) ;
mat(1,2) = -dt/(dx*dx) ;
mat(2*nx+1,2*nx) = -dt/(dx*dx);
mat(2*nx+1,2*nx+1) = 1. + 2*dt/(dx*dx) ;
smat = sparse(mat) ;
spcho = chfact(smat) ; // factorisation de Cholesky

//
for n=1:nt
//
u = chsolve(spcho,u) ; // resolution du systeme lineaire

plotframe([-lg,-0.8,lg,1.6],tics);
plot2d(x,u,[1,1],"100","schema implicite 8")
plot2d(x,u0,[2,2],"100","donnee initiale 8")
xtitle('schema implicite 8, cfl=2.',' ',' ');

end
//
j'ai utilisé la factorisation de cholesky ,mais dans ce cas aussi j'ai traité que la solution initiale .
Dans les deux programmes ca ne marche pas bien ,je ne sais pas pourquoi .j'attend tes propositions avec patience,merci.
PrécédentSacabouffe
mai 08
Sacabouffe
mai 08
Suivant
REPONSES
Sacabouffe
avr. 08
mirinda
avr. 08
Sacabouffe
avr. 08
mirinda
avr. 08
Sacabouffe
mai 08
mirinda
mai 08
Sacabouffe
mai 08
mirinda
mai 08
Sacabouffe
mai 08
Sacabouffe
mai 08
Version Web
Réalisé par RedShift
no save