FDTD基本设置

步骤:
(1)设置几何形状并赋材料性质
(2)设置仿真区、选择网格精度和边界条件
(3)添加合适的光源,修改光谱范围
(4)添加合适的监视器
至此,仿真文件就建好了,可以保存起来。
在运行之前,需要做几个检查:
1:检查几何形体是否如预期,可以使用折射率监视器查看;
2:检查材料拟合特性,在仿真光谱范围内,拟合的色散曲线是否光滑,材料特性直接决定仿真结果的精确度。
3:检查内存需要。如果内存需要超过计算机可用内存,必须修改文件的设置,例如Disable不必要的监视器、降低网格精度或增加细化网格尺寸大小、减少频域监视器检测的频率点数,利用对称性边界条件等。
如何设置仿真区大小?
按照步骤,设置完物体和材料后,添加仿真区,一般来说软件自动给出仿真区。对于周期方向,仅仿真一个周期,只要在相应方向的仿真宽度给出就可以,PML离开物体(折射率变化的地方)半个波长就可以了。建议光源, 探测器,衬底 的边缘全部超过FDTD仿真区域的边界。
PML是最常用的边界条件,其作用是吸收入射到其上面的电磁场,相当于场无阻挡地传播到无限远。实际的PML有一定的反射,曾经有用户测试FDTD Solutions, PML反射率可以小到1E-12。由于仿真还有其它误差源,一般不必要苛求PML的反射率到如此小的程度,只要PML对仿真结果的影响小到一定程度就可以了。
一般建议,PML应该离开物体(更准确地说应该是折射率变化的地方)半个波长左右,有时可以更小。其次,PML应该位于均匀网格区域,另外,PML的参数(一般是层数)要合适以便能吸收足够的场,这个对仅提高网格精度的仿真更为重要,因为网格变细后,如果层数不改变,总厚度只有几十个纳米,吸收性能可能变差。
要检查PML的设置(位置,层数)是否得当,可以将PML变远(即增加仿真区大小)、或增加层数,看看结果的变化是否显著、差别是否可以接受。如果不能,应该调整PML的设置。
缺省的设置一般建议使用stretched coordinate PML。如果入射角比较大,可以选用steep angle;如果在采取其它措施后仿真仍然发散,可以选用stabilized。 对于熟练用户,可以选择custom,这个选项需要调整PML的其它参数。实际上Steep Angle 和Stabilized就是针对特殊情况而定制的PML。
如何选择边界条件?
求解麦克斯韦方程必须有合适的边界条件。周期边界不言而喻,PML是最常用的。在半无限大的方向一般可以用PML。其它高级边界条件,例如对称性边界条件,可以熟练后再使用。
如何设置仿真时间?
对光学波段,使用缺省的1000飞秒就可以。对于太赫兹或者微波,需要适当加长。可以在光源光谱那里查看是否太短,如果光谱不正确,时间脉冲不完全。由于这个脉冲是光源位置的,它需要一定的长度传播到仿真区的另一端。一般应该比较长,其长度由设置的仿真时间决定。
结束仿真有几个方法?
正常情况下有两个方法,一是auto shut off min 达到指定数值;二是仿真达到了指定的仿真时间。一般应该由前者结束仿真,此时进程显示小于100%。个别情况,例如高Q仿真按第二种方法结束。
非正常结束:点击 Quit and Save; Quit & don’t save; Force quit.
怎么知道仿真结束的时间是合适的?
一般情况下仿真在小于100%结束就是正常的。可以察看一些监视器的结果,例如透射率反射率,如果没有反常的数据,例如大部分结果为正个别地方为负(错误!)就可以。有时可以见到结果曲线有不规则的波纹,很可能是仿真时间不够或者PML太近造成的。
应该选什么监视器?
根据项要提取的结果,添加合适的监视器。一般建议添加至少一个时间监视器,以便仿真结束时的场信号情况(或者要分析频谱);虽然是时域仿真,通常用户希望得到频域结果,例如透射率和反射率,此时应该添加 frequency domain power monitor。 index 监视器一般用来检查所设置的解噢股是否正确,检查完毕可以Disable。movie 监视器一般用于了解场的时间变化过程,初学者可以不用。
常用的材料特性网站:
n,k database
RefractiveIndex.INFO - Refractive index database
SpringerMaterials – properties of materials
FDTD中导入新材料:https://support.lumerical.com/hc/en-us/articles/360034915093
FDTD中光源类型选择:https://kx.lumerical.com/t/fdtd-solutions/623
减少FDTD仿真内存:https://kx.lumerical.com/t/topic/922
材料拟合设置参数:https://kx.lumerical.com/t/fdtd-material-explorer-fit-tolerance-max-coefficients-imaginary-weight/714
模拟文件衰减很慢:https://kx.lumerical.com/t/topic/486
Auto shut off min:https://kx.lumerical.com/t/auto-shut-off-min-auto-shut-of-max/534
斜入射:https://kx.lumerical.com/t/topic/5498
结构周期性、光源周期性和仿真周期性:https://kx.lumerical.com/t/topic/7500
对称性边界条件的使用:https://kx.lumerical.com/t/topic/25293/2


