Está en la página 1de 2

Estado estacionario

function [T, r, z] = conductiveEquationCylindrical(r_init, r_end, z_init, z_end, Nr, Nz,


alpha, Q)
% conductiveEquationCylindrical resuelve la ecuación de conducción en coordenadas
cilíndricas
% T = conductiveEquationCylindrical(r_init, r_end, z_init, z_end, Nr, Nz, alpha, Q)
resuelve
% la ecuación de conducción en coordenadas cilíndricas para una placa
% conductora rectangular con un núcleo aislante.
% Los parámetros de entrada son:
% - r_init: posición inicial en el eje r
% - r_end: posición final en el eje r
% - z_init: posición inicial en el eje z
% - z_end: posición final en el eje z
% - Nr: número de intervalos en la dirección r
% - Nz: número de intervalos en la dirección z
% - alpha: coeficiente de difusión térmica
% - Q: tasa de generación de calor en la placa

dr = (r_end - r_init) / Nr;


dz = (z_end - z_init) / Nz;

% Inicializar la matriz de temperaturas


T = zeros(Nr+1, Nz+1);

% Condiciones de contorno
T(:, 1) = 100; % Temperatura constante en la frontera izquierda
T(:, end) = 0; % Temperatura constante en la frontera derecha
T(1, :) = 0; % Temperatura constante en la frontera inferior
T(end, :) = 0; % Temperatura constante en la frontera superior
% Iterar para resolver la ecuación de conducción
for i = 2:Nr
for j = 2:Nz
% Calcular el término de fuente
S = Q * dr * dz / alpha;

% Calcular la temperatura en el punto (i, j)


T(i, j) = (1/(1 + 2*dr^2*(1 + r_init + (i-1)*dr)))*(dr^2*(1 + r_init + (i-
1)*dr)*(T(i+1, j) + T(i-1, j)) + dz^2*(T(i, j+1) + T(i, j-1)) + S);
end
end

% Calcular las posiciones r y z


r = r_init:dr:r_end;
z = z_init:dz:z_end;
end

También podría gustarte