% MODELLO MONODIMENSIONALE A PARAMETRI COSTANTI
% Spessore semi-infinito

% Normalizzazione

clear all

zn=0:0.01:1; % profondità normalizzata
tn=0:0.01:2; % tempo normalizzato

% Fase di riscaldamento

for i=1:101
   for j=1:101
      if j==1
         Tn(i,j)=0;
      else
         ierfc=(1/pi)^0.5*exp(-(zn(i)/(tn(j))^0.5)^2)-(zn(i)/(tn(j))^0.5)*erfc(zn(i)/(tn(j))^0.5);
         Tn(i,j)=(pi*tn(j))^0.5*ierfc;
      end   
   end
end

% Fase di raffreddamento

for i=1:101
   for j=102:201
         ierfc1=(1/pi)^0.5*exp(-(zn(i)/(tn(j))^0.5)^2)-(zn(i)/(tn(j))^0.5)*erfc(zn(i)/(tn(j))^0.5);
         ierfc2=(1/pi)^0.5*exp(-(zn(i)/(tn(j)-1)^0.5)^2)-(zn(i)/(tn(j)-1)^0.5)*erfc(zn(i)/(tn(j)-1)^0.5);
         Tn(i,j)=(pi)^0.5*((tn(j))^0.5*ierfc1-(tn(j)-1)^0.5*ierfc2);;
   end
end

% Grafica

h=axes('Color',[.9,.9,.9],...
   'Fontname','times',...
   'FontAngle','italic',...
   'FontSize',8);
surf(tn,zn,Tn)
set(get(h,'Xlabel'),'String','Time',...
   'Fontname','times',...
   'FontAngle','italic',...
   'FontSize',10);
set(get(h,'Ylabel'),'String','Depth',...
   'Fontname','times',...
   'FontAngle','italic',...
   'FontSize',10);
set(get(h,'Zlabel'),'String','Temperature',...
   'Fontname','times',...
   'FontAngle','italic',...
   'FontSize',10);

P=50; % Potenza laser [W]
r=0.8; % Riflettività superficie
R0=0.2; % Raggio fascio [cm]
S=pi*R0^2; % Area sezione fascio [cm2]
F0=P*(1-r)/S; % Flusso incidente sul pezzo [W/cm2]
K=0.72; % Conducibilità termica di un acciaio a 25°C [W/cm°C]
ro=7.8; % Peso specifico di un acciaio [g/cm3]
Cp=0.46; % Calore specifico di un acciaio a 25 °C [J/g°C]
alfa=K/(ro*Cp); % Diffusività termica del materiale [cm2/sec]
tau=12; % Tempo di riscaldamento [sec]

Dtau=2*(alfa*tau)^0.5; % Lunghezza di diffusione termica al tempo tau [cm]
Tmax=F0*Dtau/(K*(pi)^0.5); % Temperatura massima sulla superficie al tempo tau [°C]