​编辑
矢量作图:https://kx.lumerical.com/t/matlab/18589
理解重叠对象的网格顺序:
网格顺序属性控制模拟中重叠对象的网格划分方式。 对于不重叠的对象,它不起作用。 可以在材料级别(在材料数据库中)或对象对象级别(在对象属性中)设置网格顺序。 网格顺序较低的材料优先于优先级编号较高的材料(即,顺序1优先于2)。 为重叠的区域分配了优先级较高的材料的材料属性(请参见下图)。
​编辑
在上图中,有两个对象部分重叠。 根据其网格顺序,实际被仿真的对象将有所不同。 如果两个重叠的材料具有相同的顺序,将从对象树中推断出网格顺序。 树底部的对象将优先于树顶部的对象。 为了确保正确定义模拟,建议避免两个不同的重叠结构具有相同网格顺序的情况。 要使用脚本设置网格顺序,用户可以设置材料(材料级别),设置名称或设置(对象级别)。对于使用共形网格的模拟,网格顺序属性定义了材料完全相互重叠的网格单元中的材料属性。 在包含两种材料之间边界的网格单元中,共形网格算法在这些边界附近求解麦克斯韦积分方程。使用索引监视器确认结构是否按预期进行了网格划分。默认材料数据库中的蚀刻材料:默认情况下,材料数据库中的大多数材料的网格顺序为2。唯一的例外是蚀刻材料,其网格顺序为1。较低的网格顺序表示对象使用 蚀刻材料将覆盖其他材料类型不同的对象。蚀刻材料的折射率为n = 1。 如果使用其他背景索引,则应修改蚀刻材料以匹配模拟的背景索引。
例如:生成椭圆形波导https://kx.lumerical.com/t/topic/25574

参考网站 https://www.cnblogs.com/lihao-bupt/p/13180228.html

<think>好的,用户想了解如何在FDTD设置形变。首先我需要回顾FDTD方法的基本原理。FDTD(时域有限差分法)是一种数值方法,用于求解电磁场的时域演化。形变可能涉及几何结构的改变,比如材料形状的变化,这会影响网格的设置。 根据引用内容,EastWave V7.0提到了共形网格和自动建模技术,说明软件可能支持复杂的几何处理。用户需要设置形变,可能是在仿真过程中让结构随时间或参数变化。比如,动态形变可能需要调整网格或材料参数随时间变化。 接下来,我需要考虑如何在FDTD软件中配置形变参数。通常,形变设置可能包括几何建模阶段的参数化设计,或者使用脚本控制形状的变化。例如,在材料属性中定义位置相关的参数,或者在模拟过程中动态更新结构坐标。 另外,引用中提到的自动建模和网格剖分功能可能简化形变的设置。用户可能需要使用CAD工具建立参数化模型,并导入到FDTD软件中,设置变量参数如曲率、位移等,然后在仿真中调整这些参数以实现形变。 需要注意的是,不同的FDTD软件可能有不同的操作步骤。根据EastWave的特点,其共形网格技术可能更高效处理曲面变化,用户应参考该软件的文档,查找形变相关的模块,如动态结构设置或参数化扫描功能。 最后,生成相关问题时,要围绕形变设置的具体步骤、参数优化、动态仿真技巧以及验证方法等方面展开,帮助用户全面理解该主题。</think>在FDTD方法中设置形变需要结合几何建模、网格控制和参数化配置三个核心环节,以下为具体操作步骤: ### 一、几何建模阶段 1. **参数化建模**:使用CAD工具建立可变形几何模型时,需定义形变参数(如曲率半径$r$、位移量$\Delta x$),推荐采用NURBS曲面或参数化脚本建模[^1] 2. **动态属性绑定**:在EastWave中可通过`Material Dynamics`模块,将材料介电常数$\varepsilon_r$与形变量建立函数关系: $$ \varepsilon_r(x,y,z,t) = f(\Delta x(t), \Delta y(t)) $$ ### 二、网格配置环节 1. **共形网格技术**: - 启用`Conformal Mesh`选项,设置最小曲率半径$r_{min}=0.1\lambda$ - 对于曲面形变,建议选择自适应八叉树网格,设置网格细化阈值: $$ \nabla E \geq 0.05E_{max} $$ 2. **动态网格参数**: ```python # EastWave脚本示例 set_mesh( type="adaptive", max_refinement=5, deformation_sensitivity=0.01 # 形变检测灵敏度 ) ``` ### 三、形变过程控制 1. **时间步进设置**: - 采用变步长算法保证数值稳定性: $$ \Delta t \leq \frac{\Delta x_{min}}{2c\sqrt{\mu_{max}\varepsilon_{max}}} $$ - 在动态形变时需开启`Moving Mesh`选项 2. **形变函数定义**: - 正弦形变示例: $$ z(x,t) = z_0 + A\sin(2\pi ft + kx) $$ 参数配置: ``` Deformation Function: Type = Harmonic Amplitude = 0.1um Frequency = 1THz Wavevector = (0,0,2π/0.5um) ``` ### 四、验证与优化 1. **能量守恒验证**: $$ \frac{\partial}{\partial t} \int_V (\varepsilon|E|^2 + \mu|H|^2)dV = - \oint_S (E×H)·dS $$ 建议监控能量误差率$\delta < 0.5\%$ 2. **GPU加速配置**: - 启用Tensor Core优化 - 设置显存预分配模式应对动态网格变化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值