FDTD算法总结

news/发布时间2024/5/14 17:40:37

计算电磁学(Computational Electromagnetics, CEM)是通过数值计算来研究电磁场的交叉学科。

数值求解电磁学问题的方法可以分成频域(Frequency Doamin, FD)、时域(Time Domain, TD)等两类。

频域法基于时谐微分,通过对多个采样值的傅里叶逆变换得到所需的脉冲响应,使用这种方法,每次计算只能求得一个频率点上的响应。这类方法又可进一步分成低频算法高频算法等两类。低频算法包括矩量法(Method of Moment, MoM)、频域有限差分(Finite Difference Frequency Doamin, FDFD)等;高频算法包括几何光学法、物理光学法等。

时域法按时间步进求得有关场量,一次求解可以获得很宽频带范围内的解。这类方法包括时域有限差分(Finite Difference Time Domain,FDTD)、时域有限单元(Finite Element Time Domain,FETD)等。

在时域法中,最为著名的就是FDTD。因此,本文拟对FDTD算法涉及的数理模型数值模型等内容进行简要介绍。

注1:限于研究水平,分析难免不当,欢迎批评指正。

注2:文章内容会不定期更新。

一、物理方程

1864年,Maxwell在前人理论和实验的基础之上,建立了统一的电磁场理论,并用一组数学方程揭示了宏观电磁场的基本规律,这就是著名的Maxwell方程组。

Maxwell方程组有四个方程组成:描述电荷如何产生电场的高斯定律;论述磁单极子不存在的高斯磁定律;描述电流和时变电场怎样产生磁场的安培环路定律;描述时变磁场如何产生电场的法拉第感应定律

