计算电磁学---有限差分法

合集下载

计算电磁学-第4章-有限差分法

计算电磁学-第4章-有限差分法


同样对微分方程的解y(x)在点(xn,yn)进行泰勒展开
yn1 yn hf ( xn , yn )
1 ' 2 1 '' 3 y ( xn 1 ) y ( xn ) f n h f n h f n h 2! 3!

比较上面两式,只要它们前面项的系数尽可能多的相等,就 保证了截断精度。
1、差分与差商

用差分代替微分,是有限差分法的基本出发点。 这一点由微分原理保证的,当自变量的差分趋于 零时,差分变成微分
f ( x) f ( x h) f ( x), h x
df f ( x) f ( x) lim dx x 0 x
'
f ( x) f ( x h) f ( x) f ( x) x h
龙格-库塔法

选取α、β、ω系数,使两式项的系数相等
1 fn , 2 f , 3 f , 4 f ,
' n '' n ''' n

如果该关系式能够一直维持到第m阶仍能成立, 但m+1阶不再成立,就称为m阶龙格-库塔法
cem@
cem@
cem@
cem@
cem@
cem@
cem@
CST粒子仿真

Pierce Gun
MAGIC
cem@

dy f ( x, y ) dx y x x 0 y0
y( x) y0 f (t , y(t )dt
x0
x
欧拉近似法在函数图上用阶梯的折线代替曲线
f(x) y(x)
yn+1 yn y(x n+1)1) f(n+

有限差分法在静态电磁场数值计算中的应用

有限差分法在静态电磁场数值计算中的应用
图4节点位置的标记
(18)
而为加速迭代解的收敛,构成超松弛迭代公式的原则是;并不将由上式所算得的结果作为 的第 次近似值,而仅把它视为一中间结果 ,然后作加权平均处理,即令
式中, 称为加速收敛的松弛因子。超松弛迭代法的 取值范围是 ,当 时,式(19)即归结为高斯一赛德尔迭代法的迭代公式18);当 时,迭代过程将不收敛而发散。最佳收敛因子的取值随问题和离散化的情况而异。对于第一类边值问题,若一正方形场域由正方形网格剖分(每边节点数为 ),则最佳收敛因子 可按下式计算
3.2.1偏微分方程的离散化—五点差分格式
对于所给定的偏微分方程定解问题,应用有限差分法,首先需从网格剖分着手决定离散点的分布方式。 原则上,可以采用任意的网络刻分方式,但这将直接影响所得差分方程的具体内容,进面影响解题的经济性与计算精度。为简化问题,通常采用完全有规律的分布方式,这样在每个离散点上就能得出相同形式的差分方程,有效地提高解题速度,因而经常采用正方形网格的剖分方式。现即以这种正方形网络剖分场域 ,也就是说,用分别与 、 两坐标轴平行的两簇等距(步距为 )网络线来生成正方形网格,网格线的交点称为节点,这样,场域 就被离散化为由网格节点构成的离散点的集合。
(20)
若一矩形场域由边长为 的正方形网格副分(设两边分别为 和 ,且 、 通常要大于15),则相应的最佳收敛因子为
(21)
应当注意,在迭代运算前,恰当地给定各内点的初值(即所谓零次近似值),也是加速收敛速度的一个有效途径。
(2),偏导数也可近似地用相应的差商来表达。若没定函数 ,当其独立变量 得到一个很小的增量 时,则 方向的一阶偏导数可以近似表达为
(9)
同样,相应的二阶偏导数可以近似表达为
(10)
3.2差分格式的构造

有限差分法初步

有限差分法初步
有限差分法初步
• 引言 • 有限差分法的原理 • 有限差分法的应用 • 有限差分法的实现 • 有限差分法的优缺点 • 结论与展望
01
引言
有限差分法的定义
有限差分法是一种数值计算方法,通 过将偏微分方程离散化为差分方程, 从而求解偏微分方程的近似解。
近似表示微 分,从而将微分方程转化为差分方程。
有限差分法。
COMSOL Multiphysics实现
COMSOL Multiphysics是一款基于有限元法的多物理场仿真软件,也支持有限差分法。 COMSOL提供了友好的用户界面和丰富的物理模型库,使得有限差分法的实现更加便
捷。
有限差分法的并行计算实现
MPI实现
MPI(Message Passing Interface)是一种并行计算的标准,支持多个处理 器之间的通信。通过MPI,可以实现有限差分法的并行计算,提高计算效率。
自适应网格技术
根据解的特性自适应地调整离散点间距,以 提高计算精度和效率。
并行化与优化
通过并行计算和算法优化等技术提高有限差 分法的计算效率。
与其他方法的结合
将有限差分法与其他数值方法或物理模型相 结合,以处理更复杂的问题。
06
结论与展望
结论
01
有限差分法是一种数值计算方 法,通过离散化连续问题为差 分方程,进而求解数值近似解 。
有限差分法原理简单,易于理解和实现,不需要复杂的数学工 具。
有限差分法可以方便地进行并行计算,提高计算效率。
有限差分法可以应用于各种不同类型的偏微分方程,具有广泛 的适用性。
有限差分法的缺点
精度问题
由于有限差分法是一种离散化方法,其精度受到离散点间距的限制, 可能导致计算结果不够精确。

FDM 有限差分法

FDM 有限差分法

