Você está na página 1de 5

27/11/22 18:15 C:\Users\No...\SIMULADOR_CANNED_OCTOPUS.

m 1 of 5

%Características do produto
alpha=1.27e-07;%valor obtido da literatura
k=0.46;%valor obtido da literatura

%Características da água
densidadeagua=985.16; %valor retirado da literatura
condutividadeagua=0.65; %valor retirado da literatura
capacidadeagua=4183; %valor retirado da literatura
viscosidadeagua=0.0005042; %valor retirado da literatura
expansaoagua=0.0004903; %valor retirado da literatura
gravidade=9.8;

fprintf('BEM-VINDO AO SIMULADOR - CANNED OCTOPUS\n')


tempo=input('Inserir o tempo para análise (em minutos): ');
div=input('Inserir quais divisões de tempo deseja: ');
tinicial=input('Inserir a temperatura inicial (°C): ');
tbanho=input('Inserir a temperatura do banho(°C): ');
tfinal=input('Inserir temperatura final dentro do produto(°C): ');
alturalata=input('Inserir a altura da lata (m): ');
diametrolata=input('Inserir o diâmetro da lata (m): ');
decisao=input('Será considerada a resistência do meio (s/n)?: ', 's');
hmeio=input('Inserir a resistência do meio: ');

%Cálculos
r0placa=alturalata/2;
r0cilindro=diametrolata/2;
Biplaca =(hmeio*r0placa)/k;
Bicilindro=(hmeio*r0cilindro)/k;
tdiv = tempo/div;
divisoes = zeros(1,25);
for n=1:div
divisoes(n)= tdiv*n;
end

%Vetores para cálculos


num1 = zeros(1,1000);
for contanumero=1:1000
num1(contanumero) = contanumero;
end
num = [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]; %vetor com os números utilizado para os
somatórios requeridos pelas fórmulas
rn = [2.4048 5.5201 8.654 11.792 14.931 18.071 21.212 24.352 27.493 30.63 33.775
36.917 40.058 43.2 46.341]; %vetor com valores de Rn
somatorioplacasemrestencia = zeros(1,25);
somatoriocilindrosemresistencia = zeros(1,25);
temperaturacentrosemresistencia = zeros(1,25);
somatorioplacacomresistencia = zeros(1,25);
somatoriocilindrocomresistencia = zeros(1,25);
temperaturacentrocomresistencia = zeros(1,25);
27/11/22 18:15 C:\Users\No...\SIMULADOR_CANNED_OCTOPUS.m 2 of 5

termosplaca = zeros(1,25);

%Cálculo dos lambdas para o cilindro


resultcilindro=zeros(3,100000);
besselcilindro=zeros(3,100000);
iteracilindro=0.01;

for iteracaocilindro=1:10000

numerocilindo=iteracilindro*(besselj(1,iteracilindro)/besselj(0,iteracilindro));
besselcilindro(1,iteracaocilindro)=numerocilindo;
besselcilindro(2,iteracaocilindro)=iteracilindro;
besselcilindro(3,iteracaocilindro)= numerocilindo-Bicilindro;
iteracilindro=iteracilindro+0.01;

end

contadorinternobessel=2;
besselresult=1;
contadorinternobessel1=1;

for contadorbessel=1:10000
if besselcilindro(3,contadorinternobessel1)*100>0
if besselcilindro(3,contadorinternobessel)*100<0
resultcilindro (1,besselresult) = besselcilindro(2,contadorbessel-1);
besselresult=besselresult+1;
end
end
contadorinternobessel=contadorinternobessel+1;
contadorinternobessel1=contadorinternobessel+1;
end

%Cálculo dos lambdas para a placa


matrizlambda=zeros(3,10000);
resultplaca=zeros(2,10000);
iteraplaca=0.01;
iteraplaca1=1;
Biplaca;

for iteracaoplaca=1:10000

valor1=tan(iteraplaca);
valor2=iteraplaca;
valor=(valor1*valor2)-Biplaca;

matrizlambda(1,iteraplaca1)=valor;
matrizlambda(2,iteraplaca1)=iteraplaca;
iteraplaca1=iteraplaca1+1;
iteraplaca=iteraplaca+0.01;

end
27/11/22 18:15 C:\Users\No...\SIMULADOR_CANNED_OCTOPUS.m 3 of 5

