Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
%TSC PROJECT
%VARIABLES
Residual=1;
qdp = 5000;
ro = 8238;
k = 14.3;
cp = 0.486;
ho = 40;
T_ambient= 300;
R1= 0.25;
R2= 0.255;
R3= .285;
X=.035;
X1=.005;
Z=.01;
Z1=.0025;
delr = .0005;
delz = .00025;
r = 0 : delr : X;
z = 0 : delz : Z;
M=length(r);
N=length(z);
for i =1:M;
if r(i)== X1
M1=i;
end
end
for i = 1:N;
if z(i)== Z1
N1=i;
end
end
%finds M1
%finds N1
r = R1 + r;
%Setting all points to ambeint temperature
for i = 1 : M;
for j = 1 : N1;
T(j,i) = T_ambient;
end
end
for i = 1 : M1;
for j = N1+1 : N;
T(j,i) = T_ambient;
end
end
%NODAL EQUATIONS
for number_iterations = 1:1000000;
A=T;
if Residual>=.01;
%C1= i+
%C2= i%C3= j+
C1*T(i+1,j)
C2*T(i-1,j)
C3*T(i,j+1)
%number of iterations
%Stopping critera loop
%C3=
%C4=
%C5=
%C6=
j+
C3*T(i,j+1)
jC4*T(1,j-1)
T(i,j)
additional term such as q" or convection term
%Node 1
i = 1; j = 1;
C1 = (r(j)+delr/4)*(delr/(2*delz));
C2 = 0;
C3 = (r(j)+delz/2)*(delz/(2*delr));
C4 = 0;
C5 = C1 + C2 + C3 + C4;
C6 = (qdp/k)*r(j)*(delz/2);
T(i,j) = (1/C5)*(C1*T(i+1,j) +C3*T(i,j+1) + C6);
%Node 2
j = 1;
for i = 2: N-1;
C1 = (r(j)+delr/4)*(delr/(2*delz));
C2 = (r(j)+delr/4)*(delr/(2*delz));
C3 = (r(j)+delr/2)*(delz/delr);
C4 = 0;
C5 = C1 + C2 + C3 + C4;
C6 = qdp*r(j)*delz/k;
T(i,j) = (1/C5)*(C1*T(i+1,j) + C2*T(i-1,j) + C3*T(i,j+1) + C6);
end
%Node 3
j = 1; i = N;
C1 = 0;
C2 = (r(j)+delr/4)*(delr/(2*delz));
C3 = (r(j)+delr/2)*(delz/(2*delr));
C4 = 0;
C5 = C1 + C2 + C3 + C4;
C6 = (qdp/k)*r(j)*(delz/4);
T(i,j) = (1/C5)*(C2*T(i-1,j) + C3*T(i,j+1) + C6);
%Node 4
i = N;
for j = 2 : (M1-1);
C1 = 0;
C2 = r(j)*delr/delz;
C3 = (r(j)+delr/2)*(delz/(2*delr));
C4 = (r(j)-delr/2)*(delz/(2*delr));
C5 = C1 + C2 + C3 + C4;
C6 = 0;
T(i,j) = (1/C5)*(C2*T(i-1,j) + C3*T(i,j+1) + C4*T(1,j-1));
end
%Node 5
j = M1; i = N;
C1 = 0;
C2 = (r(j)-delr/4)*(delr/(2*delz));
C3 = 0;
C4 = (r(j)-delr/2)*(delz/(2*delr));
C6 = T_ambient*((ho/k)*r(i)*(delz/2));
C5 = C1 + C2 + C3 + C4 + C6/T_ambient;
C5 = C1 + C2 + C3 + C4 + C6/T_ambient;
T(i,j) = (1/C5)*(C2*T(i-1,j) + C4*T(1,j-1) + C6);
%Node 6
j = M1;
for i = N1+1: N-1;
C1 = (r(j)-delr/2)*(delr/(2*delz));
C2 = (r(j)-delr/4)*(delr/(2*delz));
C3 = 0;
C4 = (r(j)-delr/2)*(delz/delr);
C6 = T_ambient*((ho/k)*r(j)*delz);
C5 = C1 + C2 + C3 + C4 + C6/T_ambient;
T(i,j)= (1/C5)*(C1*T(i+1,j) + C2*T(i-1,j) + C4*T(1,j-1) + C6);
end
%Node 7
j = M1; i = N1;
C1 = r(j)*delr/(2*delz);
C2 = r(j)*delr/delz;
C3 = (r(j)+delr/2)*(delz/(2*delr));
C4 = (r(j)-delr/2)*(delz/delr);
C6 = T_ambient*((ho*r(j)*delz/(2*k))+((r(j)+delr/2)*(ho*delr/(2*k))));
C5 = C1 + C2 + C3 + C4 + C6/T_ambient;
T(i,j) = (1/C5)*(C1*T(i+1,j) + C2*T(i-1,j) + C3*T(i,j+1) + C4*T(1,j-1)
%Node 8
i=1;
for j = 2: M-1;
C1 = r(j)*delr/delz;
C2 = 0;
C3 = (r(j)+delr/2)*(delz/(2*delr));
C4 = (r(j)-delr/2)*(delz/(2*delr));
C5 = C1 + C2 + C3 + C4;
C6 = 0;
T(i,j) = (1/C5)*(C1*T(i+1,j) + C3*T(i,j+1) + C4*T(1,j-1));
end
%Node 9
for j = 2 : M-1;
for i = 2 : N1-1;
C1 = r(j)*delr/delz;
C2 = r(j)*delr/delz;
C3 = (r(j)+delr/2)*(delz/delr);
C4 = (r(j)-delr/2)*(delz/delr);
C5 = C1 + C2 + C3 + C4;
C6 = 0;
T(i,j) = (1/C5)*(C1*T(i+1,j) + C2*T(i-1,j) + C3*T(i,j+1) + C4*
end
end
for j = 2 : M1-1;
for i = N1 : N-1;
C1 = r(j)*delr/delz;
C2 = r(j)*delr/delz;
C3 = (r(j)+delr/2)*(delz/delr);
C4 = (r(j)-delr/2)*(delz/delr);
C5 = C1 + C2 + C3 + C4;
C6 = 0;
T(i,j) = (1/C5)*(C1*T(i+1,j) + C2*T(i-1,j) + C3*T(i,j+1) + C4*
%Node 12
j = M; i = N1;
C1 = 0;
C2 = (r(j)-delr/4)*(delr/(2*delz));
C3 = 0;
C4 = (r(j)-delr/2)*(delz/(2*delr));
C6 = T_ambient*(((ho/k)*r(j)*(delz/2)) + ((ho/k)*(r(j)-delr/4)*(delz/2
C5 = C1 + C2 + C3 + C4 + C6/T_ambient;
T(i,j)= (1/C5)*(C2*T(i-1,j) + C4*T(1,j-1) + C6);
%Node 13
i = N1;
for j = M1+1 : M-1;
C1 = 0;
C2 = (r(j)*delr/delz);
C3 = (r(j)+delr/2)*(delz/(2*delr));
C4 = (r(j)-delr/2)*(delz/(2*delr));
C6 = T_ambient*((ho/k)*r(j)*delr);
C5 = C1 + C2 + C3 + C4 + C6/T_ambient;
T(i,j)= (1/C5)*(C2*T(i-1,j) + C3*T(i,j+1) + C4*T(1,j-1) + C6);
end
%Residual
A = T - A;
Residual = sum(sum(A));
plot(number_iterations,Residual, 'x')
hold on
end
end
end
xlabel('number of iteratoins' ),
ylabel('Total Residual' ),
TT=flipud(T);
TTT=[TT;T];
disp('Node by Node Temperature Distribution at Convergence:' )
disp(num2str(TTT))
disp('Total Number of Iterations Required to Reach Convergence:'
disp(number_iterations)
Node by Node Temperature Distribution at Convergence:
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.1481
371.148
371.148
371.148
371.1479
371.1479
371.1478
371.1477
371.1476
371.1475
371.1474
371.1473
371.1472
371.1471
371.1471
371.147
371.147
371.147
371.147
371.1469
371.1469
371.1469
371.1469
371.1469
371.1469
371.147
371.147
371.147
371.147
371.1471
371.1471
371.1472
371.1473
371.1474
371.1475
371.1476
371.1477
371.8432
371.6686
371.4944
371.3208
371.1477
371.8432
371.6686
371.4945
371.3208
371.1478
371.8432
371.6686
371.4945
371.3208
371.1479
371.8432
371.6686
371.4945
371.3209
371.1479
371.8433
371.6686
371.4945
371.3209
371.148
371.8433
371.6686
371.4945
371.3209
371.148
371.8433
371.6686
371.4945
371.3209
371.148
371.8433
371.6686
371.4945
371.321
371.1481
371.8433
371.6686
371.4945
371.321
371.1481
371.8433
371.6686
371.4945
371.321
371.1481
371.8433
371.6686
371.4945
371.321
371.1481
371.8433
371.6687
371.4945
371.321
371.1481
371.8433
371.6687
371.4945
371.321
371.1481
371.8433
371.6687
371.4945
371.321
371.1481
371.8433
371.6687
371.4945
371.321
371.1481
371.8433
371.6687
371.4945
371.321
371.1481
371.8432
371.6687
371.4945
371.321
371.1481
371.8432
371.6687
371.4945
371.321
371.1481
371.8432
371.6687
371.4945
371.321
371.1481
371.843
371.6687
371.4945
371.321
371.1481
371.8428
371.6687
371.4945
371.321
371.1481
371.8424
371.6687
371.4945
371.321
371.1481
371.8415
371.6687
371.4945
371.321
371.1481
371.8396
371.6687
371.4945
371.321
371.1481
371.836
371.6687
371.4945
371.321
371.1481
371.8287
371.6687
371.4946
371.321
371.1481
371.8142
371.6687
371.4945
371.321
371.1481
Total Number of Iterations Required to Reach Convergence:
1000000