时域有限差分法对平面TE波的MATLAB仿真
- 格式:doc
- 大小:1.88 MB
- 文档页数:35
matlab有限差分法一、前言Matlab是一种广泛应用于科学计算和工程领域的计算机软件,它具有简单易学、功能强大、易于编程等优点。
有限差分法(Finite Difference Method)是一种常用的数值解法,它将微分方程转化为差分方程,通过对差分方程进行离散化求解,得到微分方程的数值解。
本文将介绍如何使用Matlab实现有限差分法。
二、有限差分法基础1. 有限差分法原理有限差分法是一种通过将微分方程转化为离散形式来求解微分方程的数值方法。
其基本思想是将求解区域进行网格划分,然后在每个网格点上进行逼近。
假设要求解一个二阶常微分方程:$$y''(x)=f(x,y(x),y'(x))$$则可以将其转化为离散形式:$$\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}=f(x_i,y_i,y'_i)$$其中$h$为网格步长,$y_i$表示在$x_i$处的函数值。
2. 一维情况下的有限差分法对于一维情况下的常微分方程:$$\frac{d^2 y}{dx^2}=f(x,y,y')$$可以使用中心差分法进行离散化:$$\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}=f(x_i,y_i,y'_i)$$这个方程可以写成矩阵形式:$$A\vec{y}=\vec{b}$$其中$A$为系数矩阵,$\vec{y}$为函数值向量,$\vec{b}$为右端项向量。
三、Matlab实现有限差分法1. 一维情况下的有限差分法假设要求解的方程为:$$\frac{d^2 y}{dx^2}=-\sin(x)$$首先需要确定求解区域和网格步长。
在本例中,我们将求解区域设为$[0,2\pi]$,网格步长$h=0.01$。
则可以通过以下代码生成网格:```matlabx = 0:0.01:2*pi;```接下来需要构造系数矩阵和右端项向量。
根据上面的公式,系数矩阵应该是一个三对角矩阵,可以通过以下代码生成:```matlabn = length(x)-2;A = spdiags([-ones(n,1), 2*ones(n,1), -ones(n,1)], [-1 0 1], n, n); ```其中`spdiags`函数用于生成一个稀疏矩阵。
实验一 典型环节的MATLAB 仿真一、实验目的1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK 的使用MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真环境下。
2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。
3.在simulink 仿真环境下,创建所需要的系统三、实验内容按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。
① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型波形图为:实验处理:2)(1=s G SIMULINK 仿真模型波形图为:实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大.② 惯性环节11)(1+=s s G 和15.01)(2+=s s G 实验处理:11)(1+=s s GSIMULINK 仿真模型波形图为:实验处理:15.01)(2+=s s GSIMULINK 仿真模型波形图为:实验结果分析:当11)(1+=s s G 时,系统达到稳定需要时间接近5s,当15.01)(2+=s s G 时,行动达到稳定需要时间为2.5s,由此可得,惯性环节可以调节系统达到稳定所需时间,可以通过惯性环节,调节系统达到稳定输出的时间。
③ 积分环节s s G 1)(1=实验处理: SIMULINK 仿真模型实物图为:实验结果分析:由以上波形可以的出,当系统加入积分环节以后,系统的输出量随时间的变化成正比例增加。
MATLAB仿真平面电磁波在不同媒介分界面上的入射、反射和折射一、实验目的:1、进一步学习MATLAB,初步掌握GUI界面的编程。
2、通过编程实现电磁波仿真效果图。
3、进一步理解平面电磁波的入射、反射和折射现象二、实验要求:1、以电场为例,动态演示平面电磁波的传播情况。
2、可以任意设置媒介的介电常数和入射角。
3、考虑金属导体和空气的分界面平面电磁波的入射、反射情况。
三、实验原理:电磁波从一种媒质入射到第二种媒质时,分界面使一部分能量反射回第一种媒质,另一部分能量折射到第二种媒质中,反射波和折射波得大小和相位取决于分界面两侧的媒质特性、极化方向和入射角大小等,当电磁波入射到理想导体表面时,会发生全反射。
这一过程中包括的主要原理有以下三点。
1、正弦平面波在媒质分界面的反射和折射规律波对分界面的入射是任意的,但为了方便,我们假设入射面与zox面重合。
波在z>0时发生入射和反射,在z<0时发生折射并令空间任意一点r处的入射波、反射波和折射波场强为:111(sin cos )00(sin cos )00(sin cos )00i i i i r r i t t jK r jK x z i i i jK r jK x z r r r jK r jK x z tt t E E e E e E E e E e E E e E e θθθθθθ--+--+--+⎧==⎪==⎨⎪==⎩图表 1 正弦波斜入射示意图根据在z=0的界面上电场强度的切线分量相等的边界条件,有(,,0)(,,0)(,,0)i r t E x y E x y E x y ==故必有 112sin sin sin i r t k k k θθθ== 反射定律: i r θθ= 折射定律: 12sin sin i r k k θθ= 2、 正弦平面波对理想介质的斜入射 ① 垂直极化波垂直极化波对理想介质斜入射如图所示,由折射和反射定律,我们可以得到在任意媒质中的场强。
在MATLAB中进行时域运算,主要涉及对时间序列数据的处理和操作。
以下是一些常见的时域运算:
1. 卷积运算:对两个函数在时间上逐点相乘,得到的结果就是这两个函数的卷积。
卷积运算在信号处理、图像处理等领域有广泛应用。
2. 相关运算:两个信号的互相关函数描述了这两个信号之间的相似性。
在时间序列分析中,相关函数可以用于检测两个信号之间的关联性。
3. 滤波器:滤波器是一种对信号进行处理的系统,能够改变信号的频率成分。
在时域中,滤波器可以看作是一个线性时不变系统,它对输入信号进行线性变换,得到输出信号。
4. 傅里叶变换:傅里叶变换是一种将时间序列信号转换为频域信号的方法。
通过傅里叶变换,我们可以得到信号的频谱,从而更好地分析信号的频率成分。
5. 差分运算:差分运算是一种求取时间序列数据变化率的方法。
通过计算相邻数据点之间的差值,可以得到时间序列的变化趋势。
6. 累加和:累加和是一种求取时间序列数据总和的方法。
通过将所有数据点相加,可以得到时间序列的总和。
7. 均值:均值是一种求取时间序列数据平均值的方法。
通过将所有数据点相加并除以数据点的数量,可以得到时间序列的平均值。
8. 方差和标准差:方差和标准差是衡量时间序列数据离散程度的指标。
方差是每个数据点与平均值之差的平方的平均值,标准差是
方差的平方根。
9. 峰度和偏度:峰度和偏度是描述时间序列数据分布形态的指标。
峰度衡量了分布的尖锐程度,偏度衡量了分布的不对称性。
以上是一些常见的时域运算,根据具体应用场景和问题,可以选择合适的运算方法进行处理和分析。
matlab模拟的电磁学时域有限差分法 pdf电磁学时域有限差分法(FDTD)是一种基于数值模拟的电磁场计算方法,它使用有限差分来近似微分方程。
该方法广泛用于电磁学、电波传播、微波技术、光学等领域,以求解电磁场分布和场的辐射、散射等问题。
而在这个领域中,MATLAB是非常流行的工具之一。
本文将围绕“MATLAB模拟的电磁学时域有限差分法”这一主题,从以下几个方面进行阐述:1.时域有限差分法的基础概念在FDTD方法中,将时域中的Maxwell方程组转化为差分形式,使得可以在计算机上进行数值解法。
通过在空间和时间上的离散,可以得到电磁场在时域内的各种分布,进而求得特定情况下的电磁场变化。
2.MATLAB中的FDTD仿真在MATLAB中,我们可以使用PDE工具箱中的电磁学模块来实现FDTD仿真。
通过选择适当的几何形状和边界条件,可以利用该工具箱演示电磁场的传输、反射、折射、透射等现象。
同时,MATLAB中还提供了不同的场分量计算和可视化工具,以便用户可以更好地理解电磁场分布。
3.MATLAB代码实现以下是一些MATLAB代码示例,展示了FDTD模拟的基础实现方法。
代码中的示例模拟了平面波在一个矩形和圆形障碍物上的传播情况。
% 1. Square obstaclegridSize = 200; % Grid sizemaxTime = 600; % Maximum time (in steps)imp0 = 377.0; % Impedance of free spacecourantNumber = 0.5; % Courant numbercdtds = ones(gridSize,gridSize); % Courant number in space% (not variable in this example)Ez = zeros(gridSize, gridSize); % Define EzHy = zeros(gridSize, gridSize); % Define Hy% Simulation loopfor n = 1:maxTime% Update magnetic fieldHy(:,1:end-1) = Hy(:,1:end-1) + ...(Ez(:,2:end) - Ez(:,1:end-1)) .*cdtds(:,1:end-1) / imp0;% Update electric fieldEz(2:end-1,2:end-1) = Ez(2:end-1,2:end-1) + ...(Hy(2:end-1,2:end-1) - Hy(1:end-2,2:end-1)) .* cdtds(2:end-1,2:end-1) .* imp0;end% 2. Circular obstacleradius = 50;xAxis = [-100:99];[X,Y] = meshgrid(xAxis);obstacle = sqrt((X-50).^2 + (Y).^2) < radius;gridSize = length(xAxis); % Grid sizemaxTime = 500; % Maximum time (in steps)imp0 = 377.0; % Impedance of free space courantNumber = 0.5; % Courant numbercdtds = ones(gridSize,gridSize); % Courant number in space% (not variable in this example)Ez = zeros(gridSize, gridSize); % Define EzHy = zeros(gridSize, gridSize); % Define Hy% Simulation loopfor n = 1:maxTime% Update magnetic fieldHy(:,1:end-1) = Hy(:,1:end-1) + ...(Ez(:,2:end) - Ez(:,1:end-1)) .*cdtds(:,1:end-1) / imp0;% Update electric field, with obstacleEz(2:end-1,2:end-1) = Ez(2:end-1,2:end-1) + ...(Hy(2:end-1,2:end-1) - Hy(1:end-2,2:end-1)) .* cdtds(2:end-1,2:end-1) .* imp0;Ez(obstacle) = 0;end以上代码仅供参考,不同条件下的模拟需要适当修改,以便获得特定的模拟结果。
基于MATLAB自动控制系统时域频域分析与仿真MATLAB是一款强大的数学软件,也是自动控制系统设计的常用工具。
它不仅可以进行时域分析和频域分析,还可以进行相关仿真实验。
本文将详细介绍MATLAB如何进行自动控制系统的时域和频域分析,以及如何进行仿真实验。
一、时域分析时域分析是指对系统的输入信号和输出信号进行时域上的观察和分析,以了解系统的动态特性和稳定性。
MATLAB提供了一系列的时域分析工具,如时域响应分析、稳态分析和步骤响应分析等。
1.时域响应分析通过时域响应分析,可以观察系统对于不同的输入信号的响应情况。
在MATLAB中,可以使用`lsim`函数进行系统的时域仿真。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
-定义输入信号。
- 使用`lsim`函数进行时域仿真,并绘制系统输出信号。
例如,假设我们有一个二阶传递函数模型,并且输入信号为一个单位阶跃函数,可以通过以下代码进行时域仿真:```num = [1];den = [1, 1, 1];sys = tf(num, den);t=0:0.1:10;u = ones(size(t));[y, t, x] = lsim(sys, u, t);plot(t, y)```上述代码中,`num`和`den`分别表示系统的分子和分母多项式系数,`sys`表示系统模型,`t`表示时间序列,`u`表示输入信号,`y`表示输出信号。
通过绘制输出信号与时间的关系,可以观察到系统的响应情况。
2.稳态分析稳态分析用于研究系统在稳态下的性能指标,如稳态误差和稳态标准差。
在MATLAB中,可以使用`step`函数进行稳态分析。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
- 使用`step`函数进行稳态分析,并绘制系统的阶跃响应曲线。
例如,假设我们有一个一阶传递函数模型,可以通过以下代码进行稳态分析:```num = [1];den = [1, 1];sys = tf(num, den);step(sys)```通过绘制系统的阶跃响应曲线,我们可以观察到系统的稳态特性。
matlab通信仿真实例在Matlab中进行通信系统的仿真,可以涉及到多种不同的通信技术和协议,包括调制解调、信道编码、多址接入等。
以下以OFDM系统为例,介绍Matlab 中通信仿真的实例。
OFDM(正交频分复用)是一种常用于现代通信系统中的技术,它将高速数据流分割成多个较低速的子流,并将每个子流分配到不同的子载波上。
优点是能够抵抗多径效应和频率选择性衰落,并提供高数据速率。
首先,我们需要创建一个包含OFDM系统参数的结构体。
例如:ofdmParam.M = 16; % 子载波数量ofdmParam.K = 4; % 用于混合多路复用的用户数量ofdmParam.N = ofdmParam.M * ofdmParam.K; % 总子载波数量ofdmParam.CP = 16; % 循环前缀长度接下来,我们可以生成用于OFDM仿真的数据流。
例如,我们可以使用随机整数生成器生成一系列整数,并将其转换为复数形式的调制符号:data = randi([0, ofdmParam.M-1], 1, ofdmParam.N);dataMod = qammod(data, ofdmParam.M);然后,我们可以创建一个包含OFDM信号的函数。
在OFDM系统中,生成的数据符号将分配到不同的子载波上,然后在时域中通过插入循环前缀进行叠加:function[ofdmSignal] = createOFDMSignal(dataMod, ofdmParam) ofdmSignal = [];for k = 0:ofdmParam.K-1% 提取相应的数据符号,并进行IFFTofdmData =ifft(dataMod(k*ofdmParam.M+1:(k+1)*ofdmParam.M));% 添加循环前缀ofdmDataWithCP = [ofdmData(end-ofdmParam.CP+1:end), ofdmData];% 将OFDM符号添加到OFDM信号中ofdmSignal = [ofdmSignal, ofdmDataWithCP];endend将OFDM信号传输到信道中,我们可以使用加性高斯白噪声(AWGN)信道模型来模拟实际通信环境:EbNo = 10; % 信噪比snr =10*log10(ofdmParam.N*ofdmParam.M/(ofdmParam.N*ofdmParam.M+1 )*(10^(EbNo/10)));ofdmSignalNoisy = awgn(ofdmSignal, snr, 'measured');最后,我们可以对接收到的OFDM信号进行解调和信号恢复。
Matlab中的时频分析与瞬态分析技术详解引言:Matlab作为一种功能强大且广泛应用的数学软件,被广泛用于信号处理、数据分析等领域。
在信号处理领域,时频分析与瞬态分析是重要的技术手段。
本文将详细介绍Matlab中的时频分析与瞬态分析技术,包括原理、方法和应用等方面内容,以帮助读者更好地理解和应用这些技术。
一、时频分析的原理与方法时频分析是指对信号在时域和频域上的特性进行综合研究的一种方法。
时频分析的基本思想是将信号分解为一系列窄带信号,并对每个窄带信号进行频域分析,从而得到信号在不同频率和时间上的特性。
常用的时频分析方法包括短时傅里叶变换(Short-time Fourier Transform,STFT)、连续小波变换(Continuous Wavelet Transform,CWT)等。
1. 短时傅里叶变换(STFT)短时傅里叶变换是一种经典的时频分析方法,其基本思想是将信号分段进行傅里叶变换。
Matlab中可以使用stft函数来进行短时傅里叶变换。
以下是一个简单的示例:```MatlabFs = 1000; % 采样率t = 0:1/Fs:1-1/Fs; % 时间序列f0 = 50; % 信号频率x = sin(2*pi*f0*t); % 生成信号windowLength = 128; % 窗口长度overlapLength = 100; % 重叠长度[S,F,T] = stft(x, windowLength, overlapLength, Fs);imagesc(T, F, abs(S));set(gca,'YDir','normal');colorbar;```上述代码通过生成一个正弦信号,并对其进行短时傅里叶变换,将结果使用图像表示出来。
通过调整窗口长度和重叠长度,可以获得不同精度和分辨率的时频谱图。
2. 连续小波变换(CWT)连续小波变换是一种基于小波分析的时频分析方法,其基本思想是将信号与一系列不同尺度的小波基函数进行内积运算。
课程设计说明书常用软件课程设计题目: 基于MATLAB的均匀平面波仿真院(部):力学与光电物理学院专业班级:应用物理学号:学生姓名:指导教师:2017年7月2 日安徽理工大学课程设计(论文)任务书力学与光电物理学院基础与应用物理教研室安徽理工大学课程设计(论文)成绩评定表目录摘要 (5)1 绪论 01.1问题背景 01.2课题研究意义 02 均匀平面电磁波 (2)2.1定义与性质 (2)2.2理想介质中的均匀平面波方程 (2)2.3平面电磁波的瞬时值形式 (5)3 MATLAB软件及其基本指令 (7)3.1MATLAB发展历史 (7)3.2MATLAB的功能与语言特点 (7)3.3MATLAB指令 (8)4 程序设计与运行 (10)4.1设计思路与框图 (10)4.2运行结果 (11)5 项目总结 (15)6 参考文献 (16)摘要平面波是指场矢量的等相位面与波传播方向相垂直的无限大平面的一种电磁波·12。
如果平面波在均匀一致且各向同性的理想介质中将形成均匀平面波。
均匀平面波是研究电磁波的基础,研究均匀平面波传输特性有十分重要的实际意义。
然而直接观察均匀平面波是很难实现的,所以随着计算机的发展,仿真实验正在不断的发展,仿真软件通过图形化界面联系理论条件与实验过程,同时运用一定的编程达到模拟现实的效果。
于是本文用MATLAB对均匀平面电磁波在理想介质中的传播进行仿真模拟,从而可以更加形象的学习与理解电磁波的知识。
关键词:电磁波; 均匀平面电磁波; 理想介质; MATLAB; 仿真1 绪论1.1 问题背景1.1.1MATLAB软件简介MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
时域有限差分法对平面TE波的MATLAB仿真摘要时域有限差分法是由有限差分法发展出来的数值计算方法。
自1966年Yee 在其论文中首次提出时域有限差分以来,时域有限差分法在电磁研究领域得到了广泛的应用。
主要有分析辐射条线、微波器件和导行波结构的研究、散射和雷达截面计算、分析周期结构、电子封装和电磁兼容的分析、核电磁脉冲的传播和散射以及在地面的反射及对电缆传输线的干扰、微光学元器件中光的传播和衍射特性等等。
由于电磁场是以场的形态存在的物质,具有独特的研究方法,采取重叠的研究方法是其重要的特点,即只有理论分析、测量、计算机模拟的结果相互佐证,才可以认为是获得了正确可信的结论。
时域有限差分法就是实现直接对电磁工程问题进行计算机模拟的基本方法。
在近年的研究电磁问题中,许多学者对时域脉冲源的传播和响应进行了大量的研究,主要是描述物体在瞬态电磁源作用下的理论。
另外,对于物体的电特性,理论上具有几乎所有的频率成分,但实际上,只有有限的频带内的频率成分在区主要作用。
文中主要谈到了关于高斯制下完全匹配层的差分公式的问题,通过MATLAB 程序对TE波进行了仿真,模拟了高斯制下完全匹配层中磁场分量瞬态分布。
得到了相应的磁场幅值效果图。
关键词:时域有限差分完全匹配层MATLAB 磁场幅值效果图目录摘要 (1)目录 (3)第一章绪论 (4)1.1 课题背景与意义 (4)1.2 时域有限差分法的发展与应用 (4)2.1 Maxwell方程和Yee氏算法 (7)2.2 FDTD的基本差分方程 (9)2.3 时域有限差分法相关技术 (11)2.3.1 数值稳定性问题 (11)2.3.2 数值色散 (12)2.3.3 离散网格的确定 (13)2.4 吸收边界条件 (13)2.4.1 一阶和二阶近似吸收边界条件 (14)2.4.2 二维棱边及角顶点的处理 (17)2.4.3 完全匹配层 (19)2.5 FDTD计算所需时间步的估计 (23)第三章MATLAB的仿真的程序及模拟 (25)3.1 MATLAB程序及相应说明 (25)3.2 出图及结果 (28)3.2.1程序部分 (28)3.2.2 所出的效果图 (29)第四章结论 (31)参考文献 (32)第一章绪论1.1 课题背景与意义20世纪60年代以来,随着计算机技术的发展,一些电磁场的数值计算方法逐步发展起来,并得到广泛应用,其中主要有:属于频域技术的有限元法(FEM)、矩量法(MM)和单矩法等;属于时域技术方面的时域有限差分法(FDTD)、传输线矩阵法(TLM)和时域积分方程法等。
此外,还有属于高频技术的几何衍射理论(GTD)和衍射物理理论(PLD)等。
各种方法都具有自己的特点和局限性,在实际中经常把它们相互配合而形成各种混合方法[1~2]。
其中FDTD是一种已经获得广泛应用并且有很大发展前景的时域数值计算方法。
时域有限差分(FDTD)方法于1966年由K.S.Yee[3]提出并迅速发展,且获得广泛应用。
K.S.Yee用后来被称作Yee氏网格的空间离散方式,把含时间变量的Maxwell旋度方程转化为差分方程,并成功地模拟了电磁脉冲与理想导体作用的时域响应。
但是由于当时理论的不成熟和计算机软硬件条件的限制,该方法并未得到相应的发展。
20世纪80年代中期以后,随着上述两个条件限制的逐步解除,FDTD便凭借其特有的优势得以迅速发展。
它能方便、精确地预测实际工程中的大量复杂电磁问题,应用范围几乎涉及所有电磁领域,成为电磁工程界和理论界研究的一个热点。
目前,FDTD日趋成熟,并成为分析大部分实际电磁问题的首选方法。
另外,利用矩量法求解电磁场问题时,要用到并失Green函数。
对于某些问题,可以找到其解析形式的并失Green函数;而对于复杂的问题,很难找到其解析形式的并失Green函数,这样就使得问题无法解决。
作为时域分析中的一个重要数值方法,FDTD不存在这样的问题。
1.2 时域有限差分法的发展与应用经过四十多年的发展,FDTD已发展成为一种成熟的数值计算方法。
在发展过程中,几乎都是围绕几个重要问题展开的,即数值稳定性、计算精度、数值色散、激励源技术以及开域电磁问题的吸收边界条件等。
数值稳定和计算精度对任何一种数值计算方法都是至关重要的。
A.Taylor和M.E.Brodwin[4]利用本征值方法给出了直角坐标系下FDTD的空间步长与时间步长之间的关系。
X.Min等[5]研究了存在边界条件时FDTD的稳定性问题。
对于数值色散,与实际的物理色散不同,它是由电磁场量在空间和时间上的对波动方程作差分近似处理造成的。
这种色散引起的误差造成在计算区域内传播的电磁波逐渐畸变[6~7]。
K. L. Shlager 等[8]比较了二维和三维空间中几种正交网格算法的色散误差。
当采用其他变形或非正交网格时,必须重新分析其数值稳定性和色散特性[9~11],P.Monk 和E.Suli[12]分析了不均匀长方体网格算法的稳定性。
激励源的设计和引入也是FDTD的一个重要任务。
目前,应用最广泛的激励源引入技术是总场/散射场体系[12]。
对于散射问题,通常在FDTD计算空间中引入连接边界,它将整个计算空间划分为内部的总场区和外部的散射场区,如图1-1。
利用Huygens原理,可以在连接边界处引入入射场,使入射场的加入变得简单易行。
图1-1开域电磁问题中,为了在有限的计算空间内模拟无限空间中的电磁问题,必须在计算空间的截断边界处设置吸收边界条件。
吸收边界条件从开始简单的插值边界,已经发展了多种吸收边界条件。
在早期得到广泛应用的是G.Mur[13]的一阶和二阶吸收边界条件,它是基于B.Engquist和A.Majda[14]的单向波方程而提出的差分格式,在FDTD仿真区域外边界具有0.5%到5%的反射系数。
目前应用最广泛的是J.P.Berenger[15-17]的分裂式完全匹配层,以及Z.S.Sacks等[18]和S.D.Gedney[20]的各向异性介质的完全匹配层,它们可使FDTD模拟的最大动态范围达到80dB。
另一方面,为了更好的拟合研究对象的形状,克服台阶逼近带来的误差,D.E.Merewether[19]提出了柱坐标系下的网格剖分方法,R.Holland[20]提出了球坐标系下的网格剖分方法,P.Monk和E.Suli[12]提出了变网格步长方法,S.S.Zivanovic 等[21]和P.Thoma等[22]提出了亚网格技术(即在一般区域采用粗网格,在电磁场快变区域采用精细网格)。
利用这些技术,可以更精确地模拟各种复杂的结构,适应各种复杂的介质,提高了复杂介质中数值计算的精度。
时域模拟一般获得的是近场电磁信息,为了得到诸如天线方向图或散射体雷达散射截面之类的远场信息,必须获得计算区域以外的频域场或瞬态场。
多位学者在这方面做了许多工作,发展了一种高效的时域近远场变换方法[23-26]。
借助这种方法,可以实现由计算区域内近场数据到计算区域外远场数据的外推。
目前,粗糙面散射的FDTD,传递函数在FDTD中的应用,周期介质、各向异性介质、色散介质和含有集中元件的FDTD,以及网络并行FDTD技术等方面也取得了很大进展。
FDTD在迅速发展的同时,也获得了非常广泛的应用。
目前,它几乎被应用到了电磁场工程中的各个方面,例如:电磁散射、生物电磁计量学、辐射天线的分析、微波器件和导行波结构的研究、散射和雷达截面的计算、周期结构的分析、电子封装和电磁兼容的分析、核电磁脉冲传播和散射的分析、以及微光学元器件中光的传播和衍射特性的分析等。
随着新技术的不断提出,其应用范围和成效正在迅速地扩大和提高。
第二章 时域有限差分法的基本原理Maxwell 方程是描述宏观电磁现象的一组基本方程。
这组方程即可以写成微分形式,又可以写成积分形式。
FDTD 方法由Maxwell 旋度方程的微分形式出发,利用二阶精度的中心差分近似,直接将微分运算转换为差分运算,这样达到了在一定体积内和一段时间上对连续电磁场数据的抽样压缩。
2.1 Maxwell 方程和Yee 氏算法根据[27]中电磁场基本方程组的微分形式,若在无源空间,其空间中的媒质是各向同性、线性和均匀的,即媒质的参数不随时间变化且各向同性,则Maxwell 旋度方程可写成:E E H σε+∂∂=⨯∇t(2-1a ) H H E m t σμ-∂∂-=⨯∇ (2-1b ) 式中,E 是电场强度,单位为伏/米(V/m );H 是磁场强度,单位为安/米(A/m );ε表示介质介电系数,单位为法拉/米(F/m ); μ表示磁导系数,单位为亨利/米(H/m );σ表示介质电导率,单位为西门子/米(S/m );m σ表示导磁率,单位为欧姆/米(m /Ω)。
在直角坐标系中,(2-1)式可化为如下六个标量方程:⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫+∂∂=∂∂-∂∂+∂∂=∂∂-∂∂+∂∂=∂∂-∂∂z z x y y y z x x x y z E t E y H x H E t E x H z H E t E z H y H σεσεσε (2-2)⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫-∂∂-=∂∂-∂∂-∂∂-=∂∂-∂∂-∂∂-=∂∂-∂∂z m z x y y m y z x x m x y z H t H y E x E H t H x E z E H t H z E y E σμσμσμ (2-3) 这六个偏微分方程是FDTD 算法的基础。
K.S.Yee [3]在1966年建立了如图2-1所示的空间网格,这就是著名的Yee 氏元胞网格。
图2-1 Yee 氏网格及其电磁场分量分布并引入如下的差分近似方法对(2-2)、(2-3)式中的六个偏微分方程进行了差分离散。
令),,,(t z y x F 代表E 或H 在直角坐标系中某一分量,在时间和空间域中的离散可记为),,(),,,(),,,(k j i F t n z k y j x i F t z y x F n =∆∆∆∆= (2-4) 式中,x ∆、y ∆和z ∆分别是长方体网格沿x 、y 、z 方向的空间步长,t ∆是时间步长,i 、j 、k 分别是沿x 、y 、z 方向的网格编号,n 是时间步数。
对),,,(t z y x F 关于时间和空间的一阶偏导数取中心差分近似,具有二阶精度,即()[]2),,21(),,21(),,,(x O x k j i F k j i F x t z y x F n n x i x ∆+∆--+≈∂∂∆= (2-5a)()[]2),21,(),21,(),,,(y O y k j i F k j i F yt z y x F n n y j y ∆+∆--+≈∂∂∆= (2-5b) ()[]2)21,,()21,,(),,,(z O z k j i F k j i F zt z y x F n n z k z ∆+∆--+≈∂∂∆= (2-5c) ()[]22121),,(),,(),,,(t O t k j i F k j i F t t z y x F n n t n t ∆+∆-≈∂∂-+∆= (2-5d) 在FDTD 中,空间上连续分布的电磁场物理量离散的空间排布如图2-1所示。