z
2 3
(
h (1 0 ) h (3 0 ) )0 x h1h3 (h1 h3 )
2 3 2 1
h3
h2 h4
4
h1
1
h4 (2 0 ) h2 (4 0 ) 2 ( 2 )0 2 y h2 h4 (h2 h4 )
r0
r
0 (
Ab1 Ab 2 R( Aa 3 Aa 4 ) 2(1 R) A0
( 1 ) [(1) (2)] 2
(1)
1 2 Rh Wa 0 2
(2)
1 1 Ab1 Ab 2 (1 R)( A3 A4 ) (3 R) A0 Rh 2Wa 0 2 4
有限差分(FDM)
在电磁散射计算方法中,有限差分法自上世纪 五十年代以来得到了广泛的应用,该方法概念清晰 ,方法简单,直观。虽然其与变分法相结合所形成 的有限元法更有效,但有限差分还是以其固有特点 在数值计算中有其重要地位。
为求解由偏微分方程定解问题所构造的数 学模型,有限差分法是将定解区域(场区)离 散化为网格离散节点的集合。并以各离散点上 函数的差商来近似该点的偏导数,使待求的偏 微分方程定解问题转化为一组相应的差分方程 。根据差分方程组解出各离散点处的待求函数 值—离散解。
2 2 2 2 2 0 r z
★★
1 3
整个场域内点的差分格式共有两种!
60 2 4 41
边界条件的处理
• 1、不同介质平面分界面的情形
2
h2
3
0
1
h3
A有源
B无源
1
h4
4
2
h1
a1 a 2 a3 a 4 4a0 h2Wa 0

计算电磁学-第5章-时域有限差分法1

计算电磁学-第5章-时域有限差分法1



FDTD 方法提出之后,随着计算技术,特别是电子 计算机技术的发展, FDTD 方法得到了长足的发展 ,在电磁学,电子学,光学等领域都得到了广泛 的应用
4

为求解由偏微分方程定解问题所构造的数学模型
,有限差分法是将定解区域(场区)离散化为网 格离散节点的集合。

并以各离散点上函数的差商来近似该点的偏导数 ,使待求的偏微分方程定解问题转化为一组相应 的差分方程。根据差分方程组解出各离散点处的 待求函数值—离散解。
6
时域和频域的麦克斯韦方程
时域
H E t E H J , J E t E B 0
频域
E j H H J j E E B 0
x
+1
/2 ,k )
( x x, y, z ) (i 1, j, k )
y
Hx(i, j + 1 / 2,k + 1 / 2)
Hy (i +
( x, y , z ) (i, j, k )
x
Hz(i + 1 / 2, j + 1 / 2,k)
Hx(i,j+1/2,k+1/2) Hy(i+1/2,j,k+1/2) Hz(i+1/2,j+1/2,k)
12
离散取样

空间离散:假设在各方向上均匀离散,网 格步长 Δx, Δy, Δz ,用字符 i,j,k分别表示 x,y,z方向上的网格标示。这样连续的空间 (x,y,z)离散为用(i,j,k) 表示的离散空间点— —空间取样点。 ( x x, y y, z z )

计算电磁学

计算电磁学

电磁学:电磁学是研究电磁现象的规律和应用的物理学分支学科,起源于18世纪。

广义的电磁学可以说是包含电学和磁学,但狭义来说是一门探讨电性与磁性交互关系的学科。

主要研究电磁波、电磁场以及有关电荷、带电物体的动力学等等。

计算电磁学:《计算电磁学》是2002年03月科学出版社出版的图书,作者是王秉中。

内容简介:本书在论述计算电磁学的产生背景、现状和发展趋势的基础上,系统地介绍了电磁仿真中的有限差分法、人工神经网络在电磁建模中的应用,遗传算法在电磁优化中的应用等。

图书目录:第一章绪论1.1 计算电磁学的产生背景1.1.1 高性能计算技术1.1.2 计算电磁学的重要性1.1.3 计算电磁学的研究特点1.2 电磁场问题求解方法分类1.2.1 解析法1.2.2 数值法1.2.3 半解析数值法1.3 当前计算电磁学中的几种重要方法1.3.1 有限元法1.3.2 时域有限差分法1.3.3 矩量法1.4 电磁场工程专家系统1.4.1 复杂系统的电磁特性仿真1.4.2 面向CAD 的复杂系统电磁特性建模1.4.3 电磁场工程专家系统第一篇电磁仿真中的有限差分法第二章有限差分法2.1 差分运算的基本概念2.2 二维电磁场泊松方程的差分格式2.2.1 差分格式的建立2.2.2 不同介质分界面上边界条件的离散方法2.2.3 第一类边界条件的处理2.2.4 第二类和第三类边界条件的处理2.3 差分方程组的求解2.3.1 差分方程组的特性2.3.2 差分方程组的解法2.4 工程应用举例2.5 标量时域有限差分法2.5.1 瞬态场标量波动方程2.5.2 稳定性分析2.5.3 网格色散误差2.5.4 举例第三章时域有限差分法I——差分格式及解的稳定性3.1 FDTD 基本原理3.1.1 Yee 的差分算法3.1.2 环路积分解释3.2 解的稳定性及数值色散3.2.1 解的稳定条件3.2.2 数值色散3.3 非均匀网格及共形网格3.3.1 渐变非均匀网格3.3.2 局部细网格3.3.3 共形网格3.4 三角形网格及平面型广义Yee 网格3.4.1 三角形网格离散化3.4.2 数值解的稳定性3.4.3 平面型广义Yee 网格3.5 半解析数值模型3.5.1 细导线问题3.5.2 增强细槽缝公式3.5.3 小孔耦合问题3.5.4 薄层介质问题3.6 良导体中的差分格式第四章时域有限差分法Ⅱ——吸收边界条件4.1 Bayliss-Turkel 吸收边界条件4.1.1 球坐标系4.1.2 圆柱坐标系4.2 Engquist-Majda 吸收边界条件4.2.1 单向波方程的泰勒级数近似4.2.2 Mur 的差分格式4.2.3 Trefethen-Halpern 近似展开4.2.4 Higdon 算子4.3 廖氏吸收边界条件4.4 梅-方超吸收边界条件4.5 Berenger 完全匹配层(PML)4.5.1 PML 媒质的定义4.5.2 PML 媒质中平面波的传播4.5.3 PML-PML 媒质分界面处波的传播4.5.4 用于FDTD的PML4.5.5 三维情况下的PML4.5.6 PML 的参数选择4.5.7 减小反射误差的措施4.6 Gedney 完全匹配层4.6.1 完全匹配单轴媒质4.6.2 FDTD 差分格式4.6.3 交角区域的差分格式4.6.4 PML 的参数选取第五章时域有限差分法Ⅲ——若干实用技术5.1 激励源技术5.1.1 强迫激励源5.1.2 总场/散射场体系5.2 集总参数电路元件的模拟5.2.1 扩展FDTD方程5.2.2 集总参数电路元件举例5.3 近区场到远区场的变换5.4 数字信号处理技术5.4.1 极点展开模型与Prony算法5.4.2 线性及非线性信号预测器模型5.4.3 系统识别方法及数字滤波器模型5.5 应用举例5.5.1 均匀三线互连系统5.5.2 同轴线馈电天线5.5.3 多体问题5.5.4 同轴-波导转换器5.5.5 波导元件的高效分析5.5.6 传输线问题的降维处理第六章基于交变隐式差分方向方法的时域有限差分法——ADI-FDTD 方法6.1 ADI-FDTD 基本原理6.1.1 ADI-FDTD 差分格式I6.1.2 ADI-FDTD 差分格式Ⅱ6.2 解的稳定性与数值色散6.2.1 二维问题的稳定性6.2.2 三维问题的稳定性6.2.3 增长矩阵6.3 吸收边界条件6.3.1 Gedney的PML媒质中的ADI-FDTD格式6.3.2 Berenger的PML媒质中的ADI-FDTD格式6.4 应用举例6.4.1 有耗平行板传输线6.4.2 有耗平行板传输线——降维处理6.4.3 用混合网格二维FDTD算法分析传输线第二篇人工神经网络在电磁建模中的应用第七章人工神经网络模型7.1 生物神经元7.2 人工神经元模型7.2.1 单端口输入神经元7.2.2 活化函数7.2.3 多端口输入神经元7.3 多层感知器神经网络7.3.1 单层前传网络7.3.2 多层前传网络7.4 多层感知器的映射能力7.5 多样本输入并行处理第八章用回传算法训练多层感知器8.1 神经网络的学习能力8.1.1 受控学习方式8.1.2 误差校正算法8.2 误差回传算法8.2.1 初始化8.2.2 delta法则8.2.3 计算的两个过程8.3 训练模式8.4 回传算法的改进8.4.1 带矩量修正的广义delta法则8.4.2 学习速率参数自适应算法“指南”8.4.3 delta-delta 学习规则8.4.4 delta-bar-delta 学习规则8.4.5 Matlab 中的学习参数自适应算法8.5 将受控学习看做函数最优化问题8.5.1 共轭梯度法8.5.2 牛顿法8.5.3 Levenberg-Marquardt 近似8.6 网络推广8.6.1 训练集合大小的确定8.6.2 网络结构的优化第九章神经网络与电磁建模9.1 正交试验设计9.1.1 全组合正交试验设计9.1.2 方螺旋电感的神经网络模型9.1.3 微带协同馈电系统的神经网络模型9.1.4 带状线间隙不连续性的神经网络模型9.1.5 部分组合正交试验设计9.2 中心组合试验设计9.2.1 中心组合试验设计9.2.2 单层间互连结构的神经网络模型9.2.3 带状线双层间互连结构的神经网络模型9.2.4 同轴-波导转换器的神经网络模型9.3 随机组合试验设计9.3.1 高速互连结构的神经网络模型9.3.2 例子第十章知识人工神经网络模型10.1 外挂式知识人工神经网络模型10.1.1 差值模型和PKI 模型10.1.2 输入参数空间映射模型10.1.3 主要元素项分析10.1.4 稳健的知识人工神经网络模型10.2 嵌入式知识人工神经网络模型10.2.1 知识人工神经元10.2.2 知识人工神经元三层感知器10.2.3 应用实例第三篇遗传算法在电磁优化中的应用第十一章遗传算法基本原理11.1 基本的遗传算法11.1.1 基本遗传算法的描述11.1.2 应用遗传算法的准备工作11.1.3 遗传操作11.2 遗传算法的特点及数学机理11.2.1 遗传算法的特点11.2.2 遗传算法的数学机理第十二章遗传算法在电磁优化中的应用12.1 天线及天线阵的优化设计12.1.1 天线的优化设计12.1.2 微带天线的优化设计12.1.3 天线阵的优化设计12.2 平面型带状结构的优化设计12.2.1 稀疏化带状栅的优化设计12.2.2 带状电阻栅加载导体带的优化设计12.2.3 多层周期性导体带状栅的优化设计参考文献。

电磁学的数值计算方法

电磁学的数值计算方法

电磁学的数值计算方法电磁学是研究电场和磁场相互作用的学科,它在日常生活和科学研究中起着重要的作用。

随着计算机技术的快速发展,数值计算方法在电磁学中的应用也越来越广泛。

本文将介绍几种常用的电磁学数值计算方法,并探讨其原理和应用。

一、有限差分法(Finite Difference Method)有限差分法是一种基于离散化空间和时间的数值计算方法,常用于求解求解具有边值条件的偏微分方程。

在电磁学中,有限差分法可以用来求解电磁场的静电场、静磁场以及时变电磁场等问题。

该方法通过将空间和时间进行网格离散化,将偏微分方程转化为差分方程,并用迭代方法求解得到数值解。

二、有限元法(Finite Element Method)有限元法是一种广泛应用于各种物理问题求解的数值计算方法,电磁学也不例外。

该方法通过将求解区域划分为有限的小元素,并在局部内部逼近真实场量的变化。

在电磁学中,有限元法可以用来求解电场、磁场以及电磁波传播等问题。

通过选择合适的元素类型和插值函数,以及建立元素之间的边界条件,可以得到电磁场的数值解。

三、时域积分法(Time Domain Integral Method)时域积分法是一种基于格林函数的数值计算方法,通过积分形式表示电磁场的边界条件和过渡条件,进而求解电磁场。

时域积分法广泛应用于求解电磁波的辐射和散射问题,如天线辐射和散射、电磁波在介质中的传播等。

该方法通过离散化电磁场的源和观测点,并利用格林函数的性质进行数值积分,得到电磁场的数值解。

四、有限时域差分法(Finite-Difference Time-Domain Method)有限时域差分法是一种基于电磁场的离散化网格和时间的有限差分法,是求解各种电磁问题最常用的数值计算方法之一。

有限时域差分法通过离散化时空域,将麦克斯韦方程组转化为差分方程组,并通过时间步进的方式求解得到电磁场的数值解。

该方法适用于求解各种电磁波传播、辐射和散射等问题。

第9讲-有限差分法(二)

第9讲-有限差分法(二)
n 1 (1 ) n
i, j i, j

4
1 n 1 2 ( in1, j in, j 1 in h Fi , j ) 1, j i , j 1
ω =1,就退回到高斯-赛德尔迭代法, ω>2,迭代过程变得极 其不稳定,通常1<ω<2,能提高收敛速度。 ω的最佳选择与具 体问题和离散化的情况有关。 对第一类边值问题: 若正方形场域由正方形网格剖分(每 边节点数为p+1),则最佳收敛因子 若长方形场域由正方形网格剖分(两 边节点数分别为p,q,且都大于 15),则最佳收敛因子
离散方程组的系数一般都是有规律的,且各个方 程都很简单,包含的项数不多(取决于差分计算格 式,每个方程待求量的项数不超过5项)。
3
各离散节点上的方程组形式 (节点顺序按坐标先从y轴增 加,再x轴增加,即从下到 上,从左到右,先列后行) 排列。
2 4 h Fi , j 1 i 1, j 1 i, j i 1, j 1 i , j 2 i , j 1 2 i 1, j i , j 1 i 1, j i , j 1 4 i , j h Fi , j 2 i 1, j 1 i , j 2 i 1, j 1 i , j 4 i , j 1 h Fi , j 1
1 4 i 2,... M, j 2,...q 1,q 1,... N 1 4 j 2,...q 1,q 1,... N
对称轴
1, j (2 2, j 1, j 1 1, j 1 )
介质分界面 i ,q 1 (i 1,q 2 i ,q1 i 1,q 2 r i ,q1 )
15

电磁场与电磁波18_有限差分法

电磁场与电磁波18_有限差分法

空 散
差分方程
迭代法求解
Research Institute of RF & Wireless Techniques
18.2 导数的有限差分近似
首先将连续空间用网格离
South China University of Technology
散化根据研究的问题,离 散化网格可以是长方形、 三角形等。 考虑连续函数 ( x) 在x0处 的泰勒级数展开
18.1 引言
有限差分法是一门最古老的数值计算法。
South China University of Technology
有限差分法把连续空间离散化,把导数以差分
近似,从而把偏微分方程转化为差分方程组 (代数方程),再采用适当的算法求解,得到 原问题的近似解。
空间离散化的越细,解的误差愈小,但差分方
0
4
a b
采用分界面边界条件 a |0 b |0 n n 差分近似
a 1* 3
2h b
1 3*
2h
a1* b3* a3 b1
K 2 1 2 2K 于是 0 4 (1 K 1 2 1 K 3 4 1 K h F ) Research Institute of RF & Wireless Techniques K a / b
n i , j 为高斯-赛德尔迭代法得到的结果
称为松弛因子。不同的值,可以有不同
的收敛速度,其值范围一般为1与2之间。 通常会有一个最佳值。最佳的确定与具体 问题有关。 显然,如果选择合适,超松弛迭代法收敛 速度最快。
Research Institute of RF & Wireless Techniques

计算电磁场理论中的有限差分法与有限元法

计算电磁场理论中的有限差分法与有限元法

计算电磁场理论中的有限差分法与有限元法电磁场理论是电磁学的重要组成部分,研究电磁场的分布和变化规律对于解决实际问题具有重要意义。

在计算电磁场中,有限差分法和有限元法是两种常用的数值计算方法。

本文将从理论原理、应用范围和优缺点等方面对这两种方法进行探讨。

有限差分法是一种将连续问题离散化的方法,通过将连续的电磁场分割成网格,然后在每个网格上进行离散计算。

这种方法的基本思想是将微分方程转化为差分方程,然后利用差分方程进行求解。

有限差分法的优点是简单易懂,计算过程直观,适用于各种电磁场问题的求解。

然而,由于差分法中的网格离散化会引入一定的误差,所以在计算精度上存在一定的限制。

与有限差分法相比,有限元法是一种更加精确的数值计算方法。

有限元法将电磁场问题的求解区域划分为有限个小单元,然后在每个小单元上建立适当的插值函数,通过求解代数方程组得到电磁场的近似解。

有限元法的优点是可以处理复杂的几何形状和材料特性,适用于各种边界条件和非线性问题。

然而,有限元法的计算过程相对较为复杂,需要对问题进行合理的离散化和网格划分,同时对于大规模问题,计算量也较大。

在实际应用中,根据具体问题的特点和求解要求,选择合适的数值计算方法是十分重要的。

对于简单的电磁场问题,如一维导线的电流分布,可以选择有限差分法进行求解。

而对于复杂的电磁场问题,如三维空间中的电磁波传播,有限元法更适合。

此外,有限差分法和有限元法还可以结合使用,通过将两种方法的优点相结合,提高计算精度和效率。

除了理论原理和应用范围,有限差分法和有限元法的优缺点也值得关注。

有限差分法的优点是简单易懂,计算过程直观,而且对于一些简单问题可以得到较为准确的结果。

然而,由于差分法中的网格离散化会引入一定的误差,对于复杂问题的求解精度有限。

相比之下,有限元法可以处理复杂的几何形状和材料特性,适用于各种边界条件和非线性问题,计算精度较高。

然而,有限元法的计算过程相对复杂,需要对问题进行合理的离散化和网格划分,同时对于大规模问题计算量较大。

各种计算电磁学方法比较和仿真软件

各种计算电磁学方法比较和仿真软件

各种计算电磁学方法比较和仿真软件计算电磁学方法是基于电磁理论和数值计算方法的电磁场分析方法,广泛应用于电磁设备的设计和分析中。

在电磁场计算中,常见的方法包括有限差分法(Finite Difference Method, FDM)、有限元法(Finite Element Method, FEM)、边界元法(Boundary Element Method, BEM)和时域积分方程法(Time Domain Integral Equation Method, TDIE)等,每种方法都有其特点和适用范围。

有限差分法是一种有限差商逼近的数值求解方法,将连续域中的偏微分方程转化为差分方程,然后通过离散化求解得到电磁场分布。

有限差分法具有简单、易于理解和实现的优点,适用于处理规则的几何体和均匀介质的场问题。

然而,当处理复杂几何体和非均匀介质问题时,有限差分法的计算效率较低。

有限元法是一种通过分割计算域为有限个简单形状单元,并在每个单元上采用多项式近似的方法。

有限元法可以较好地处理任意形状的几何体和非均匀介质问题,并且对于大型复杂结构也具有较好的可扩展性。

有限元法在电磁场计算中广泛应用,例如在电感、电容和波导等领域。

边界元法是一种基于位势-势流理论的计算方法,将电磁场分析问题转化为求解边界上的积分方程。

边界元法可以处理复杂几何边界的问题,并且相对于有限元法,边界元法中的待求解变量的数目较少,计算量较小。

边界元法在电磁场计算中常用于处理表面波和边界散射等问题。

时域积分方程法是一种基于麦克斯韦方程组的数值计算方法,通过将时间导数和空间导数分开进行求解,可以用来描述电磁波在时域中的传播。

时域积分方程法可以处理电磁散射、辐射和天线等问题,并且对于时间反演分析也具有优势。

除了上述传统的计算电磁学方法,现代仿真软件也广泛用于电磁场计算和设计。

一些常见的电磁场仿真软件包括Ansys、COMSOL Multiphysics、CST Microwave Studio、FEKO和HFSS等。

有限差分法

有限差分法

一阶导数
第4章 有限差分法
即是无限小的微分
除以无限小的微分
应用差分,显然,它可近似地表达为
的商,
即有限小的差分Δf(x)除以有限小的差分Δx 的商,称为差商。同理,一阶导数
f ' (x) 还可近似表达为
第4章 有限差分法
式(4-2)、 式(4-3)和式(4-4)分别称为一阶向前、 向后和中心差商。 如图 4-1 所示, 对应于点 P 的一阶向前、 向后和中心差商,在几何意义上 可分别表征为弧线 PB、 AP 和 AB的斜率,而在理论上它们对于该点一阶导 数的逼近度则分别可从以下泰勒公式的展开式中得知,即由
第4章 有限差分法
对于场域内典型的内节点 o (xi,yj), 如图 4-2 所示, 它与周围相邻的节 点 1、 2、 3 和 4构成一个所谓对称的星形。今采用双下标(i,j)的识别方法, 设在这些离散节点上的待求位函数 u 的 近 似 值 分 别 记 作 uo = u(i,j)、 u1 = u(i+1,j)、 u2 = u(i,j+1)、 u3 = u(i-1,j) 和u4 = u(i,j-1), 则参照式 (4-7),二维泊松方程(4-8)可近似离散化表示为
同样,相应的二阶偏导数可以近似表达为
第4章 有限差分法
4.3 差分格式的构造
现以二维静态电、 磁场泊松方程的第一类边值问题为例, 来具体阐明有 限差分法的应用。设具有平行平面场特征的电磁场场域 D, 如图 4-2 所示, 为一由闭合边界 L 所界定的平面域,其定解问题可表述为
4.3.1 偏微分方程的离散化—五点差分格式
对于包括电磁场在内的各种物理场,应用有限差分法进行数值计算的 步骤通常是:
1)采用一定的网格剖分方式离散化场域;

