Attempting to solve 2 unknown functions using matrix method
Mostrar comentarios más antiguos
My code below works, and its solving for temperature vs radial position along a cylindrical wall using nodes 1 through M with i being internal nodes within the walls boundaries. The energy generation, g, is a function of radius and that works perfectly.
The challenge is to also turn k into a function of position instead of being a constant, making two unknown functions to solve for at the same time. So solving for both temperature and k. If anyone could help me understand how to do that I'd appreciate it!
the k function is : k = 18.306 - (0.04246 * T) + (5.9733 e-5 * T^2) - (3.814 e-8 * T^3)

If anyone wants to copy & paste:
clear;
clc;
%%%%%INPUTS
Tf_in = 20; % Fluid inside [C]
h_in = 100; % HT Coeff inside [W/m^2K]
Tf_out = 100; % Fluid outside [C]
h_out = 200; % HT Coeff outside [W/m^2K]
k = 10; % Thermal conductivity [W/mK]
r_in = .1; % Internal diameter [m]
r_out = .2; % Outer diameter [m]
L = r_out-r_in; % Thickness of aluminum oxide cylinder wall [m]
a = 1e4; % Thermal diffusivity [W/m^3]
b = 2e5; % [W/m^4]
c = 5e7; % [W/m^5]
M = 50;
Dr = L/(M-1);
r = r_in:Dr:r_out;
g = a + b*r+c*r.^2;
A = zeros(M,M);
B = zeros(M,1);
A(1,1) = (-h_in*2*pi*r_in)-k*(2*pi*r_in+Dr/2)/Dr;
A(1,2) = (k*2*pi*r_in+Dr/2)/Dr;
B(1) = -h_in*2*pi*r_in*Tf_in-g(1)*r_in*pi*r_in*Dr;
for i = 2:M-1
A(i,i-1) = (k*(2*pi*r(i)-Dr/2))/Dr;
A(i,i) = (-k*(2*pi*r(i)-Dr/2))/Dr-(k*(2*pi*r(i)+Dr/2))/Dr;
A(i,i+1) = (k*(2*pi*r(i)+Dr/2))/Dr;
g(i) = a+b*r(i)+c*r(i)^2;
B(i) = -g(i)*2*pi*Dr*r(i);
end
A(M,M-1) = (k*(2*pi*r_out-Dr/2))/Dr;
A(M,M) = (-k*(2*pi*r_out-Dr/2))/Dr-h_out*2*pi*r_out;
B(M) = -g(M)*pi*r_out*Dr-h_out*2*pi*r_out*Tf_out;
T = A\B;
plot(r*1e2,T)
xlabel('Position (cm)')
ylabel('Temperature (C)')
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Numerical Integration and Differential Equations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
