Lumerical官方案例、FDTD时域有限差分法仿真学习(四)——环形调制器 - 瞬态响应 (Ring modulator - transient response ,varFDTD)

(这个案例感觉没怎么看懂,运行出来的结果也跟官方的对不上,过一段时间再来看看)

模拟波导中的非线性效应通常需要较长的模拟时间和传播长度。 2.5D FDTD Propagator 可以有效地模拟长距离的波传播,同时仍然能够准确捕捉线性和非线性效应之间的相互作用。

在这里插入图片描述

为了研究由于输入电信号引起的环形调制器的瞬态响应,我们使用 MODE 高级材料模型将环形的折射率作为时间的函数来改变。 对于这个例子,我们将使用一个非常简单的阶跃函数作为折射率,但是可以看到将其扩展到更复杂的时域函数是非常直接的。

一、线性环形谐振器

在 ring_resonator_step_index.lms 中,我们将从类似于 Ring resonator MODE(设计和初始仿真)(就是我的上一个帖子)示例的 SOI 环形谐振器开始。

打开官方案例,发现其把环形谐振器的上下两个矩形波导的材料设置为base
在这里插入图片描述
在这里插入图片描述
在材料库中:
在这里插入图片描述

我们首先在没有任何非线性材料的情况下运行宽带模拟,以找到该设备中共振峰的位置。 请注意,对象树中的“default”源应启用,其波长范围应为 1.545um 到 1.575um。 此外,应禁用“CW”源,并且“step_index”材料的参数 delta_eps=0 应为零(并没有找到这个设置在哪儿)。 仿真完成运行后,我们可以绘制through端口和drop端口的传输,如下图所示。

在这里插入图片描述

我们将使用 1.5507um 附近的共振峰,并在该波长处设置一个 CW 源。 在仿真文件中,启用 CW 源并禁用默认宽带源。模拟完成运行后,右键单击through端口的时间监视器,将电场可视化为时间的函数。 您应该看到,在初始瞬态部分之后,信号饱和到 ~0,正如该波长所预期的那样。 脚本 remove_high_f.lsf 可用于去除高频分量以获得更清晰的信号,如下所示。

在这里插入图片描述

二、调制

为了研究环形调制器在输入电信号突然失去共振时的响应,我们需要改变环形的折射率。 为此,我们必须建立一个插件材料模型来修改时域更新方程,以便在时间步长函数上应用介电常数的这种变化。 在示例文件 stepindex.cpp(在高级材料模型中可用)中,可以看到在计算函数中实现这一点很简单:

float StepIndexMaterialPlugin::calculate(int axis, float U, float V, float E, float* storage)
{
    storage[0] += 1.f; // update time step
    bool change_index = (storage[0]  time_start) && (storage[0] 

这将导致环的介电常数由“delta_eps”从“time_start”变为“time_stop”。

在这里插入图片描述
在这里插入图片描述
要使用此插件材料,您必须下载 .dll 文件(在高级材料模型中可用)并将其保存到 C:\Program Files\Lumerical\MODE\bin\plugins\materials 目录。 一旦 .dll 文件位于正确的目录中,您应该能够将此材料添加到材料数据库中并更改相关参数。

一旦仿真完成运行,您可以再次右键单击 time_through 监视器以绘制调制时间信号,或使用 remove_high_f.lsf 删除高频振荡。 调制后的时间信号如下图所示,可以看到由于折射率的突然变化而导致环脱离共振时,前缘处的“过冲”行为。

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值