有限差分法基本原理-较好

有限差分法基本原理-较好

如折射、反射、散射等现象。
电磁波控制
03
在电磁场模拟中,有限差分法还可以用于研究电磁波的调控技
术,如波导、滤波器等器件的设计和优化。
有限差分法在气候模拟中的应用
气候模型
气候模拟是有限差分法的另一个重要应用领域,用于研究地球气 候系统的演变和预测。
大气环流模型
通过有限差分法,可以建立大气环流模型,模拟大气中温度、湿 度、风速等变量的变化和传播。
有限差分法的稳定性分析
稳定性定义
有限差分法的稳定性是指当时间步长趋于无 穷小时,数值解的误差不会发散,而是趋于 零。
稳定性条件
为了确保有限差分法的稳定性,需要满足一定的条 件,例如CFL条件(Courant-Friedrichs-Lewy条件 )等。
不稳定性分析
对于某些初始条件和参数,有限差分法可能 会出现数值不稳定的情况,需要进行不稳定 性分析并采取相应的措施。
3
边界条件处理
在流体动力学应用中,有限差分法需要考虑复杂 的边界条件,如固壁、滑移边界等,以实现准确 的数值模拟。
有限差分法在电磁场模拟中的应用
麦克斯韦方程
01
有限差分法可以用于求解电磁场中的麦克斯韦方程,以模拟电
磁波的传播和散射等行为。
电磁波传播
02
通过有限差分法,可以模拟电磁波在复杂介质中的传播特性,
THANKS FOR WATCHING
感谢您的观看
未来研究方向与展望
研究方向 展望
针对有限差分法的局限性和不足,未来的研究可 以关注如何改进算法,提高计算精度和稳定性, 以及如何拓展该方法的应用范围。
随着计算机技术的不断发展和数值计算方法的进 步,有限差分法有望在未来得到更广泛的应用和 更深入的研究,为解决各种科学和工程问题提供 更加有效的数值计算方法。