\left\{\begin{matrix} \nabla \cdot \mathbf{D}=\rho\\ \nabla\cdot \mathbf{B}=0\\ \nabla\times \mathbf{H}=\boldsymbol{j}+\frac{\partial \boldsymbol{D}}{\partial t}\\ \nabla\times \mathbf{E}=-\frac{\partial \boldsymbol{B}}{\partial t} \end{matrix}\right.

对于各向同性线性介质,物性方程为,

\left\{\begin{matrix} \boldsymbol{D}=\varepsilon\boldsymbol{E}\\ \boldsymbol{B}=\mu \boldsymbol{H}\\ \boldsymbol{j}=\sigma \boldsymbol{E} \end{matrix}\right.

在上述公式中,各符号含义如下:

\boldsymbol{D}电感强度
\rho电荷密度
\boldsymbol{B}磁感强度
\boldsymbol{E}电场强度
\boldsymbol{H}磁场强度
\boldsymbol{j}传导电流密度
\varepsilon介电常数在真空中,\varepsilon=\varepsilon_{0}=8.8542\times 10^{-12} C^2/N\cdot m^2
\mu磁导率在真空中,\mu =\mu_{0}=4\pi \times 10^{-7} N\cdot s^2/C^2
\sigma电导率

在三维笛卡尔坐标系下,有

\frac{\partial E_{x}}{\partial x}+\frac{\partial E_{y}}{\partial y}+\frac{\partial E_{z}}{\partial z}=\frac{\rho }{\varepsilon }

\frac{\partial H_{x}}{\partial x}+\frac{\partial H_{y}}{\partial y}+\frac{\partial H_{z}}{\partial z}=0

\begin{matrix} \frac{\partial H_{y}}{\partial z}-\frac{\partial H_{z}}{\partial y}=\sigma E_{x}+\varepsilon \frac{\partial E_{x}}{\partial t}\\ \frac{\partial H_{z}}{\partial x}-\frac{\partial H_{x}}{\partial z}=\sigma E_{y}+\varepsilon \frac{\partial E_{y}}{\partial t}\\ \frac{\partial H_{y}}{\partial x}-\frac{\partial H_{x}}{\partial y}=\sigma E_{z}+\varepsilon \frac{\partial E_{z}}{\partial t} \end{matrix} 

\begin{matrix} \frac{\partial E_{y}}{\partial z}-\frac{\partial E_{z}}{\partial y}=-\mu \frac{\partial H_{x}}{\partial t}\\ \frac{\partial E_{z}}{\partial x}-\frac{\partial E_{x}}{\partial z}=-\mu \frac{\partial H_{y}}{\partial t}\\ \frac{\partial E_{y}}{\partial x}-\frac{\partial E_{x}}{\partial y}=-\mu \frac{\partial H_{z}}{\partial t} \end{matrix}

二、数值模型

FDTD是美籍华人K.S. Yee 于1966 年提出的求解微分形式Maxwell方程组的数值方法。FDTD在时域上直接求解微分形式的Maxwell方程组,

2.1 空间离散

在FDTD中,Yee使用Yee Cell在空间上交叉布置电场、磁场分量。电场分量放置到Yee单元各棱的中间,方向平行于各棱;磁场分量放置到Yee单元各面中心,方向平行于各面法线。

Yee Cell

这样,每个电场分量由四个磁场分量环绕;每个磁场分量也由四个电场分量环绕。

对于麦克斯韦-安培定律与法拉第电磁感应定律,采用中心差分来离散磁场旋度与电场旋度。

为对于编号为\left ( i,j,k \right )的Yee Cell,其中i\in \left [ 0, n_{x}\right )j\in \left [ 0, n_{y}\right )k\in \left [ 0, n_{z}\right )n_{x}n_{y}n_{z}为计算域在三个坐标轴方向的网格数,

可得法拉第感应定律、安培定律在空间域上的半离散格式,

\begin{matrix}-\mu \frac{\partial H_{x}\left ( i,j,k \right )}{\partial t}= \frac{E_{y}\left ( i,j,k \right )-E_{y}\left ( i,j,k-1 \right )}{\Delta z}-\frac{E_{z}\left ( i,j,k \right )-E_{z}\left ( i,j-1,k \right )}{\Delta y}\\ -\mu \frac{\partial H_{y}\left ( i,j,k \right )}{\partial t}=\frac{E_{z}\left ( i,j,k \right )-E_{z}\left ( i-1,j,k \right )}{\Delta x}-\frac{E_{x}\left ( i,j,k \right )-E_{x}\left ( i,j,k-1 \right )}{\Delta z}\\ -\mu \frac{\partial H_{z}\left ( i,j,k \right )}{\partial t}=\frac{E_{y}\left ( i,j,k \right )-E_{y}\left ( i-1,j,k \right )}{\Delta x}-\frac{E_{x}\left ( i,j,k \right )-E_{x}\left ( i,j-1,k \right )}{\Delta y} \end{matrix}

\begin{matrix} \varepsilon \frac{\partial E_{x}\left ( i,j,k \right )}{\partial t}+\sigma E_{x}\left ( i,j,k \right )=\frac{H_{y}\left ( i,j,k \right )-H_{y}\left ( i,j,k-1 \right )}{\Delta z}-\frac{H_{z}\left ( i,j,k \right )-H_{z}\left ( i,j-1,k \right )}{\Delta y}\\ \varepsilon \frac{\partial E_{y}\left ( i,j,k \right )}{\partial t}+\sigma E_{y}\left ( i,j,k \right )=\frac{H_{z}\left ( i,j,k \right )-H_{z}\left ( i-1,j,k \right )}{\Delta x}-\frac{H_{x}\left ( i,j,k \right )-H_{x}\left ( i-1,j,k \right )}{\Delta z}\\ \varepsilon \frac{\partial E_{z}\left ( i,j,k \right )}{\partial t}+\sigma E_{z}\left ( i,j,k \right )= \frac{H_{y}\left ( i,j,k \right )-H_{y}\left ( i-1,j,k \right )}{\Delta x}-\frac{H_{x}\left ( i,j,k \right )-H_{x}\left ( i,j-1,k \right )}{\Delta y}\end{matrix}

2.2 时间离散

在时间域上,FDTD采用蛙跳格式,由此可得法拉第感应定律、安培环路定律在时间域上的半离散格式,

\begin{matrix} -\mu \frac{H_{x}^{n+\frac{1}{2}}-H_{x}^{n-\frac{1}{2}}}{\Delta t}=\frac{\partial E_{y}^{n}}{\partial z}-\frac{\partial E_{z}^{n}}{\partial y}\\ -\mu \frac{H_{y}^{n+\frac{1}{2}}-H_{y}^{n-\frac{1}{2}}}{\Delta t}=\frac{\partial E_{z}^{n}}{\partial x}-\frac{\partial E_{x}^{n}}{\partial z}\\ -\mu \frac{H_{z}^{n+\frac{1}{2}}-H_{z}^{n-\frac{1}{2}}}{\Delta t}=\frac{\partial E_{y}^{n}}{\partial x}-\frac{\partial E_{x}^{n}}{\partial y} \end{matrix}

\begin{matrix}\varepsilon \frac{E_{x}^{n+1}-E_{x}^{n}}{\Delta t}+ \sigma E_{x}^{n+\frac{1}{2}}=\frac{\partial H_{y}}{\partial z}-\frac{\partial H_{z}}{\partial y}\\ \varepsilon \frac{E_{y}^{n+1}-E_{y}^{n}}{\Delta t}+\sigma E_{y}^{n+\frac{1}{2}}=\frac{\partial H_{z}}{\partial x}-\frac{\partial H_{x}}{\partial z}\\ \varepsilon \frac{E_{z}^{n+1}-E_{z}^{n}}{\Delta t}+\sigma E_{z}^{n+\frac{1}{2}}=\frac{\partial H_{y}}{\partial x}-\frac{\partial H_{x}}{\partial y} \end{matrix}

2.3 FDTD差分方程组

结合法拉第感应定律、安培环路定律在空间域、时间域上的离散格式,可得最终差法方程组,

\begin{matrix}-\mu \frac{H_{x}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{x}^{n-\frac{1}{2}}\left ( i,j,k \right )}{\Delta t}= \frac{E_{y}^{n}\left ( i,j,k \right )-E_{y}^{n}\left ( i,j,k-1 \right )}{\Delta z}-\frac{E_{z}^{n}\left ( i,j,k \right )-E_{z}^{n}\left ( i,j-1,k \right )}{\Delta y}\\ -\mu \frac{H_{y}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{y}^{n-\frac{1}{2}}\left ( i,j,k \right )}{\Delta t}=\frac{E_{z}^{n}\left ( i,j,k \right )-E_{z}^{n}\left ( i-1,j,k \right )}{\Delta x}-\frac{E_{x}^{n}\left ( i,j,k \right )-E_{x}^{n}\left ( i,j,k-1 \right )}{\Delta z}\\ -\mu \frac{H_{z}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{z}^{n-\frac{1}{2}}\left ( i,j,k \right )}{\Delta t}=\frac{E_{y}^{n}\left ( i,j,k \right )-E_{y}^{n}\left ( i-1,j,k \right )}{\Delta x}-\frac{E_{x}^{n}\left ( i,j,k \right )-E_{x}^{n}\left ( i,j-1,k \right )}{\Delta y} \end{matrix}

\begin{matrix} \varepsilon \frac{E_{x}^{n+1}\left ( i,j,k \right )-E_{x}^{n+1}\left ( i,j,k \right )}{\Delta t}+\sigma E_{x}^{n+\frac{1}{2}}\left ( i,j,k \right )=\frac{H_{y}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{y}^{n+\frac{1}{2}}\left ( i,j,k-1 \right )}{\Delta z}-\frac{H_{z}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{z}^{n+\frac{1}{2}}\left ( i,j-1,k \right )}{\Delta y}\\ \varepsilon \frac{E_{y}^{n+1}\left ( i,j,k \right )-E_{y}^{n}\left ( i,j,k \right )}{ \Delta t}+\sigma E_{y}^{n+\frac{1}{2}}\left ( i,j,k \right )=\frac{H_{z}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{z}^{n+\frac{1}{2}}\left ( i-1,j,k \right )}{\Delta x}-\frac{H_{x}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{x}^{n+\frac{1}{2}}\left ( i-1,j,k \right )}{\Delta z}\\ \varepsilon \frac{E_{z}^{n+1}\left ( i,j,k \right )-E_{z}^{n}\left ( i,j,k \right )}{\Delta t}+\sigma E_{z}^{n+\frac{1}{2}}\left ( i,j,k \right )= \frac{H_{y}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{y}^{n+\frac{1}{2}}\left ( i-1,j,k \right )}{\Delta x}-\frac{H_{x}^{n+\frac{1}{2}}\left ( i,j,k \right )-H_{x}^{n+\frac{1}{2}}\left ( i,j-1,k \right )}{\Delta y}\end{matrix}

2.4 边界条件

由于数值模拟只能选取有限区域作为计算域进行仿真计算,因此,在计算域边界处,需要给出吸收边界条件。

目前效果最好的吸收边界层是Berenger于1994年提出的完美匹配层(Perfect Matched Layer, PML)。完全匹配层是数学上在FDTD区域截断边界处虚拟设置一种特殊介质层,通过合理地选择PML的本构参数,能够使FDTD计算域的外行电磁波无反射地穿过分界面,并在吸收层内被迅速吸收分解。

2.5 源项处理

根据源项随时间的变化,源项可分为周期性源项和非周期性源项。

根据源项几何形状,可分为点源、线源、面源等。

2.6 收敛性、稳定性条件

c为计算空间内电磁波最大传播速度,\Delta t为时间步2长,\delta为网格尺寸,则有

对于三维均匀网格,时间步长\Delta t、网格尺寸\delta需要满足Courant条件:c\Delta t\leq \frac{\delta }{\sqrt{3}}

对于二维均匀网格,时间步长\Delta t、网格尺寸\delta需要满足Courant条件:c\Delta t\leq \frac{\delta }{\sqrt{2}}

对于二维均匀网格,时间步长\Delta t、网格尺寸\delta需要满足Courant条件:c\Delta t\leq \delta

三、实现与测试

参考文献

  • K S Yee .Numerical solution of initial boundary value problems involving maxwell's equations in isotropic media[J].IEEE Transactions on Antennas & Propagation, 1966, 14(5):302-307.DOI:10.1109/TAP.1966.1138693.
  • 赖生建. 计算电磁学讲义.
  • 梁铨廷. 物理光学(第五版). 2018

网络资料

  • XFDTD
  •  FDTD++ 
  • openEMS
  • Meep  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/YOCA/4352.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Python入门必学:单引号、双引号与三引号的差异与应用

Python入门必学:单引号、双引号与三引号的差异与应用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得…

Linux——基础IO

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、C语言IO1、写文件2、读文件3、stdin & stdout & stderr 二、系统文件I/O1、写文件…

个人博客系列-环境配置-gitee(2)

注册gitee账户 地址:https://gitee.com/ 此步骤省略 新建仓库 执行以下命令 即可 拉取代码 创建目录 mkdir myCode && cd myCode 登录gitee找到项目,点击克隆,拉取代码 连接远程仓库命令 git remote add origin 仓库地址http…

五种多目标优化算法(MOAHA、MOGWO、NSWOA、MOPSO、NSGA2)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)

一、5种多目标优化算法简介 1.1MOAHA 1.2MOGWO 1.3NSWOA 1.4MOPSO 1.5NSGA2 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3)&#xff…

