example 4.3 script

%%HTProjEX4point3

clear

clc

% given values

k = 25; % W/m-K

dx = 0.001; % m

h_outer = 1000; % W/m^2-K

h_inner = 200; % W/m^2-K

T_outer = 1700; % K

T_inner = 400; % K

% blank matrix A and constant vector C

A = zeros(21,21);

C = zeros(21,1);

% row then column

% node 1

A(1,1) = -(2+(h_outer*dx/k));

A(1,2) = 1;

A(1,7) = 1;

C(1) = -(h_outer*dx/k)*T_outer;

% node 2

A(2,1) = 1;

A(2,2) = -2*((h_outer*dx/k) + 2);

A(2,3) = 1;

A(2,8) = 2;

C(2) = -2*(h_outer*dx/k)*T_outer;

% node 3

A(3,2) = 1;

A(3,3) = -2*((h_outer*dx/k) + 2);

A(3,4) = 1;

A(3,9) = 2;

C(3) = -2*(h_outer*dx/k)*T_outer;

% node 4

A(4,3) = 1;

A(4,4) = -2*((h_outer*dx/k) + 2);

A(4,5) = 1;

A(4,10) = 2;

C(4) = -2*(h_outer*dx/k)*T_outer;

% node 5

A(5,4) = 1;

A(5,5) = -2*((h_outer*dx/k) + 2);

A(5,6) = 1;

A(5,11) = 2;

C(5) = -2*(h_outer*dx/k)*T_outer;

% node 6

A(6,5) = 1;

A(6,6) = -(2+(h_outer*dx/k));

A(6,12) = 1;

C(6) = -2*(h_outer*dx/k)*T_outer;

% node 7

A(7,1) = 1;

A(7,7) = -4;

A(7,8) = 2;

A(7,13) = 1;

C(7) = 0;

% node 8

A(8,2) = 1;

A(8,7) = 1;

A(8,8) = -4;

A(8,9) = 1;

A(8,14) = 1;

C(8) = 0;

% node 9

A(9,3) = 1;

A(9,8) = 1;

A(9,9) = -4;

A(9,10) = 1;

A(9,15) = 1;

C(9) = 0;

% node 10

A(10,4) = 1;

A(10,9) = 1;

A(10,10) = -4;

A(10,11) = 1;

A(10,16) = 1;

C(10) = 0;

% Node 11

A(11,5) = 1;

A(11,10) = 1;

A(11,11) = -4;

A(11,12) = 1;

A(11,17) = 1;

% node 12

A(12,6) = 1;

A(12,11) = 2;

A(12,12) = -4;

A(12,18) = 1;

C(12) = 0;

% node 13

A(13,7) = 1;

A(13,13) = -4;

A(13,14) = 2;

A(13,19) = 1;

C(13) = 0;

% node 14

A(14,8) = 1;

A(14,13) = 1;

A(14,14) = -4;

A(14,15) = 1;

A(14,20) = 1;

C(14) = 0;

% node 15

A(15,9) = 2;

A(15,14) = 2;

A(15,15) = -2*(3+(h_inner*dx/k));

A(15,16) = 1;

A(15,21) = 1;

C(15) = -2*(h_inner*dx/k)*T_inner;

% node 16

A(16,10) = 2;

A(16,15) = 1;

A(16,16) = -2*((h_inner*dx/k) + 2);

A(16,17) = 1;

C(16) = -2*(h_inner*dx/k)*T_inner;

% node 17

A(17,11) = 2;

A(17,16) = 1;

A(17,17) = -2*((h_inner*dx/k) + 2);

A(17,18) = 1;

C(17) = -2*(h_inner*dx/k)*T_inner;

% node 18

A(18,12) = 1;

A(18,17) = 1;

A(18,18) = -(2+(h_inner*dx/k));

C(18) = -(h_inner*dx/k)*T_inner;

% node 19

A(19,13) = 1;

A(19,19) = -2;

A(19,20) = 1;

% node 20

A(20,14) = 1;

A(20,19) = 1;

A(20,20) = -4;

A(20,21) = 2;

% node 21

A(21,15) = 1;

A(21,20) = 1;

A(21,21) = -(2+(h_inner*dx/k));

C(21) = -2*(h_inner*dx/k)*T_inner;

% solve for nodal temperatures

T = A \ C;

% results

disp('Nodal temperatures for Example 4.3 (K):')

for n = 1:21

fprintf('T%-2.0f = %8.2f K\n', n, T(n))

end

example 5.11

light bulb

STEADY STATE

%%V3NodeChad

clear

clc

% given values

k_fil = 30; % W/m-K

k_air = 0.026; % W/m-K

k_glass = 1.4; % W/m-K

r = 2.286*10^-5; %m

L = 0.5334; %m

% P = 57;

% Volume = pi*(r^2)*L;

% q_dot = P/Volume;

b = .01; % m

dx = 0.002; % m

V_gen = 3 b(dx)^2; % nodes 1–3 volume (unit depth)

q_dot = 40 / V_gen; % use bulb power, NOT filament volume

%q_dot = 0;

h_conv = 10; % W/m^2-K (example)

epsilon_glass = 0.90; % assumption, choose your value

sigma = 5.67e-8; % W/m^2-K^4