contadorinterno=2;
lambdaresult=1;
contadorinterno1=1;

for contadorinter=1:8000
if matrizlambda(1,contadorinterno1)*1000<0
if matrizlambda(1,contadorinterno)*1000>0
resultplaca (1,lambdaresult) = matrizlambda(2,contadorinter);
lambdaresult=lambdaresult+1;
end
end
contadorinterno=contadorinterno+1;
contadorinterno1=contadorinterno1+1;
end

%J1 de Rn para casos em que não haja resistência


j1semresistencia=zeros(1,100);

for iteracaoj1=1:15
j1semresis=besselj(1,rn(iteracaoj1));
j1semresistencia (iteracaoj1)=j1semresis;
end

%J0 de lambda para cilindro quando há resistência


j0comresistencia=zeros(1,100);

for iteracaoj0=1:15
j0comresis=besselj(0,resultcilindro(1,iteracaoj0));
j0comresistencia (iteracaoj0)=j0comresis;
end

%Caso usuário decida que não há resistência do meio


if decisao=='n'
for k=1:div
tparte=tdiv*k;

totalplaca=0;

for i=1:9
primeiraparte=(((-1)^num(i))/((2*num(i))+1));
segundaparte=exp(-(((2*num(i)+1)^2)*((3.14159625)^2)*alpha*tparte*60)/(4*
(r0placa^2)));
totalplaca=totalplaca+(primeiraparte*segundaparte);
somatorioplacasemrestencia (i) = totalplaca;
end
27/11/22 18:15 C:\Users\No...\SIMULADOR_CANNED_OCTOPUS.m 4 of 5

totalplaca=(4/3.14159625)*totalplaca;

totalcilindro=0;

for j=1:9
primeiraparte1=1/(rn(j)*j1semresistencia(j));
segundaparte1=exp(-((rn(j)^2)*alpha*tparte*60)/(r0cilindro^2));
totalcilindro=totalcilindro+(primeiraparte1*segundaparte1);
somatoriocilindrosemresistencia (j) = totalcilindro;
end

totalcilindro=2*totalcilindro;

temperaturacentrosemresistencia (k) = (totalcilindro*totalplaca*(tinicial-tbanho))


+tbanho;

end

for m=1:div
fprintf('A temperatura depois de %d minutos no centro da lata é %.1d°C\n',divisoes(1,
m),temperaturacentrosemresistencia(1,m));
end

end

%Caso usuário decida que há resistência do meio


if decisao == 's'

for kk=1:div
tpartecom=tdiv*kk;

totalplacacom=0;
contadentro=1;

for ii=1:9

primeirapartecom=1/((((resultplaca (1,contadentro)^2)+Biplaca^2)+Biplaca)*cos
(resultplaca (1,contadentro)));
segundapartecom=exp(-((resultplaca(1,contadentro)^2)*alpha*tpartecom*60)/
(r0placa^2));
totalplacacom=totalplacacom+(primeirapartecom*segundapartecom);

somatorioplacacomresistencia (ii) = totalplacacom;


contadentro=contadentro+1;
end

totalplacacom=2*Biplaca*totalplacacom;
totalcilindrocom=0;

for jj=1:9
27/11/22 18:15 C:\Users\No...\SIMULADOR_CANNED_OCTOPUS.m 5 of 5

primeiraparte1com=1/(((resultcilindro (1,jj)^2)+Bicilindro^2)*j0comresistencia
(jj));
segundaparte1com=exp(-(((resultcilindro(1,jj)^2)*alpha*tpartecom*60)/
(r0cilindro^2)));
termosplaca (jj) = primeiraparte1com*segundaparte1com;
totalcilindrocom=totalcilindrocom+(primeiraparte1com*segundaparte1com);
somatoriocilindrocomresistencia (jj) = totalcilindrocom;

end

totalcilindrocom=2*Bicilindro*totalcilindrocom;

temperaturacentrocomresistencia (kk) = (totalcilindrocom*totalplacacom*(tinicial-


tbanho))+tbanho;

end

for mm=1:div
fprintf('A temperatura depois de %d minutos no centro da lata é %.1d°C\n',divisoes(1,
mm),temperaturacentrocomresistencia(1,mm));
end

end

Você também pode gostar