二、有限差分法

二、有限差分法

二、有限差分法(FDM)
(3)稳定性分析
∆x 和 ∆t 的选择原则是
不是独立的,是相互影响
E (i ) =
n z m =∞ m = −∞
c 1 λ= = f f µε
1 T= f
∑A
n z
n m
e
jk m i∆x
E
n +1 z
m=∞
∆t (i ) = E (i ) + E zn (i + 1) − 2 E zn (i ) + E zn (i − 1) µσ∆x 2
∆t r= 2 µσ∆x
γ
min
= 1 − 4r
γ ≤1
γ
max
1 − 4 r ≥ −1
∆t 1 ≤ 2 2 µσ∆x
1 ∆t ≤ µσ∆x 2 2
=1
1 r≤ 2
二、有限差分法(FDM)
不稳定差分格式的举例
∂ 2 Ez ∂ − µσ E z = 0 2 ∂t ∂x
E zn (i + 1) − 2 E zn (i ) + E zn (i − 1)
[J 2∆t
µ
(i, j ) − J
n −1 z
1 (i, j ) + 2 Ezn (i + 1, j ) + Ezn (i − 1, j ) (∆x )
]
[
]
1 + E zn (i, j + 1) + E zn (i, j − 1) 2 (∆y )
[
]
二、有限差分法(FDM)
E
n +1 z
µε ij µσ ij (i, j ) = 2 + (∆t ) 2∆t

