zoukankan      html  css  js  c++  java
  • FDTD之PML边界条件

    PML边界条件

    PML吸收边界条件旨在吸收反射最少的入射光。 PML边界基本上被实现为吸收材料,该吸收材料也与周围的材料阻抗匹配,以最大程度地减少反射。 理想的PML边界会产生零反射,但是实际上,由于底层PML方程的离散化,总会有小反射。 此外,由于使用有限差分近似来离散化PML方程,因此有可能产生数值不稳定性。 本部分的目的是概述最佳实践,以最大程度地减少反射误差并消除数值不稳定性,而不必增加模拟时间。
    PML轮廓:
    Standard
    设计标准轮廓以相对较少的层数提供良好的整体吸收。 大量的PML层会大大增加仿真时间,因此建议在考虑任何其他选择之前尝试使用此配置文件。 如果模拟不包含贯穿PML区域的材料边界,则几乎可以肯定,此轮廓将是最明智的选择。 通常,当结构完全延伸通过PML区域时,PML边界性能最佳。 每当材料界面穿过PML区域时,可能有必要采用稳定的轮廓。
    Stabilized
    当材料边界穿过PML区域时,有可能出现数值不稳定性。 这些通常表现为PML区域(通常靠近材料界面)内场振幅的局部指数增长。 使用此配置文件可以消除PML区域内可能发生的大多数数值不稳定性,但是,此配置文件需要比标准配置文件更多的PML层数才能实现相同的吸收性能。 稳定的轮廓旨在提供增强的稳定性,但必须增加PML层的数量。
    Steep Angle
    此配置文件与标准配置文件非常相似,并且意在将PML边界与周期性边界条件结合使用时使用。 它设计用于在光线沿几乎平行于PML边界的方向传播的情况下提供增强的吸收。 在非常粗糙的离散化下(每个波长少于十个点),该轮廓通常比标准轮廓的吸收率低。
    Custom
    标准的,稳定的和陡峭的侧面轮廓具有固定的PML参数。 自定义配置文件允许用户通过对所有PML参数值的完全控制来进行试验。 自定义配置文件的初始值是标准配置文件的初始值。
    Using Different Profiles for Different Boundaries
    可以为每个PML边界分别设置PML配置文件。 可以通过取消选中PML设置表顶部的“所有边界上的相同设置”选项来启用此选项(请参见右侧的屏幕截图)。 此选项允许用户仅在实际需要它们的边界上进行更改(例如增加层数)。对不同的边界使用不同的PML配置文件可以大大减少仿真时间。 右侧的示例显示了3D模拟的PML设置表,其中仅在x min边界上需要稳定的轮廓。 在所有边界上使用稳定的轮廓将导致更长的仿真时间,因此建议仅在实际需要它们的边界上增加层数。
    PML Parameters
    与常规边界条件不同,PML边界具有有限的厚度。 换句话说,它们占据了围绕模拟区域的有限体积。 在该体积内发生光的吸收。
    LAYERS:为了离散化目的,PML区域分为几层。
    KAPPA, SIGMA, ALPHA :PML区域的吸收特性由三个参数控制。Kappa从定义上说是无单位的,但是sigma和alpha必须作为规范化的无单位值输入到PML设置表中。Kappa,sigma和alpha均使用多项式函数在PML区域内分级。在参考文献[2]中,有时将参数alpha描述为复频移(CFS)。它的主要作用是提高数值稳定性。增加alpha / sigma的比例将使PML边界更稳定,但会降低其吸收效率。这就是为什么稳定轮廓需要更多层的原因。为了恢复alpha和sigma的S.I.单位值,必须将自由空间的介电常数乘以两倍,并除以模拟中采用的时间步长。
    POLYNOMIAL:它指定用于对kappa和sigma分级的多项式的顺序。
    ALPHA POLYNOMIAL:它指定用于对alpha评级的多项式的阶数。
    MIN LAYERS, MAX LAYERS: 他们为PML层的数量规定了一个合理的值范围。
    Related publications:
    (1)J. P. Berenger, Perfectly Matched Layer (PML) for Computational Electromagnetics. Morgan & Claypool Publishers, 2007.
    (2)S. D. Gedney and B. Zhao, An Auxiliary Differential Equation Formulation for the Complex-Frequency Shifted PML, IEEE Trans. on Antennas & Propagat., vol. 58, no. 3, 2010.
    常见的PML修改方法是:
    (1)使用stabilized,由于吸收参数的改变,层数比较多;
    (2)增加标准PML的层数,特别是网格很细的情况下;
    (3)使用Custom PML,增加 alpha
    (4)个别情况在PML前和PML区用粗网格
    (5)或者增加PML离开结构的距离,使得PML所在区域的网格比较大。

  • 相关阅读:
    PLSQL Developer连接Oracle11g 64位数据库配置详解
    PL/SQL developer 登录时提示:database character set(AL32UTF8) and Client character set(ZHS16GBK) are different
    例题P101
    疑问
    基本概念
    参数及术语
    使用python 3.x 对pythonchallenge-----17的解答过程
    使用python3 解析html对称标签
    使用python 3.x 对pythonchallenge-----16的解答过程
    使用python 3.x 对pythonchallenge-----15的解答过程
  • 原文地址:https://www.cnblogs.com/lihao-bupt/p/13177884.html
Copyright © 2011-2022 走看看