📄 multipulsesurfacet.m
字号:
%MultiPulseSurfaceT2.m
%计算多个脉冲作用下表面温度分布
%运行之前需首先检查采样点数 n
%参数说明:p:密度:单位kg/m3
% c:比热容,单位J/kg.K
% K:热导率,单位w/m.K
% k:热扩散率,单位m2/s
% R:反射率,
%
% l:材料厚度 单位 m
% d:激光光斑大小单位 m
% Im:激光峰值功率密度,单位 w/m^2
% Tp:%调Q脉冲激光周期,单位 s
% h:热交换率,单位w/m.k.
clear;
%tstart=input('tstart=');
tstart=-20
tend=input('tend=');
%激光束参数及材料热物理参数
Tp=input('Tp=');
R=0.39; %R:反射率,
%p=7.14*1000;
%c=422;
K=98/(293-91); %K:热导率,单位w/(cm.K)
k=K/(49/30); %k:热扩散率,单位cm^2/s
d=50e-4; %d:激光光斑大小单位 cm
Tp=Tp/1000000; %调Q脉冲激光周期,单位 s
td=5.0e-6; %高斯脉冲脉宽,单位s
r=0;
Im=4e5 %Im:激光峰值功率密度,单位 w/cm^2
n=10; %每个周期的采样点数,每次运行根据需要设置
% n=input('n=')
tend=tend/1000000;
tstart=tstart/1000000
N=fix((tend-tstart)/Tp);%tend-tstart 时间内的脉冲个数 %向零取整
%N=ceil((tend-tstart)/Tp);%向正无穷大方向取整
ntotal=n*N+ceil(((tend-tstart)-N*Tp)/(Tp/n))
Tadd=zeros(1,n);
T2=zeros(1,ntotal);
Ttemp=zeros(N+1,ntotal);
for j=1:ntotal,
dd(j)=tstart+(j-1)*(tend-tstart)/(ntotal-1);
% Ttemp(1,j)=td^0.5*2^(-1/4)*exp(-dd(j)^2/(2*td^2))*Parabcyl((-2^0.5*dd(j)/td),-1/2);
Ttemp(1,j)=td^0.5*2^(-1/4)*exp(-dd(j)^2/(2*td^2))*Parabdv((-sqrt(2)*dd(j)/td),-1/2);
end
%Ttemp(1,:)=eps*(Ttemp(1,:)==NaN)+eps*(Ttemp(1,:)==Inf)+Ttemp(1,:).*(Ttemp(1,:)~=NaN|Ttemp(1,:)~=Inf);
for i=2:N+1,
Ttemp(i,:)=[Tadd,Ttemp(i-1,(1:(ntotal-n)))];
end
for i=1:N+1,
T2=T2+Ttemp(i,:);
end
i
T2=eps*(T2==NaN)+eps*(T2==Inf)+T2.*(T2~=NaN|T2~=Inf);
T0=Im*(1-R)/(K*(49/30))^(1/2);
T1=exp(-(r/d).^2);
T=T0*T1*T2;
tt=linspace(tstart,tend,j);
plot(tt,abs(T),'r'),title('Surface Temperature distribution induced by pulse Laser'),Xlabel('t(s)'),Ylabel('T(。c)')
% save T060203.mat T;
% save dd06_02_3.mat dd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -