计算电磁学:FDFD算法总结

FDFD(Finite Difference Frequency Domain)在Yee格子上使用有限差分求解频域Maxwell方程组。本文通过FDFP差分方程组的推导来阐述FDFP的原理。

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

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

0、预修

0.1 Fourier变换及其逆变换

对于函数f\left ( t \right ),如果在整个实数域\mathbb{R}上绝对可积,即满足\int_{-\infty }^{+\infty }\left |f\left ( t \right ) \right |dt < \infty,则存在Fourier变换F\left ( \omega \right )=\int_{-\infty }^{+\infty }f\left ( t \right )e^{-j\omega t}dt,对应的Fourier逆变换为f\left ( t\right )=\frac{1}{2\pi }\int_{-\infty }^{+\infty }F\left ( \omega \right )e^{j\omega t}d\omega

一、数学模型

对于微分形式的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}-\boldsymbol{M} \end{matrix}\right.

依据Fourier逆变换,可得复数形式的Maxwell方程组,

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

对于各向异性介质,则有

\left\{\begin{matrix} \nabla \cdot \mathbf{D}=\rho\\ \nabla\cdot \mathbf{B}=0\\ \nabla\times \mathbf{H}=\boldsymbol{J}+j\omega\boldsymbol{\epsilon}\cdot \boldsymbol{E}\\ \nabla\times \mathbf{E}=-j\omega\boldsymbol{\mu}\cdot \boldsymbol{H}-\boldsymbol{M} \end{matrix}\right.\Rightarrow \left\{\begin{matrix} \boldsymbol{\mu}^{-1}\nabla^{2} \boldsymbol{E}+\omega ^{2}\boldsymbol{\epsilon}\cdot\boldsymbol{E}=\nabla\times \boldsymbol{\mu}^{-1}\cdot \nabla\times\boldsymbol{E}+\boldsymbol{\mu}^{-1}\nabla\nabla\cdot \boldsymbol{E}+j\omega\boldsymbol{J}+\nabla\times\boldsymbol{\mu}^{-1}\cdot \boldsymbol{M}\\ \boldsymbol{\epsilon}^{-1}\nabla^{2} \boldsymbol{H}+\omega ^{2}\boldsymbol{\mu}\cdot\boldsymbol{H}=\nabla\times \boldsymbol{\epsilon}^{-1}\cdot \nabla\times\boldsymbol{H}+\boldsymbol{\epsilon}^{-1}\nabla\nabla\cdot \boldsymbol{H}+j\omega\boldsymbol{M}-\nabla\times\boldsymbol{\epsilon}^{-1}\cdot \boldsymbol{J}\end{matrix}\right.

不考虑电流密度\boldsymbol{J}与磁流密度\boldsymbol{M},在均匀各向同性介质中,有

\left\{\begin{matrix}\nabla\times \mathbf{H}=j\omega \epsilon \boldsymbol{E} \\ \nabla\times\mathbf{E}=-j\omega \mu \boldsymbol{H} \end{matrix}\right.\Rightarrow \left\{\begin{matrix} \nabla^{2}\boldsymbol{H}+\omega ^{2}\epsilon\mu\boldsymbol{H}=0\\ \nabla^{2}\boldsymbol{E}+\omega ^{2}\epsilon\mu\boldsymbol{E}=\frac{\nabla\rho }{\epsilon}\end{matrix}\right.

在笛卡尔直角坐标系下,有

\left\{\begin{matrix} \frac{\partial H_{z}}{\partial y}-\frac{\partial H_{y}}{\partial z}=j\omega \epsilon E_{x}\\ \frac{\partial H_{x}}{\partial z}-\frac{\partial H_{z}}{\partial x}=j\omega \epsilon E_{y}\\ \frac{\partial H_{y}}{\partial x}-\frac{\partial H_{x}}{\partial y}=j\omega \epsilon E_{z}\end{matrix}\right.            \left\{\begin{matrix} \frac{\partial E_{z}}{\partial y}-\frac{\partial E_{y}}{\partial z}=-j\omega \mu H_{x}\\ \frac{\partial E_{x}}{\partial z}-\frac{\partial E_{z}}{\partial x}=-j\omega \mu H_{y}\\ \frac{\partial E_{y}}{\partial x}-\frac{\partial E_{x}}{\partial y}=-j\omega \mu H_{z}\end{matrix}\right.

二、数值模型:控制方程的空间离散

FDFD算法也采用Yee格子在空间上进行离散。在Yee格子中,电场分量放置到Yee单元各棱的中间,方向平行于各棱;磁场分量放置到Yee单元各面中心,方向平行于各面法线。

Yee Cell

\left\{\begin{matrix} \frac{H_{z}\left (i+\frac{1}{2},j+\frac{1}{2},k \right )-H_{z}\left (i+\frac{1}{2},j-\frac{1}{2},k \right )}{\Delta y}-\frac{H_{y}\left (i+\frac{1}{2},j,k+\frac{1}{2} \right )-H_{y}\left (i+\frac{1}{2},j,k-\frac{1}{2} \right )}{\Delta z}=j\omega \epsilon E_{x}\left ( i+\frac{1}{2},j,k \right )\\ \frac{H_{x}\left (i,j+\frac{1}{2},k+\frac{1}{2} \right )-H_{x}\left (i,j+\frac{1}{2},k-\frac{1}{2} \right )}{\Delta z}-\frac{H_{z}\left (i+\frac{1}{2},j+\frac{1}{2},k \right )-H_{z}\left (i-\frac{1}{2},j+\frac{1}{2},k \right )}{\Delta x}=j\omega \epsilon E_{y}\left ( i,j+\frac{1}{2},k \right )\\ \frac{H_{y}\left (i+\frac{1}{2},j,k+\frac{1}{2} \right )-H_{y}\left (i-\frac{1}{2},j,k+\frac{1}{2} \right )}{\Delta x}-\frac{H_{x}\left (i,j+\frac{1}{2},k+\frac{1}{2} \right )-H_{x}\left (i,j-\frac{1}{2},k+\frac{1}{2} \right )}{\Delta y}=j\omega \epsilon E_{z}\left ( i,j,k+\frac{1}{2} \right ) \end{matrix}\right.

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

n_{x}n_{y}n_{z}分别表示xyz方向上的Yee格子数目,考虑将上述差分方程组写成矩阵方程组\boldsymbol{A}\boldsymbol{X}形式,则有,

n=kn_{x}n_{y}+jn_{x}+i

A\left ( 6n,6n+4-6n_{x}n_{y} \right )=-\frac{1}{\Delta z}A\left ( 6n,6n+5-6n_{x} \right )=\frac{1}{\Delta y}A\left ( 6n,6n \right )=j\omega \epsilonA\left ( 6n,6n+1 \right )=0A\left ( 6n,6n+2 \right )=0A\left ( 6n,6n+3 \right )=0A\left ( 6n,6n+4 \right )=\frac{1}{\Delta z}A\left ( 6n,6n+5 \right )=-\frac{1}{\Delta y}

A\left ( 6n+1,6n+3-6n_{x}n_{y} \right )=\frac{1}{\Delta z}A\left ( 6n+1,6n-1\right )=-\frac{1}{\Delta x}A\left ( 6n+1,6n \right )=0A\left ( 6n+1,6n+1 \right )=j\omega \epsilonA\left ( 6n+1,6n+2 \right )=0A\left ( 6n+1,6n+3 \right )=-\frac{1}{\Delta z}A\left ( 6n+1,6n+5 \right )=\frac{1}{\Delta x}

A\left ( 6n+2,6n+3-6n_{x} \right )=-\frac{1}{\Delta y}A\left ( 6n+2,6n-2 \right )=\frac{1}{\Delta x}A\left ( 6n+2,6n \right )=0A\left ( 6n+2,6n+1 \right )=0A\left ( 6n+2,6n+2 \right )=j\omega \epsilonA\left ( 6n+2,6n+3 \right )=\frac{1}{\Delta y}A\left ( 6n+2,6n+4 \right )=-\frac{1}{\Delta x}

A\left ( 6n+3,6n \right )=0A\left ( 6n+3,6n+1 \right )=\frac{1}{\Delta z}A\left ( 6n+3,6n+2 \right )=\frac{1}{\Delta y}A\left ( 6n+3,6n+3 \right )=j\omega \muA\left ( 6n+3,6n+4\right )=0A\left ( 6n+3,6n+5\right )=0A\left ( 6n+3,6n+1+6n_{x} \right )=\frac{1}{\Delta y}A\left ( 6n+3,6n+1+6n_{x}n_{y} \right )=-\frac{1}{\Delta z}

A\left ( 6n+4,6n\right )=-\frac{1}{\Delta z}A\left ( 6n+4,6n+2 \right )=\frac{1}{\Delta x}A\left ( 6n+4,6n+3 \right )=0A\left ( 6n+4,6n+4 \right )=j\omega \muA\left ( 6n+4,6n+5 \right )=0A\left ( 6n+4,6n+8 \right )=-\frac{1}{\Delta x}A\left ( 6n+4,6n+6n_{x}n_{y}\right )=\frac{1}{\Delta z}

A\left ( 6n+5,6n \right )=\frac{1}{\Delta y}A\left ( 6n+5,6n+2\right )=-\frac{1}{\Delta x}A\left ( 6n+5,6n+3 \right )=0A\left ( 6n+5,6n+4 \right )=0A\left ( 6n+5,6n+5 \right )=j\omega \muA\left ( 6n+5,6n+8\right )=\frac{1}{\Delta x}A\left ( 6n+5,6n+6n_{y} \right )=-\frac{1}{\Delta y}

\boldsymbol{X}\left ( 6n \right )=E_{x}\left ( i+\frac{1}{2},j,k \right )

\boldsymbol{X}\left ( 6n+1 \right )=E_{y}\left ( i,j+\frac{1}{2},k \right )

\boldsymbol{X}\left ( 6n+2 \right )=E_{z}\left ( i,j,k+\frac{1}{2} \right )

\boldsymbol{X}\left ( 6n+3 \right )= H_{x}\left ( i,j+\frac{1}{2},k+\frac{1}{2} \right )

\boldsymbol{X}\left ( 6n+4 \right )= H_{y}\left ( i+\frac{1}{2},j,k+\frac{1}{2} \right )

\boldsymbol{X}\left ( 6n+5 \right )= H_{z}\left ( i,j+\frac{1}{2},k+\frac{1}{2} \right )

三、数值模型:边界条件的空间离散

参考资料

  • 王长清. 现代计算电磁学基础. 2005.
  • 王元明. 数学物理方程与特殊函数. 
  • 陆庆乐. 复变函数.
  • 张元林. 积分变换.
  • 老大中. 变分法基础.

网络资料

计算电磁学:FDTD算法总结icon-default.png?t=N7T8https://blog.csdn.net/qq_26221775/article/details/136264673?spm=1001.2014.3001.5501

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

是的,我换logo了!

大家好&#xff0c;我是记得诚。 当你收到推文的时候&#xff0c;会发现记得诚换logo了&#xff01; 之前是这样的。 现在是这样的。 这个新logo&#xff08;头像&#xff09;是2年前在淘宝上请人做的&#xff0c;价值37人民币&#xff0c;但一直没有换上。当时还发了一个朋友…

spring cloud alibaba sentinel 配置过程 流控 降级热点 授权

目录 1.基础理论 2.配置 3.加入依赖和配置文件 4.流控 1.基础理论 Sentinel是阿里开源的项目&#xff0c;提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 丰富的应用场景 &#xff1a;Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心…

透视App投放效果,Xinstall助力精准分析,让每一分投入都物超所值!

在移动互联网时代&#xff0c;App的推广与投放成为了每一个开发者和广告主必须面对的问题。然而&#xff0c;如何精准地掌握投放效果&#xff0c;让每一分投入都物超所值&#xff0c;却是一个令人头疼的难题。今天&#xff0c;我们就来谈谈如何通过Xinstall这个专业的App全渠道…

简单的UDP网络程序:多人群聊系统

本章重点 能够实现一个简单的udp客户端/服务器; 1.创建套接字 我们把服务器封装成一个类&#xff0c;当我们定义出一个服务器对象后需要马上初始化服务器&#xff0c;而初始化服务器需要做的第一件事就是创建套接字。 ⭐参数说明&#xff1a; domain&#xff1a;创建套接字的域…

AIGC 004-T2I-adapter另外一种支持多条件组合控制的文生图方案!

AIGC 004-T2I-adapter另外一种支持多条件组合控制的文生图方案&#xff01; 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 T2I-Adapter 论文提出了一种名为 T2I-Adapter 的轻量级适配器模块&#xff0c;旨在增强文本到图像 (T2I) 扩散模型的语义理解和生成能力。 论文指出…

在 Visual Studio 2022 (VS2022) 中删除 Git 分支的步骤如下

git branch -r PS \MauiApp1> git push origin --delete “20240523备份” git push origin --delete “20240523备份”

asrpro softspi SD卡读写

采样 50M 1M&#xff1b;采样时间足够长&#xff0c;采样频率1M 避免信息遗漏 引脚 cs pa2 mosi pa3 sck pa5 miso pa6 vcc ->5v gnd ->gnd ARDUINO SD库与移植&#xff08;原本是打算移值tw ch32v103的sd库的&#xff0c;但没有对比&#xff0c;只能选择arduino ; …

GDB对Linux信号的处理方式

前言 在软件开发过程中&#xff0c;调试工具是程序员不可或缺的助手。GDB&#xff08;GNU Debugger&#xff09;作为一个强大的调试器&#xff0c;广泛应用于Linux系统中的C/C程序调试。然而&#xff0c;信号处理机制的复杂性常常给调试带来挑战。特别是在处理异步和同步信号时…

React中 将UI 视为树

当 React 应用程序逐渐成形时&#xff0c;许多组件会出现嵌套。那么 React 是如何跟踪应用程序组件结构的&#xff1f; React 以及许多其他 UI 库&#xff0c;将 UI 建模为树。将应用程序视为树对于理解组件之间的关系以及调试性能和状态管理等未来将会遇到的一些概念非常有用。…

加入MongoDB AI创新者计划,携手MongoDB共同开创AI新纪元

加入MongoDB AI创新者计划&#xff01; MongoDB对AI创新和初创企业的支持既全面又广泛&#xff01;无论您是领先的AI初创企业还是刚刚起步&#xff0c;MongoDB Atlas都是支持您愿景的最佳平台。 AI 初创者计划The AI Startup Track AI初创者计划为早期初创企业提供专属福利&…

CHI协议_1

作者&#xff1a;someone链接&#xff1a;https://www.zhihu.com/question/304259901/answer/3455648666来源。 1. AMBA CHI简介 一致性总线接口&#xff08;CHI&#xff09;是AXI一致性扩展&#xff08;ACE&#xff09;协议的演进。它是Arm的AMBA总线的一部分。AMBA是一种免…

鸿蒙ArkTS声明式开发:跨平台支持列表【触摸事件】

触摸事件 当手指在组件上按下、滑动、抬起时触发。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独…

WEB攻防【1】——ASP应用/HTTP.SYS/短文件/文件解析/Access注入/数据库泄漏

ASP&#xff1a;常见漏洞&#xff1a;本文所写这些 ASPX&#xff1a;未授权访问、报错爆路径、反编译 PHP&#xff1a;弱类型对比、mdb绕过、正则绕过&#xff08;CTF考得多&#xff09; JAVA&#xff1a;反序列化漏洞 Python&#xff1a;SSTI、字符串、序列化 Javascript&…

openEuler 22.03 LTS SP3源码编译部署OpenStack-Caracal

openEuler 22.03 LTS SP3源码编译部署OpenStack-Caracal 说明机器详情安装操作系统注意事项基础准备Controller节点 && Compute节点 && Block节点关闭防火墙关闭selinux设置静态IP更新安装前准备Controller节点 && Compute节点 && Block节点设…

Linux系统启动原理

Linux系统启动原理及故障排除 Centos6系统启动过程 修改系统启动级别 vim /etc/inittabCentos7启动流程 加载BIOS信息&#xff0c;进行硬件检测 根据BIOS设定读取设备中的MBR&#xff0c;加载Boot loader 加载内核&#xff0c;内核初始化以后以模块的形式动态加载硬件 并且加…

嵌入式进阶——蜂鸣器

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 蜂鸣器原理图测试发声乐理知识乐理应用PWM测试发声PWM驱动封装 蜂鸣器 蜂鸣器是一种能够产生固定频率的声音的电子元件。它通常由…

MySQL数据库中的多表查询/连接查询操作

类型&#xff1a;内连接 &#xff0c;外连接{左外连接&#xff0c;右外连接} 之所以要使用连接查询的意义就是为了&#xff0c;借助数据库可以避免大量的数据重复。 进行连接查询的前提是要求多张表之间存在相关联的字段。 这里指的相关联的字段就是表与表之间存在着关系&am…

linux 常用命令:find grep ps netstat sudo df du rm

rm 命令 删除 -r 是递归参数&#xff08;recursive&#xff09;&#xff0c;用于删除目录及其内容。如果不加这个参数&#xff0c;rm 命令无法删除非空目录。-f 是强制参数&#xff08;force&#xff09;&#xff0c;用于强制删除文件或目录&#xff0c;不会进行任何确认提示…

windows 搭建 go开发环境

go语言&#xff08;或 Golang&#xff09;是Google开发的开源编程语言&#xff0c;诞生于2006年1月2日下午15点4分5秒&#xff0c;于2009年11月开源&#xff0c;2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势&#xff0c;Go语言从底层原生支持并发&#xff0c;无须…

Android network — 进程指定网络发包

Android network — 进程指定网络发包 0. 前言1. 进程绑定网络1.1 App进程绑定网络1.2 Native进程绑定网络 2. 源码原理分析2.1 申请网络requestNetwork2.2 绑定网络 BindProcessToNetwork 3. 总结 0. 前言 在android 中&#xff0c;一个app使用网络&#xff0c;需要在manifest…