【深度学习:人体姿态估计】计算机视觉人体姿态估计完整指南

【深度学习:人体姿态估计】计算机视觉人体姿态估计完整指南 什么是人体姿态估计?2D 人体姿态估计2D 人体姿态估计示例2D 与 3D 人体姿态估计人体姿态估计如何工作? 机器学习中人类姿态估计的挑战用于人体姿态估计的流行机器学习模型#1: OmniP…

数据结构-查找与排序

数据结构再往后就是比较零散的各种操作&#xff0c;查找与排序是其中最常出现的&#xff0c;今天来总结一下常用的查找与排序所用的方法 查找 顺序查找 最简单的查找方式&#xff0c;遍历&#xff0c;然后比较 bool search1(int *a,int n,int k){for (int i1;i<n;i){//遍…

超68万售出,sedo域名登顶最新一期交易排行榜

.com三字母域名售价超过68万人民币&#xff0c;币圈对应的四字母域名近期被曝光售价超过68万人民币。 近日&#xff0c;sedo平台交易信息显示&#xff0c;一个三字母域名被拍卖出10.5万美元&#xff0c;折合人民币超过68万人民币。 据查询&#xff0c;其注册时间为1995年&…

pytorch数学运算

目录 1. pytorch的数学运算包括2. 基本运算3. matmul4. power sqrt rsqrt5. exp log6. 近似值7. clamp 1. pytorch的数学运算包括 ▪Add/minus/multiply/divide ▪Matmul ▪Pow ▪Sqrt/rsqrt ▪Round 2. 基本运算 、-、*、/ 也可以使用函数add sub mul div 3. matmul 矩阵…