第4章 有限差分法

第4章 有限差分法

第 4 章
有 限 差 分 法
4.3.2 定解条件的离散化——各类差分计算格式
对于场域边界上给定的三类边界条件(见 1.7 节), 由于第二类边界条 件可以看作为第三类边界条件的特殊情况,因此,这里只需讨论第一、第三 类边界条件的差分离散化处理。 (1) 第一类边界条件的差分离散化 若如图 4-2 点 M 所示, 划分网格时相应的网格节点恰好落在边界 L 上,则 只要直接把位函数 u| M∈ L = f(rM)的值赋给该对应的边界节点 M 即可。 若划分网格时引入的节点不落在边界 L 上, 则如图 4-3所示, 对于邻近边界的典型节点 o, 由于 h1≠ h2≠ h, 这样, o点及其周围相邻的 1、 2、 3 和 4 点构成一个不对称的星形。此时, 可仿照 4.2 节, 采用泰勒公式进行差分离散化 处理,即能相当精确地导出关于 o 点的差分计 算格式。
截断于 2hf′(x0)项, 略去了 h3项以及更高幂次的项。很明显,三种差商表达 式中以式(4-4)所示的中心差商的截断误差最小,其误差大致和 h 的二次方 成正比。 二阶导数同样可近似为差商的差商,即
这相当于把泰勒公式
截断于 h2f″(x)项, 略去了 h4项以及更高幂次的项,其误差亦大致和 h 的 二次方成正比。
理方法是依据式(4-3), 这样, 第三类边界条件在此情况下的差分计算 格式为
第 4 章
有 限 差 分 法
当边界 L 在边界节点 o 处的外法向 n 与网格线不重合时,如图 4-5 所 示, 显然有
于是, 关于 o 点的差分计算格式是
第 4 章
有 限 差 分 法
第二种情况是在边界处引入的相应节点不落在边界 L 上, 这时如图 4-6 所示,可在邻近边界的节点 o 上仍按上述方法列出差分计算格式,只是需引 入与节点 o 相关的边界节点 o′,取点 o′处的外法向 n 作为点 o 处的“外法向 n”, 且近似地认为边界条件中给定的函数f1(ro)和 f2(ro)均在点 o′上取值。这 样,将式(4-14)中的 f1(ro)和 f2(ro)改记为 f1(ro′)和f2(ro′),即得此种情况下关 于 o 点的差分计算格式。

电磁场数值计算方法

电磁场数值计算方法

电磁场数值计算方法引论计算电磁学:现代数学方法、现代电磁场理论与现代计算机相结核的一门新兴学科。

