FDTD Solutions时域有限差分法仿真学习相关操作(二)——圆偏振光和椭圆偏振光光源

本主题讨论相位约定并描述两种实现圆形(和椭圆形)偏振光源的技术。
参考链接

求解器:FDTD、varFDTD

相位约定
FDTD 解决方案中用于正向传播平面波的符号约定是 e − i ω t + i k z e^ {- i \omega t+ikz} et+ikz,因此当向源引入相位偏移 (φ) 时,您将得到正向传播光的 e − i ω t + i k z + i ϕ e^ {- i \omega t+ikz+i\phi} et+ikz+iϕ

一次模拟中的两个源

考虑文件 usr_polarization1.fsp。 这里我们有一个相位设置为 0 的 x 极化平面波源,以及一个相位设置为 90 度的 y 极化平面波源。 这将创建一个具有相位的前向传播平面波:

在这里插入图片描述
根据您使用的历史惯例,这可以称为右旋或左旋。

注意:归一化

在模拟中使用多个源时,必须格外小心以确保您了解结果是如何标准化的。在这种情况下,两个正交源的幅度均为 1,监视器显示 Ex 和 Ey 的幅度均为 1。这意味着 |E|=√2(V/m)。位于源前面的功率传输监视器将返回 1(而不是 2),因为传输函数已归一化为来自所有源的源功率之和。在这个特定的模拟中,标准归一化对这两个来源给出了非常合理的结果。但是,在许多具有多个源的模拟中,默认的归一化可能不合适。可能需要禁用默认规范化。如果源开始具有不同的频率、时间偏移等,或者如果源可以以任何方式相互干扰,这一点尤其重要。

使用 usr_polarization1.fsp 运行 usr_polarization1.lsf 会创建以下图:
沿传播方向分析计算的每个场分量(Ex 和 Ey)的相位与相应的模拟结果具有良好的一致性。

在这里插入图片描述
在这里插入图片描述
仿真结果比较表明,Ex 和 Ey 分量在传播长度上具有相同的幅度“1”和 90 度的恒定相位差。 z=0 附近的突然变化是由于监视器可以记录非物理结果的源注入区域。
在这里插入图片描述

在这里插入图片描述

打开上述的两个文件:

source_Ex光源:

在这里插入图片描述
source_Ey光源:

注意光源类型为Bloch/periodic类型
在这里插入图片描述

仿真区域设置:周期性边界条件
在这里插入图片描述

监视器:用的线监视器

在这里插入图片描述

usr_polarization1.lsf文件

# run the simulation
run;

# get Ex and Ey from monitor Z
Ex = getdata("Z","Ex");
Ey = getdata("Z","Ey");
z = getdata("Z","z");
f = getdata("Z","f");

# calculate theory
k = 2*pi*f/c;
phase_x = 0*pi/180;
Ex_theory = exp(1i*(k*z+phase_x));
phase_y = 90*pi/180;
Ey_theory = exp(1i*(k*z+phase_y));

# compare phases between FDTD and theory
plot(z*1e6,unwrap(angle(Ex)),unwrap(angle(Ex_theory)),"z (microns)","phase Ex (radians)","FDTD vs theory");
#unwrap返回无间断的相位
legend("FDTD","+kz+phi");
plot(z*1e6,unwrap(angle(Ey)),unwrap(angle(Ey_theory)),"z (microns)","phase Ey (radians)","FDTD vs theory");
legend("FDTD","+kz+phi");

# plot phases of Ex and Ey
plot(z*1e6,unwrap(angle(Ex)),unwrap(angle(Ey)),"z (microns)","phase (radians)","Phase of Ex and Ey along z");
legend("phase Ex = +kz","phase Ey = +kz + pi/2");

# verify amplitude
plot(z*1e6,abs(Ex),abs(Ey),"z (microns)","abs(E)","Amplitudes of Ex and Ey");
legend("|Ex|","|Ey|");

通过矢量图,能看出来是一个右旋(注意:y上的相位设置为-90度时,为左旋,90度时为右旋

在这里插入图片描述
在这里插入图片描述

在这里改采样箭头个数
在这里插入图片描述

我们还可以利用矢量图功能来可视化波极化的圆形特性。 单击以可视化 Z 监视器的 E 场结果。 选择矢量图选项。 您可以使用下采样选项编辑图中更多或更少箭头的设置。 下图是使用更精细的网格生成更多数据点:

在这里插入图片描述
将两次模拟的结果相加

通过运行两个模拟,可以获得系统对具有任意偏振的光束的响应。

打开 usr_polarization2.fsp 并运行脚本文件 usr_polarization2.lsf。 该脚本将运行两个模拟(每个都有一个源)并将数据保存在名为 usr_polarization2_0.fsp 和 usr_polarization2_90.fsp 的临时 fsp 文件中。 运行脚本文件一次后,将变量 rerun_simulations 设置为 0,并调整 usr_polarization2.lsf 中的复权重因子 weight_0 和 weight_90。 这演示了如何在无需重新运行模拟的情况下创建对任意源极化的响应。

在下图中,我们展示了通过将 weight_0 设置为 1 并将 weight_90 设置为 exp( 1i * 45 * pi /180) 创建的椭圆极化结果,即 45 度相位差。

在这里插入图片描述
在这里插入图片描述

  • 8
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值