Micka57130
Messages postés8Date d'inscriptionmercredi 13 mai 2015StatutMembreDernière intervention20 novembre 2015
-
Modifié par baladur13 le 20/11/2015 à 14:29
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.
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
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
kslice = [-2:2]; islice = [-2:2]; jslice = [-2:2];
%% Tracé de la solution
figure(1)
%mesh(T(k,i,j));
%slice(T,kslice,islice,jslice,'cubic');
%plot3(T(:,:,25),T(:,:,24),T(:,20,:));
title('Champ de température dans le béton')
Si vous avez des idées, elles sont les biens venues !
En vous remerciant,