目的:求解电磁场分布以及计算电磁场与复杂目标的相互作用。

电磁场计算方法分类分类方法按数学模型:微分方程、积分方程、变分方程。

按求解域:频域、时域法。

按近似性:解析法、半解析法、渐进法和数值法。

1、解析法求出电磁分布的数学表达式。

其优点:(1)、精确(2)、参数改变时不要重新推导(3)、解中包含了对某些参数的依赖关系,容易发现规律性主要方法有:分离变量法、级数展开法、格林函数法、保角变换法和积分变换法。

缺点:只有个别情况才能用解析法解决,一般情况较难应用。

2、渐进法由求解物体的线度l与波长λ的关系可以划分为(1)、低频区。

lλ≈(2)、谐振区。

lλ(3)、高频区。

lλ低频区:静态场近似,电路近似(等效电路)高频区:光学近似。

GO 几何光学法 GTD 几何绕射光学UTD 一般几何绕射 UAT 一致渐进理论PTD 衍射的物理理论 STD 衍射谱理论缺点:求解复杂系统的电磁场问题时可能引起大的误差,只能应用于简单的电大系统。

3、数值法把数学方程离散化,把连续问题化为离散问题,把解析方程化为代数方程。

把连续连续的场分布转换为计算离散点的场值或者表达场的级数表达式的数值化系数。

(1)、有限差分法——求解电磁场满足的微分方程。

(麦氏方程、泊松方程以及波动方程)△、用差商近似代替导数,用查分近似代替微分。

△、把微分方程转化为差分方程(代数方程)。

特点:简单,物理概念明确。

(2)、矩量法——求解电磁场积分方程。

△、把未知函数展开为选定基函数表示的级数,存在未知函数。

△、把求解未知函数问题转变为求解系数问题。

△、再选择合适权函数,计算加权平均意义下的误差。

△、令误差为零,积分方程变为关于系数的代数方程。

△、矩量法在应用时若直接采用分解法和迭代法求解则计算量非常大,例如计算电大目标散射问题的计算,为解决这个问题,产生了一系列的快速算法。

有限差分法【范本模板】

有限差分法【范本模板】

利用有限差分法分析电磁场边界问题在一个电磁系统中,电场和磁场的计算对于完成该系统的有效设计师极端重要的.例如,在系统中,用一种绝缘材料是导体相互隔离是,就要保证电场强度低于绝缘介质的击穿强度。

在磁力开关中,所要求的磁场强弱,应能产生足够大的力来驱动开关。

在发射系统中进行天线的有效设计时,关于天线周围介质中电磁场分布的知识显然有实质性的意义。

为了分析电磁场,我们可以从问题所涉及的数学公式入手.依据电磁系统的特性,拉普拉斯方程和泊松方程只能适合于描述静态和准静态(低频)运行条件下的情况.但是,在高频应用中,则必须在时域或频域中求解波动方程,以做到准确地预测电场和磁场,在任何情况下,满足边界条件的一个或多个偏微分方程的解,因此,计算电池系统内部和周围的电场和磁场都是必要的。

对电磁场理论而言,计算电磁场可以为其研究提供进行复杂的数值及解析运算的方法,手段和计算结果;而电磁场理论则为计算电磁场问题提供了电磁规律,数学方程,进而验证计算结果。

常用的计算电磁场边值问题的方法主要有两大类,其每一类又包含若干种方法,第一类是解析法;第二类是数值法。

对于那些具有最简单的边界条件和几何形状规则的(如矩形、圆形等)问题,可用分离变量法和镜像法求电磁场边值问题的解析解(精确解),但是在许多实际问题中往往由于边界条件过于复杂而无法求得解析解.在这种情况下,一般借助于数值法求解电磁场的数值解。

有限差分法,微分方程和积分微分方程数值解的方法。

基本思想是把连续的定解区域用有限个离散点构成的网络来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。

然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解.差分运算的基本概念:有限差分法是指用差分来近似取代微分,从而将微分方程离散成为差分方程组。

有限差分法基本原理课件

有限差分法基本原理课件
有限差分法基本原理
离散网格点
有限差分法基本原理
差分和逼近误差
差分概念:
设有x的解析函数 y f(x) ,函数y 对x 的导
数为:
d yli m ylim f(x x )f(x )
dx x 0 x x 0
x
dy dy 、dx 分别是函数及自变量的微分,dx 是函数 对自变量的导数,又称微商。上式中的y 、x 分别称 为函数及其自变量的差分,y 为函数对自变量的差商。
有限差分法基本原理
模型方程
为了抓住问题的实质,同时又不使讨论的问题过于
复杂,常用一些简单的方程来模拟流体力学方程进行讨 论分析,以阐明关于一些离散方法的概念。这些方程就 叫做模型方程。常用的模型方程:
对流方程:
0
t x
对流-扩散方程:
t
x
2x2
热传导方程:
2
t
x2
有限差分法基本原理
Poisson方程:
*n i
为差分方程的近似数

解,之间的误差为 。同样,近似数值解也满足同样的方程:
T i* n 1 S* i n T 1 ( 1 2 S )T * in S* i n T 1
in 1 Sn i 1 ( 1 2 S )n i Sn i 1
上式称为误差传播方程。
有限差分法基本原理
x等价定理
2
x2
2
y2
f
2 2
Laplace方程: x2 y2 0
有限差分法基本原理
差分方程的建立过程
以对流方程说明差分方程的建立过程。
0
t x
(x,0) (x)
有限差分法基本原理
差分方程的建立过程
1.划分网格

计算电磁学---有限差分法

计算电磁学---有限差分法

