Bonjour à tous,
Je suis actuellement sur un projet de fin d'étude qui consiste à modéliser la thermo-maturation du béton. Plus précisément, la température T(t,x,y) qui s'échappe durant le durcissement du béton.
Pour ce faire, je suis passé par des différences finies, méthode qui consiste à différencier les variables puis d'approximer les équations aux dérivées partielles.
L'équation obtenue est relativement dure à avaler mais je l'ai implémentée sur Matlab. Le problème se situe au niveau de la visualisation des résultats, en effet je souhaite visualiser le profil de température. J'ai donc essayé avec la fonction mesh, cependant cela s'avère compliqué pour mon cas et je n’arrive pas à situer le problème.
Je suis donc passé à la fonction slice qui me permet de visualiser quelque chose, malheureusement je ne sais pas ce que je visualise. Je ne comprend pas trop l'utilité de slice.
Je vous mets à disposition mon code Matlab.
Si vous avez des idées, elles sont les biens venues !Code:close all clear all clc %% Déclaration des constantes N = input ('donnez le nombre de noeud N:'); M = input('donnez le nombre de noeud M:'); tfinal = 100; % interval de temps delta_t = tfinal/(M+1); h = 1/(N+1); B = 10; Ea = 10; % Energie d'arrehnius de merde R = 8.314; % Constante des gaz parfaits lambda = 1.58; % Conductivité thermique en [W*m^(-1)*K^(-1)] Q = 1500; % Quantité de chaleur due aux récations d'hydratations C = 880; % Capacité thermique massique en [J*kg^(-1)*K^(-1)] ro = 2000; % Masse volumique du béton en [kg*m^3] A = lambda/(ro*C); %% Discrétisation for i=1:N+1 x(i) = i*h; end for k=1:M+1 t(k) = k*delta_t; end for j=1:N+1 y(j) = j*h; end %% Conditions initiales + Conditions aux limites for k=2:1:M T(k,N,N) = 2; end for i=1:1:N T(1,i,1) = 25; end for j=1:1:N T(1,1,j) = 10; end %% Solution approchée for k = 2:1:M-2 for i = 2:1:N-2 for j = 2:1:N-2 ((T(k+1,i,j) - T(k,i,j))/delta_t) -(A/h^2)*(T(k,i+1,j) + T(k,i-1,j) + T(k,i,j+1) + T(k,i,j-1) - 4*T(k,i,j)) == B + (B*Ea^2/R^2)*(1/T(k,i,j)); %T(k,i,j) = T(k+1,i,j)/(1 - (4*A*delta_t)/h^2) +((A/h^2)*(T(k,i+1,j)+T(k,i-1,j)+T(k,i,j+1)+T(k,i,j-1)))/(1 - (4*A*delta_t)/h^2); % Cette équation ne comporte pas le second membre. end end end T(k,i,j) kslice = [-2:2]; islice = [-2:2]; jslice = [-2:2]; %% Tracé de la solution figure(2) %ezmesh(T(k,i,j)); slice(T,kslice,islice,jslice,'cubic'); title('Champ de température dans le béton')
En vous remerciant,
Cordialement,
Micka !
-----