【计算机毕业设计】541鲜花商城系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

MySql-DQL-排序查询

目录 排序查询根据入职时间, 对员工进行升序排序根据入职时间&#xff0c;对员工进行降序排序根据入职时间对公司的员工进行升序排序&#xff0c;入职时间相同&#xff0c;再按照更新时间进行降序排序 排序查询 排序在日常开发中是非常常见的一个操作&#xff0c;有升序排序&a…

十三、集合进阶——单列集合 及 数据结构

单列集合 及 数据结构 13.1 集合体系结构13.1.2 单列集合1. Collection2.Collection 的遍历方式迭代器遍历增强for遍历Lambda表达式遍历 3.List集合List集合的特有方法List集合的遍历方式五种遍历方式对比 4.数据结构1).栈2).队列3&#xff09;数组4&#xff09;链表小结5&…

Cubase学习:Cubase 12常用快捷键

按键盘上的上下箭头就可以让选中的音符向上或向下移动 数字0键: 停止 Ctrl+数字 0 键: 新建视图层 Alt+数字0 键: 重新设置视图层 小数点键: 播放指针回零点 数字1 键: 左定位指针 数字 2 键: 右定位指针 数字3 键--数字9键: 分别控制 3--9 的7个定位标志 Alt+数字1 键--数字9键…

