190 likes | 578 Views
FDTD 算法. 李 波 2006.12.1. 议程. FDTD 简介 差分运算基本概念 FDTD 基本原理 解的稳定性 数值色散 吸收边界条件. FDTD 简介. 时域 有限差分法 (FDTD, Finite-Difference Time-Domain) 是 1966 年 K.S.Yee 发表在 AP 上的一篇论文建立起来的,后被称为 Yee 网格空间离散方式 核心思想是把带时间变量的 Maxwell 旋度方程转化为差分形式,模拟出电子脉冲和理想导体作用的时域响应 号称目前计算电磁学界最受关注,最时髦的算法,但还在发展完善之中
E N D
FDTD算法 李 波 2006.12.1
议程 • FDTD简介 • 差分运算基本概念 • FDTD基本原理 • 解的稳定性 • 数值色散 • 吸收边界条件
FDTD简介 • 时域有限差分法(FDTD, Finite-Difference Time-Domain) • 是1966年K.S.Yee发表在AP上的一篇论文建立起来的,后被称为Yee网格空间离散方式 • 核心思想是把带时间变量的Maxwell旋度方程转化为差分形式,模拟出电子脉冲和理想导体作用的时域响应 • 号称目前计算电磁学界最受关注,最时髦的算法,但还在发展完善之中 • 国外已有多种基于FDTD算法的电磁场计算的软件:XFDTD,等等 • 关键的三大要素 • 差分格式 • 解的稳定性 • 吸收边界条件 • FDTD的特点 • 广泛的应用性 • 节约运算和存储空间 • 适合并行计算 • 计算程序的通用性 • 简单直观,容易掌握
差分计算基本概念 设函数f(x), 独立变量x有很小的增量 ,则 有Taylor公式可得: 由上可知:中心差分截断的误差最小,大致和h的二次方成正比!
有限差分通常采用的步骤 • 采用一定的网格划分方式离散化场域 • 对场内的偏微分方程及各种边界条件进行差分离散化处理,建立差分格式,得到差分方程组 • 结合选定的代数方程组的解法,编制程序,求边值问题的数值解 FDTD就是按照这个步骤,结合自身的特点进行!
FDTD基本原理 Maxwell方程组 Maxwell旋度方程可以推出此六个耦合方程
FDTD基本原理(续) Yee首先在空间上建立矩形差分网格,在时刻n△t时刻,F(x,y,z)可以写成 用中心差分取二阶精度: 对空间离散: (1) 对时间离散: (2)
FDTD基本原理(续) 为了满足(1)式空间精度的要求,并满足(2)式,Yee把空间任一网格上的E和H的六个分量,如下图放置: Yee把E 和H 在时间长相差半个步长计算(为了满足精度的要求)。
FDTD基本原理(续) 根据这一原则可以写出六个差分方程: 其余的也如法可以写出,每个网格点上的个场分两的新值依赖于该点在前一时间步长时刻的值机该点周围的临近点上另一场量在早半个时间步长时的值。因此任一时刻可一次算出一个点,并行算法可计算出多个点。通过这些运算可以交替算出电场磁场在各个时间步的值。
数值稳定性条件 • 问题的提出 • 时间步长△t,空间步长△x, △y, △z必须满足一定的关系,否则就使得数值表现不稳定,表现为:随着计算步数的增加,计算场量的数值会无限的增大,这种增大不是由于误差积累造成的,而是由于电磁波的传播关系被破坏造成的。所以△t, △x, △y, △z必须满足一定的关系以保证稳定性
数值稳定性的条件 是根据电磁原理用数学推导出来的,这里只给出结论,即保证数值稳定的条件如下: 数值稳定的条件: 当⊿x= ⊿y= ⊿z的时候,即:空间步长相等的时候: 而一般取: C:为光速,自由空间中: 当△x, △y, △z不相等时:
数值色散 • 产生原因 • FDTD网格中,会导致数字波模在网格中发生改变,这种改变是由于计算网格本身引起的,而非物理因素,所以必须考虑 • 适当选取时间步长,空间步长,传播方向,可以得到理想情况(我们实验只需考虑这种特殊情况) • 3-D方形网格:取波沿对角线传播(数值稳定的极限状态),可得理想色散关系。 • 2-D方形网格:也是沿对角线传播,(也是数值稳定的极限状态) • 1-D网格 (数值稳定的极限状态)
吸收边界条件 • 问题的提出 • 在电磁场的辐射和散射问题中,边界总是开放的,电磁场占据无限大空间,而计算机内存是有限的,所以只能模拟有限空间。即:时域有限差分网格将在某处被截断。这要求在网格截断处不能引起波的明显反射,因而对向外传播的波而言,就像在无限大的空间传播一样,一种行之有效的方法是在截断处设置一种吸收边界条件。使传播到截断出的波被边界吸收而不产生反射。 吸收边界条件很多,而且是研究的热点, 下面只给出Engquist-Majda吸收边界条件,采用Mur差分格式
Engquist-Majda边界吸收条件,Mur差分格式 • 总体虚假反射在1%~5%之间 一维一阶近似情形, x=0边界: 二维二阶近似情形, x=0边界:
Engquist-Majda边界吸收条件,Mur差分格式(续) 三维二阶近似情形, x=0边界: Mur吸收边界在角点处不适用,因为其中要用到的某些网格点位于网格区域以外,这些网格点的场量的数据无法知道,需要其它处理方法。
一维FDTD计算的例子 Nt=120 Ey △x 自由空间中,一维FDTD,采用一阶Mur吸收边界条件,时间步长为:高斯激励源,激励源的位置在中心网格的中心位置。
算法的复杂度和可并行性 • 时间复杂度 • 与网格个数成正比 • 空间复杂度 • 自由空间中也是与网格个数成正比 • 并行的可行性 • 串行情况下,一次只能算出一个点的场值,并行情况下,可以同时计算多个点的场值 • 每一步计算只与附近的点有数据依赖关系 • 可以考虑利用CELL中SPU的矢量计算功能