【热力学】基于Matlab模拟生成热晕
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机
⛄ 内容介绍
热晕效应是高能激光大气传输最重要的非线性效应之一。利用激光大气传输四维仿真程序,针对高能固体脉冲激光大气传输的非线性热晕效应,采用常规自适应光学系统与随机并行梯度算法自适应光学系统对其相位补偿进行了数值模拟和分析
⛄ 部分代码
clc;
clear;
buchang=2*L/N;
[x,y]=meshgrid(-L:buchang:L-buchang,-L:buchang:L-buchang); %正负不等
xh=x(1,:);
yh=y(:,1)
delta=L/N;
[x1,y1]=meshgrid(-L/buchang:1:L/buchang-1,-L/buchang:1:L/buchang-1);
r = sqrt(x.^2 + y.^2) ;
fanghuqiang = exp(-(r/(0.95*L)).^10) ; %超高斯分布吸收边界
zhenkong=zhenkongchuanshu(L,x1,y1,dz,k);
h=waitbar(0,'计算中,请等待...');
for l=1:bushu
if l==1
Eu1=myifft2(zhenkong.*myfft2(Eu)).*exp(-(alph)*dz/2)^0.5;
else
Eu1=myifft2(zhenkong.*myfft2(Eu2)).*exp(-(alph)*dz/2)^0.5.*fanghuqiang;
end
Ip=abs(Eu1).^2;
rou1=-(gamma-1)*xishou/Cs.^2/v*cumsum(Ip,2)*buchang;
thermalbloomingPhas=(2.26e-4)*rou1*k*dz; %密度与折射率间的关系还需研究
Eu2=myifft2(zhenkong.*myfft2(Eu1.*exp(1i*(thermalbloomingPhas)))).*exp(-(alph)*dz/2)^0.5;
jishu1=num2str(fix(l/bushu*100));
waitbar(l/bushu,h,['请等待,已完成',jishu1,'%']);
end
delete(h);
I=(abs(Eu2)).^2;
phase1=angle(Eu);%返回复数
phase2=angle(Eu2);%返回
%pic=imagesc(xh,yh,I)%彩图or灰度图
figure(1);
%前两个参数用于设置figure的位置,后两个参数用于设置figure的大小(长和宽);
%picI=imshow(I,[ ]);
picI=imshow(I,[ ],'border','tight','initialmagnification','fit');
set(gcf,'Position',[0 30 1280 1024]);
%set(gca,'Position',[0.01 0.01 2 2]);
%set (gcf,'Position',[0,0,500,500]);
axis normal;
saveas(gcf,'1.bmp','bmp');
%print(gcf,'-dbmp','bmp')
%saveas(picI,'1.bmp');
figure(2);
% set(gcf,'Position',[0 0 1280 1024], 'color','w');
pic=imagesc(xh,yh,I);
axis('off');
saveas(pic,'2.bmp');
figure(3)
picphase1=imshow(phase2,[ ]);%传输过后phase
figure(4)
picphase2=imshow(phase1,[ ],'border','tight','initialmagnification','fit');;%未传输phase
% set(gcf,'Position',[0 30 1280 1024]);
axis normal;
saveas(gcf,'2.bmp','bmp');
P=1.01325e5; %%% 大气压强,在此设置为标准大气压,设置要根据具体情况而定
n0=1.00029; %大气折射率
cp=1.006; %%% 等压热容
r=1.4; %%% r=Cp/Cv 参数来源于《热晕瞬态效应的数值模拟》作者:张天树
Cs=330; %%% 声速,参数来源于《热晕瞬态效应的数值模拟》作者:张天树
k=2*pi/lamda; %%% 计算波数
rou=1294.6; %%% 空气密度,使用的是近地面情况
T=300; %%% 温度,开尔文,这里设置为摄氏零度,设置应根据具体情况而定
nt=(-77.6*(1+(lamda*1.0e6).^(-2)*7.52e-3)*(P/T.^2))*1e-8; %压强一定时大气折射率随温度的变化率
ND=4*sqrt(2)*(-nt)*k*alph*power*z/rou/cp/v/a %对于高斯光束的热晕畸变参数,布雷德利-赫尔曼热晕畸变数(一般1-200)
%Nc=16*sqrt(2)*(-nt)*alph*power*z^2/pi/rou/cp/v/a^3/n0 %准直光束稳态热晕畸变参数
⛄ 运行结果
⛄ 参考文献
[1]税奇军. 气溶胶所致热晕的数值研究. Diss. 电子科技大学, 2007.
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除