第一章 有限差分法一元函数泰勒公式:设函数()f x 在0x 处的某邻域内具有1n +阶导数,则对该邻域异于0x 的任意点x ,在0x 与x 之间至少存在一点ξ,使得()20000000()()()()()()()()()2!!n n n f x f x f x f x f x x x x x x x R x n '''=+-+-+⋅⋅⋅+-+其中,(1)10()()()(1)!n n n f R x x x n ξ++=-+ 二元函数的泰勒公式:设函数(,)z f x y =在点00(,)x y 的某一邻域内连续且有直到1n +阶连续偏导数,00(,)x h y k ++为此邻域内任意点,则有00000020000100(,)(,)()(,)1()(,)2!1()(,)!1()(,)(1)!n n f x h y k f x y h k f x y x yh k f x y x y h k f x y n x y h k f x h y k n x yθθ+∂∂++=++∂∂∂∂+++⋅⋅⋅∂∂∂∂++∂∂∂∂+++++∂∂式中01θ<<;0000(,)0(,)mm m p p m p m x y p m p p f h k f x y c h kxy x y --=⎛⎫∂∂∂+= ⎪∂∂∂∂⎝⎭∑1.利用泰勒展开求不等间距的差分格式。

(1)2x y ϕ∂∂∂ (2)33xϕ∂∂解:(1)2600104001040101040010400010041()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x yϕϕϕϕϕϕθθ+∂∂∂∂=+-++-++⋅⋅⋅∂∂∂∂∂∂∂∂+-++-+-+∂∂+∂∂(1.1)250020120020120102012002012000200121()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x y ϕϕϕϕϕϕθθ+∂∂∂∂=+++++⋅⋅⋅∂∂∂∂∂∂∂∂++++++∂∂+∂∂(1.2)280090110090110109011009011000900111()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x y ϕϕϕϕϕϕθθ+∂∂∂∂=+--+--+⋅⋅⋅∂∂∂∂∂∂∂∂+--+----∂∂+∂∂(1.3)270010030010030101003001003000100031()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x yϕϕϕϕϕϕθθ+∂∂∂∂=+-+-+⋅⋅⋅∂∂∂∂∂∂∂∂+-+-+-∂∂+∂∂(1.4)()()()()605080702010400104020201200201202090110090110010*********()()2!1()()2!1()()2!1()(2!A B C D A h h A h h x y x y B h h B h h x y x y C h h C h h x y x y D h h D h h x y x ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ-+-+-+-∂∂∂∂=-++-+∂∂∂∂∂∂∂∂++++∂∂∂∂∂∂∂∂+--+--∂∂∂∂∂∂∂∂+-+-∂∂∂∂20)y ϕ (1.5)0102090100412011032222010209010222204012011030000Ah Bh Ch Dh Ah Bh Ch Dh Ah Bh Ch Dh Ah Bh Ch Dh -+-+=⎧⎪+--=⎪⎨+++=⎪⎪+++=⎩ (1.6) 有线性代数知识可知,有多种差分格式。

有限差分法求解电磁场问题

有限差分法求解电磁场问题

Φ 11 = Φ 12 = Φ 13 = Φ 14 = Φ 15 = 100V
Φ 51 = Φ 52 = Φ 53 = Φ 54 = Φ 55 = 0V
Φ 21 = Φ 31 = Φ 41 = Φ 25 = Φ 35 = Φ 45 = 0V
n 设Φ ij 为第i行第j列节点上的第n次迭代的电位,则 1 n n +1 Φ ij = (Φ i −1, j + Φ in, j −1 + Φ in+1, j + Φ in, j +1 ) (3.14) 4 对于每一个未知电位节点,我们可以列出一个这样的迭代 方程,于是得到9个未知电位节点的迭代方程组。若对9个 未知电位赋予初值(在计算机程序求解迭代方程时,9个 未知电位的初值通常赋予0值),则可通过在计算机上运 行一个简单的程序完成解迭代方程组。若将各未知节点电 位的初值赋予0值,当n=10时 Φ22 = 322523 Φ23 = 455555 Φ24 = 666666 Φ32 = 666666 , , ,
(3.9)
而在节点0的泊松方程又可以写为
⎛ ρs ⎞ ⎛ ∂ 2Φ ∂ 2Φ ⎞ ⎜ 2 + 2 ⎟ = −⎜ ⎟ ⎜ ∂x ⎜ε ⎟ ∂y ⎟ 0 ⎝ ⎠ ⎝ 0 ⎠0
将式(3.10)代入式(3.9)可得
(3.10)
⎛ ρs ⎞ 2 ⎤ 1⎡ (3.11) Φ 0 = ⎢Φ 1 + Φ 2 + Φ 3 + Φ 4 + ⎜ ⎟ h ⎥ ⎜ε ⎟ 4⎢ ⎝ 0 ⎠0 ⎥ ⎣ ⎦ 这是一个二维区域中一点的泊松方程的有限差分形式, 它描述了该节点与周围四个节点的电位和该点电荷密度 之间的关系。对于无源区域,ρ s = 0 ,则式(3.11)变 为 1 (3.12) Φ 0 = (Φ 1 + Φ 2 + Φ 3 + Φ 4 )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章 有限差分法一元函数泰勒公式:设函数()f x 在0x 处的某邻域内具有1n +阶导数,则对该邻域异于0x 的任意点x ,在0x 与x 之间至少存在一点ξ,使得()20000000()()()()()()()()()2!!n n n f x f x f x f x f x x x x x x x R x n '''=+-+-+⋅⋅⋅+-+其中,(1)10()()()(1)!n n n f R x x x n ξ++=-+ 二元函数的泰勒公式:设函数(,)z f x y =在点00(,)x y 的某一邻域内连续且有直到1n +阶连续偏导数,00(,)x h y k ++为此邻域内任意点,则有00000020000100(,)(,)()(,)1()(,)2!1()(,)!1()(,)(1)!n n f x h y k f x y h k f x y x yh k f x y x y h k f x y n x y h k f x h y k n x yθθ+∂∂++=++∂∂∂∂+++⋅⋅⋅∂∂∂∂++∂∂∂∂+++++∂∂式中01θ<<;0000(,)0(,)mm m p p m p m x y p m p p f h k f x y c h kxy x y --=⎛⎫∂∂∂+= ⎪∂∂∂∂⎝⎭∑1.利用泰勒展开求不等间距的差分格式。

(1)2x y ϕ∂∂∂ (2)33xϕ∂∂解:(1)2600104001040101040010400010041()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x yϕϕϕϕϕϕθθ+∂∂∂∂=+-++-++⋅⋅⋅∂∂∂∂∂∂∂∂+-++-+-+∂∂+∂∂(1.1)250020120020120102012002012000200121()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x y ϕϕϕϕϕϕθθ+∂∂∂∂=+++++⋅⋅⋅∂∂∂∂∂∂∂∂++++++∂∂+∂∂(1.2)280090110090110109011009011000900111()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x y ϕϕϕϕϕϕθθ+∂∂∂∂=+--+--+⋅⋅⋅∂∂∂∂∂∂∂∂+--+----∂∂+∂∂(1.3)270010030010030101003001003000100031()()2!11()()(,)!(1)!n n h h h h x y x yh h h h x h y h n x y n x yϕϕϕϕϕϕθθ+∂∂∂∂=+-+-+⋅⋅⋅∂∂∂∂∂∂∂∂+-+-+-∂∂+∂∂(1.4)()()()()605080702010400104020201200201202090110090110010*********()()2!1()()2!1()()2!1()(2!A B C D A h h A h h x y x y B h h B h h x y x y C h h C h h x y x y D h h D h h x y x ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ-+-+-+-∂∂∂∂=-++-+∂∂∂∂∂∂∂∂++++∂∂∂∂∂∂∂∂+--+--∂∂∂∂∂∂∂∂+-+-∂∂∂∂20)y ϕ (1.5)0102090100412011032222010209010222204012011030000Ah Bh Ch Dh Ah Bh Ch Dh Ah Bh Ch Dh Ah Bh Ch Dh -+-+=⎧⎪+--=⎪⎨+++=⎪⎪+++=⎩ (1.6) 有线性代数知识可知,有多种差分格式。

