FDTD仿真发散(个人理解翻译)

2024-03-23 14:32

本文主要是介绍FDTD仿真发散(个人理解翻译),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

英文原文地址
非专业翻译,仅供参考。
主要讨论如何修复仿真发散的问题
大多数仿真发射是有auto shut-off引起的。“ERROR: Early termination of simulation, the electromagnetic fields are diverging.”(错误:过早的结束仿真,电磁场发散)。当仿真区域中的值达到指定的阈值时,发仿真散一般被分为两种情况:1.dt的稳定因素。2.PML边界条件问题。
区分这两种情况的方法是:将仿真区域的边界条件全部改为Matel边界条件,再次运行仿真。如果不发生发散,则是PML边界问题;否则为dt稳定的问题。

关于dt稳定问题

在这里插入图片描述

最大的仿真时间是根据mesh网格基于Courant stability准则计算的。默认情况下,软件会使用99%的理论最大仿真时长。最大时间不长是假定于光在均匀或真空介质中传播(homogeneous vacuum大概这么翻译吧)。仿真区域中包含结构或交界面,尤其存在色散材料的时候,仿真时间有时会变得更少。
对于这种发散情形,减小dt stability factor直到仿真稳定。通常情况下,0.95或者0.9就可以让仿真稳定;在其他情况下使用的值一般小于等于0.5。减小仿真步长并不会影响精度以及仿真内存需求,但它会增加仿真时间。dt stability factor从0.99到0.95会增加4%的仿真时间。
照成dt stability facyor不稳定原因:
1.材料未拟合正确,确保材料拟合较好。
2.网格的精细度,长宽比不应过大。尽量长宽比倍数差不要太大,原文中给的例子是5倍。

PML与材料发散

通常,我们应该将结构延伸到仿真区域外,这将给与更高的精度。然而有些色散材料在穿过PML边界的时候会不稳定。此时,材料与边界的交界处就会不稳定。如果你在仿真区域放置一个movie监视器,你可以很容易发现这种情况。
如果你使用的是2015a及之后的版本,你可以使用SPML边界来替换原PML边界以解决这个问题。
使用SCPML的方法:使用以下一种或几种。(我用的是旧版,这里无法验证)
1.alpha setting和PML layers的值进行加大。这种方法一般单独使用来使仿真稳定。
2.增大 alpha,但同时它也会增加边界的反射效果。或者增加PML layers的层数。
3.改变mesh的大小。
4.改变结构,避免材料穿过边界。
使用PML的放大:使用以下一种或几种。
1.减小PML的sigma值。这样会减少边界的吸收效果,但layers的值会自动变大。因此边界的整体效果不变,但会消耗更多的计算机内存。在这里插入图片描述
2.增加kappa。它的默认值是2,。将它加到10甚至20通常就会解决发散问题。它会轻微增加边界的反射效果,但也会减少大角度入射边界的反射。kappa的值大于20时会大幅降低PML的特性,因此最好不要大于20。
3.设置Type of PML to Stabilized ,但它会降低大角度入射时的边界性能。

4.改变结构,避免材料穿过边界。在结构穿过前终止,或者勾选extend structure through the pml 来防止结构穿过。
在这里插入图片描述

这篇关于FDTD仿真发散(个人理解翻译)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838593

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank 正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已