【TMz模式电磁波的2D FDTD中的PML】模拟PML作为TMz模式EM波的2D-FDTD的吸收边界条件(Matlab代码实现)

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

一、引言

二、PML的基本原理

三、TMz模式电磁波的2D-FDTD模拟

四、PML作为吸收边界条件的性能分析

五、结论与展望

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

以下是一份关于模拟PML(Perfectly Matched Layers,完美匹配层)作为TMz模式电磁波(Electromagnetic Wave,EM波)的二维有限差分时域(Finite-Difference Time-Domain,2D-FDTD)吸收边界条件的研究文档:

一、引言

在电磁仿真领域,FDTD是一种流行的数值计算方法,它基于时间步进和空间离散化来求解麦克斯韦方程。TMz模式电磁波是指电场分量主要在z方向,磁场分量在x和y方向的电磁波。在处理此类电磁问题时,为了模拟开放或半开放空间,必须在计算域的截断处设置适当的吸收边界条件。PML作为一种高级的吸收边界条件,在FDTD模拟中被广泛应用。

二、PML的基本原理

PML通过引入一组特殊的介质参数,这些参数在边界层内逐渐变化,使得入射到边界的电磁波能够无反射地被吸收。这些介质参数通常包括复数介电常数和磁导率,它们使得电磁波在PML层内逐渐衰减。

三、TMz模式电磁波的2D-FDTD模拟

  1. 网格划分:在二维空间中,将计算区域划分为离散的网格点,每个网格点上定义电场和磁场分量。
  2. 介质属性:定义模拟区域内的介质属性,包括介电常数和磁导率。对于TMz模式,主要关注z方向的电场分量和x、y方向的磁场分量。
  3. 源的设置:在模拟区域内设置点源或线源,以产生初始的电磁场扰动。
  4. PML设置:在计算域的截断处设置PML层,定义PML层的厚度、复杂系数等参数。
  5. 迭代计算:通过迭代计算,更新每个时间步上所有网格点上的电场和磁场分量。
  6. 输出与可视化:保存和可视化模拟结果,如电场强度、磁场强度、能量传播路径等。

四、PML作为吸收边界条件的性能分析

  1. 吸收效率:通过分析PML层对入射电磁波的吸收效率,评估其作为吸收边界条件的性能。通常,增加PML层的数量会提高吸收效率,但也会增加计算量。
  2. 数值稳定性:研究PML层内介质参数的变化对数值稳定性的影响。确保在模拟过程中不会出现数值不稳定现象。
  3. 参数优化:通过调整PML层的参数(如厚度、复杂系数等),找到最佳的参数组合,以在保证数值稳定性的前提下提高吸收效率。

五、结论与展望

PML作为一种高级的吸收边界条件,在TMz模式电磁波的2D-FDTD模拟中表现出良好的性能。通过优化PML层的参数,可以进一步提高其吸收效率和数值稳定性。未来,可以进一步研究PML与其他吸收边界条件的组合使用,以及将PML应用于更复杂的电磁仿真问题中。

📚2 运行结果

部分代码:

% Defining PML parameters
length_pml_x = xsteps/5; % width of PML along x-direction
length_pml_y = ysteps/5; % width of PML along y-direction

xn = zeros(1,xsteps);
yn = zeros(1,ysteps);
fi1 = zeros(1,xsteps);
fi2 = ones(1,xsteps);
fi3 = ones(1,xsteps);
gi2 = ones(1,xsteps);
gi3 = ones(1,xsteps);
fj1 = zeros(1,ysteps);
fj2 = ones(1,ysteps);
fj3 = ones(1,ysteps);
gj2 = ones(1,ysteps);
gj3 = ones(1,ysteps);

gaz = ones(ysteps,xsteps);
gbz = zeros(ysteps,xsteps);

for ii = 1:length_pml_x
    xnum = length_pml_x-ii ; % making the transition at problem space smooth, i.e. making zero conductivity at boundary of PML and problem space
    xn(ii)=0.333*((xnum/length_pml_x)^3 );
    fi1(ii)=xn(ii); % for 1-side of PML in x-direction
    fi1(xsteps-ii)=xn(ii);  % for 2nd-side of PML in x-direction
    fi2(ii)=1/(1+xn(ii));
    fi2(xsteps-ii)=1/(1+xn(ii));
    fi3(ii)=(1-xn(ii))/(1+xn(ii));
    fi3(xsteps-ii)=(1-xn(ii))/(1+xn(ii));
    gi2(ii)=1/(1+xn(ii));
    gi2(xsteps-ii)=1/(1+xn(ii));
    gi3(ii)=(1-xn(ii))/(1+xn(ii));
    gi3(xsteps-ii)=(1-xn(ii))/(1+xn(ii));
    gaz(:,ii)=1/(1+2*xn(ii));
    gaz(:,xsteps-ii)=1/(1+2*xn(ii));
    gbz(:,ii)=2*xn(ii);
    gbz(:,xsteps-ii)=2*xn(ii);

end

for jj = 1:length_pml_y
    ynum = length_pml_y-jj ; % making the transition at problem space smooth, i.e. making zero conductivity at boundary of PML and problem space
    yn(jj)=0.333*((ynum/length_pml_y)^3 );
    fj1(jj)=yn(jj); % for 1-side of PML in y-direction
    fj1(ysteps-jj)=yn(jj);  % for 2nd-side of PML in y-direction

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]杨利霞,谢应涛,孔娃,等.斜入射分层线性各向异性等离子体电磁散射时域有限差分方法分析[J].物理学报, 2010(9):7.

[2]李建雄.时域有限差分法中完全匹配层的实现算法研究[D].天津大学,2007.DOI:10.7666/d.y1362521.

[3]王辉.时域有限差分方法中的高效平面波源引入[D].安徽大学,2012.DOI:CNKI:CDMD:2.1011.241899.

🌈4 Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值