当090101002030110412h h h h h h h h =⎧⎪=⎪⎨=⎪⎪=⎩ 时,图1.1中左图退化为右图。

01020102040403032222010201022222040403030000Ah Bh Ch Dh Ah Bh Ch Dh Ah Bh Ch Dh Ah Bh Ch Dh -+-+=⎧⎪+--=⎪⎨+++=⎪⎪+++=⎩ (1.7)当点8在0点时,还可以退化为三个点。

图1.1(2) 33xϕ∂∂''3'2300100111()2!3!!nn n h h h R x n ϕϕϕϕϕϕ=++++⋅⋅⋅++''3'230200121212()()()()2!3!!nn n h h h h h h R x n ϕϕϕϕϕϕ=++++++⋅⋅⋅+++''3'2300300333()2!3!!nn n h h h R x n ϕϕϕϕϕϕ=++++⋅⋅⋅++由上述三式,可得:()()()()()102030'''233001013'''230012012'''233003033'222''3330112301123011()2611()2611()26()()222666A B C A h h B h h h h C h h A B C A B C A B C h h h h h h h h ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ-+-+-=+-⎡⎤+++-+⎢⎥⎣⎦+++⎡⎤⎡⎤=++++++-++-⎢⎥⎢⎥⎣⎦⎣⎦ 所以,2221123()0()0222A B C A B C h h h h ++=⎧⎪⎨+++=⎪⎩ 当C=1时,可求出A 、B 。

()()()()102030303331123666A B C A B C h h h h ϕϕϕϕϕϕϕ-+-+-=-++-图1.22. 等间距直接法(1)33x ϕ∂∂ (2)44xϕ∂∂解:(1) 由图1.3中的四点不能得出0点处中心差分格式,因此我们采用图1.4。

由0、1、2点得出1点的二阶导数差分格式,由0、3、4得出3点的二阶导数差分,再由1、3点的二阶导数差分格式得出0点的三阶导数差分格式。

具体推导如下:4330''''1''43301''''33104300122243123222222222h hh h h h h h h h hh ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ--⎛⎫- ⎪- ⎪⎛⎫-- ⎪ ⎪-⎝⎭⎝⎭===-+-+-=-+-=(2)由图1.4得:''''''''3001011243303001''''''''013033401300''''''300112433001''''2243300112343222233223h h h h h h h h h h h h h h h h ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ⎛⎫⎛⎫------ ⎪ ⎪- ⎪ ⎪⎛⎫⎛⎫-- ⎪ ⎪- ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭⎝⎭===-+-+--+-+=--+== 30102134321432442h h h h h ϕϕϕϕϕϕϕϕϕϕ----+-++-=图 1.3图 1.43.二维正方形网格划分(中心差分情况)亥姆霍兹方程,得出其差分格式,并编写程序。

解:二维亥姆霍兹方程222220k x yϕϕϕ∂∂++=∂∂如图1.5所示,由21032202xx h ϕϕϕϕ⎛⎫-+∂= ⎪∂⎝⎭,22042202y y h ϕϕϕϕ⎛⎫-+∂= ⎪∂⎝⎭,得二维亥姆霍兹方程的0点处中心差分情况:2103204022220xyk h h ϕϕϕϕϕϕϕ-+-+++=当x y h h =时,上式变为:()1324022+4h k ϕϕϕϕϕ++=-图1.5程序实现:取k=0;采用SOR 迭代。

程序语言:VC++。

#include<iostream> #include<cmath> #include<cstdlib> #include<fstream> using namespace std;//迭代终止条件const double Ee0=0.00001;//误差限 const int NN=100000;//最大计算步数 const double w0=1.17;//超松弛因子//全局变量声明double a_l=0.04;//a 的长度 double b_l=a_l;//b 的长度 double dx=0.04/4;//空间间隔 double dy=dx;//常量声明int NX=int(a_l/dx)+1; int NY=int(b_l/dy)+1;//输出电势的坐标 int i_out=0.25*a_l/dx;int j_out=0.25*b_l/dy;class em{public:void initial();//初始化和边界条件int cacl(int nx_min,int nx_max,int ny_min,int ny_max,double **xy);//差分计算double **bxy;//电势};//构造函数动态分配所需的内存,并初始化变量,强制边界条件void em::initial(){//动态分配内存并通过循环初始化变量bxy=(double**)new char[sizeof(double*)*NX];int i,j;for(i=0; i<NX; i++){bxy[i]=new double[NY];//初始化各变量for(j=0; j<NY; j++)bxy[i][j]=0;}//强制边界条件for(i=0; i<NX; i++)for(j=0; j<NY; j++){if(i==0)bxy[i][j]=0;if(i==NX-1)bxy[i][j]=0;if(j==0)bxy[i][j]=0;if(j==NY-1)bxy[i][j]=100;}}//差分计算函数int em::cacl(int nx_min,int nx_max,int ny_min,int ny_max,double **xy){int sum=1;//迭代终止标志int sum0=1;double bxyn=0;//保存上一时刻的场值double e_xy;int i,j;for(i=nx_min;i<=nx_max;i++)for(j=ny_min;j<=ny_max;j++){bxyn=xy[i][j];xy[i][j]=0.25*(xy[i+1][j]+xy[i][j+1]+xy[i-1][j]+xy[i][j-1]);//差分方程xy[i][j]=bxyn+w0*(xy[i][j]-bxyn);e_xy=fabs(xy[i][j]-bxyn);if(e_xy<Ee0)sum0=1;else sum0=0;sum=sum&&sum0;}return sum;}int main(){ofstream outfile1;outfile1.open("u.dat",ios::out);int n;int check;em em1;em1.initial();for(n=0;n<NN;n++){check=em1.cacl(1,NX-2,1,NY-2,em1.bxy);if(check==1)break;}cout<<"误差限:"<<Ee0<<endl;if(n==NN)cout<<"计算未终止"<<endl;cout<<"计算步数: "<<n<<endl;cout<<"坐标("<<i_out<<","<<j_out<<")电势为:"<<em1.bxy[i_out][j_out]<<endl; outfile1<<em1.bxy[i_out][j_out]<<endl; outfile1.close(); return 0;}第二章 FDTD推导TE 情况下的FDTD 格式。

相关文档
最新文档