Git使用

相关链接 【C#】编号生成器&#xff08;定义单号规则、固定字符、流水号、业务单号&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】最全单据打印&#xff08;打印模板、条形码&二维码、字体样式、项目源码&#x…

数据分析(二)自动生成分析报告

1. 报告生成思路概述 怎么快速一份简单的数据分析报告&#xff0c;注意这个报告的特点&#xff1a; --网页版&#xff0c;可以支持在线观看或者分享HTML文件 --标题&#xff0c;动图&#xff0c;原始数据应有尽有 --支持交互&#xff0c;比如plotly交互画面&#xff0c;数据…

相机姿态slovePnP

opencv slovePnP 物体的姿态 估计 物体的姿态&#xff08;位置和方向&#xff09; 通过已知的图像坐标点数组&#xff0c;和对应的世界坐标点数组&#xff0c;相机的内参&#xff0c;畸变参数&#xff0c;求解相机姿态&#xff0c;即旋转向量和平移向量&#xff0c; 例如&…

Linux之ACL权限chmod命令

一. chmod命令 chmod命令来自英文词组change mode的缩写&#xff0c;其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限&#xff0c;普通用户只能管理自己文件的权限属性。 设置权限时可以使用数字法&#xff0c;亦可使用字母表达式&#xff0…

CSRF靶场实战

DVWA靶场链接&#xff1a;https://pan.baidu.com/s/1eUlPyB-gjiZwI0wsNW_Vkw?pwd0b52 提取码&#xff1a;0b52 DVWA Low 级别打开靶场&#xff0c;修改密码 复制上面的 url&#xff0c;写个简单的 html 文件 <html <body> <a hrefhttp://127.0.0.1/DVWA/vulne…

【论文解读】transformer小目标检测综述

目录 一、简要介绍 二、研究背景 三、用于小目标检测的transformer 3.1 Object Representation 3.2 Fast Attention for High-Resolution or Multi-Scale Feature Maps 3.3 Fully Transformer-Based Detectors 3.4 Architecture and Block Modifications 3.6 Improved …

链表和顺序表的优劣分析及其时间、空间复杂度分析

链表和顺序表的优劣分析及其时间、空间复杂度分析 一、链表和顺序表的优劣分析二、算法复杂度<font face "楷体" size 5 color blue>//上面算法的执行次数大致为&#xff1a;F&#xff08;N&#xff09; N^22*N10;   N 10,F(10) 1002010 130次   N 1…

C++基础知识(六:继承)

首先我们应该知道C的三大特性就是封装、继承和多态。 此篇文章将详细的讲解继承的作用和使用方法。 继承 一个类&#xff0c;继承另一个已有的类&#xff0c;创建的过程 父类(基类)派生出子类(派生类)的过程 继承提高了代码的复用性 【1】继承的格式 class 类名:父类名 {}; 【…
推荐文章