T_surface = 295; % K

T_surroundings = 295; % K

T_base = T_surroundings;

dy = dx;

h_rad = epsilon_glass 5.67e-8 (T_surface + T_surroundings) * (T_surface^2 + T_surroundings^2);

T_inf = T_surroundings;

h_outer = 1000; % W/m^2-K

h_inner = 200; % W/m^2-K

T_outer = 1700; % K

T_inner = 400; % K

% blank matrix A and constant vector C

% row x column

A = zeros(15,15);

C = zeros(15,1);

% node 1

A(1,1) = -(3*k_fil+k_air);

A(1,2) = k_fil;

A(1,7) = k_air;

C(1) = -2*k_fil*T_base - q_dot*(dx)^2 ;

% node 2

A(2,1) = k_fil;

A(2,2) = -(2*k_fil + k_air);

A(2,3) = k_fil;

A(2,8) = k_air;

C(2) = -q_dot*(dx)^2;

% node 3

A(3,2) = k_fil;

A(3,3) = -(k_fil + 2*k_air);

A(3,4) = k_air;

A(3,9) = k_air;

C(3) = -q_dot*(dx)^2;

% node 4

A(4,3) = k_fil;

A(4,4) = -(k_air + k_glass + k_fil);

A(4,5) = k_glass;

A(4,10) = k_air;

C(4) = 0;

% node 5

A(5,4) = k_air;

A(5,5) = -(k_air + 2*k_glass);

A(5,6) = k_glass;

A(5,11) = k_glass;

C(5) = 0;

% node 6

A(6,5) = k_glass;

A(6,6) = -(k_glass + 2*(h_conv + h_rad)*dx);

C(6) = -2*dx*(h_conv + h_rad)*T_inf;

% node 7

A(7,1) = k_fil;

A(7,7) = -(k_fil + 3*k_air + k_glass);

A(7,8) = k_air;

A(7,12) = k_glass;

C(7) = -2*k_air*T_base;

% node 8

A(8,2) = k_fil;

A(8,7) = k_air;

A(8,8) = -(2*k_air + k_fil + k_glass);

A(8,9) = k_air;

A(8,13) = k_glass;

C(8) = 0;

% node 9

A(9,3) = k_fil;

A(9,8) = k_air;

A(9,9) = -(2*k_air + k_fil + k_glass);

A(9,10) = k_air;

A(9,14) = k_glass;

C(9) = 0;

% node 10

A(10,4) = k_air;

A(10,9) = k_air;

A(10,10) = -(k_glass + 3*k_air);

A(10,11) = k_air;

A(10,15) = k_glass;

C(10) = 0;

% Node 11

A(11,5) = k_glass;

A(11,10) = k_air;

A(11,11) = -(k_air + k_glass + 2*(h_conv + h_rad)*dy);

C(11) = -2*(h_conv + h_rad)*dy*T_inf;

% node 12

A(12,7) = k_air;

A(12,12) = -(3*k_air + k_glass + (h_conv+h_rad)*dx);

A(12,13) = k_glass;

C(12) = -(h_conv + h_rad)*dy*T_inf - (2*k_air*T_base);

% node 13

A(13,8) = k_air;

A(13,12) = k_glass;

A(13,13) = -(k_air + 2*k_glass + (h_conv + h_rad)*dx);

A(13,14) = k_glass;

C(13) = -(h_conv + h_rad)*dy*T_inf;

% node 14

A(14,9) = k_air;

A(14,13) = k_glass;

A(14,14) = -(k_air + 2*k_glass + (h_conv + h_rad)*dx);

A(14,15) = k_glass;

C(14) = -(h_conv + h_rad)*dy*T_inf;

% node 15

A(15,10) = k_air;

A(15,14) = k_glass;

A(15,15) = -(k_glass + k_air + 2*(h_conv + h_rad)*dy);

C(15) = -2*((h_conv + h_rad)*dy)*T_inf;

% solve for nodal temperatures

T = A \ C;

% Temperatures for each Node

disp('Nodal temperatures for Light Bulb (K):')

for n = 1:15

fprintf('T%-2.0f = %8.2f K\n', n, T(n))

end

% ===== IMPROVED TEMPERATURE CONTOUR PLOT =====

% Create nodal layout

Tplot = zeros(3,6);

Tplot(3,1:4) = [T(12) T(13) T(14) T(15)];

Tplot(2,1:5) = [T(7) T(8) T(9) T(10) T(11)];

Tplot(1,1:6) = [T(1) T(2) T(3) T(4) T(5) T(6)];

% Original grid

[x,y] = meshgrid(1:6,1:3);

% Fine grid for interpolation

[xq,yq] = meshgrid(linspace(1,6,100), linspace(1,3,100));

% Interpolate (stable method)

Tinterp = griddata(x, y, Tplot, xq, yq, 'linear');

% Plot

figure

contourf(xq,yq,Tinterp,30,'LineColor','none')

colorbar

colormap(jet)

caxis([290 500]) % lock to physical range

title('Temperature Distribution (K)')

xlabel('Node Position (x)')

ylabel('Node Position (y)')

set(gca,'YDir','normal')

axis equal

grid on

hold on

contour(xq,yq,Tinterp,15,'k')

hold off

TRASIENT - EXPLICENT