电磁场数值模拟中波源的设置

在对电磁场模型数值求解中,除了需要在足够的网格空间中模拟煤质,设置合理有效的激励波源也十分重要,需要尽可能地使源的特性与实际物理模型性质一致。

从源随时间的变化看有两类激励源:一是随时间周期变化的时谐场源,另一类是对时间呈脉冲函数形式的波源。从空间分布来看,有面源、线源、电源等。

几种常见的时谐源和脉冲源:

  1. 时谐场源
    在早起的FDTD法计算中,由于缺乏合适波导中色散严重的宽带吸收边界条件,波导中的不连续问题往往采用这种单频激励。由于任何波模都可以展开为平面波谱,一个算法若对平面波不稳定,则对其他波模也不稳定,因此以平面波为对象来进行研究是一种行之有效的方法。网格空间按真空波长 λ 0 \lambda_0 λ0(煤质中波长为 λ n \frac{\lambda}{n} nλ,其中 n n n为介质的折射率)设定,再次空间模拟真空波长为 λ 1 \lambda_1 λ1的光波。
    假设入射场为:
    E i ( t ) = 0 ( t < 0 ) E i ( t ) = E 0 sin ⁡ ( ω t ) ( ( t ≥ 0 ) E_i(t)=0(t<0)\\ E_i(t)=E_0\sin(\omega t)((t\geq0) Ei(t)=0(t<0)Ei(t)=E0sin(ωt)((t0)
    上式所示激励源情况下达到时谐场的稳态,通常需要3-5个周期。对于散射问题所需的周期数还与散射体大小及形状有关。例如,对于具有凹腔结构的物体,Taflove等指出,达到稳定状态所经过的周期大约等于所模拟散射体结构的Q值。为缩短稳态建立时间,减小冲击效应,可以引入开关函数,如采用升余弦函数。

  2. 高斯脉冲
    高斯脉冲函数的时域形式为:
    E i ( t ) = e − 4 π ( t − t 0 ) 2 τ 2 E_i(t)=e^{-\frac{4\pi(t-t_0)^2}{\tau^2}} Ei(t)=eτ24π(tt0)2
    其中 τ \tau τ为常数,决定了高斯脉冲的宽度。脉冲的峰值出现在 t = t 0 t=t_0 t=t0时刻,如图(a)所示。
    上式的傅立叶变换为:
    E i ( f ) = τ 2 e − j 2 π f t 0 − π f 2 τ 2 4 E_i(f)=\frac{\tau}{2}e^{-j2\pi ft_0-\frac{\pi f^2 \tau^2}{4}} Ei(f)=2τej2πft04πf2τ2
    其频谱如图(b)所示,其中负频率部分已经去掉。通常可取 f = 2 τ f=\frac{2}{\tau} f=τ2为高斯脉冲的频宽,这时频谱为最大值的4.3%;在 f = 1 τ f=\frac{1}{\tau} f=τ1时为最大值的45.6%;大约在 f = 1.7 τ f=\frac{1.7}{\tau} f=τ1.7时为最大值的10%。
    在这里插入图片描述
    高斯脉冲中包含了丰富的频谱,其波形在时间按分布上是光滑的,他比较适合作为FDTD法研究波导问题的初始激励信号。但高斯脉冲并非理想的激励源。首先他的激励效率不高,有高斯脉冲的频谱函数可知,他的主要能量分布在零频率(直流)和低频段,而实际中人们感兴趣的频段往往是微波毫米波或跟高的频段,但在这些频段上高斯脉冲的能量分布比零频率的能量分布往往小几个数量级,这对有效的激励所研究的电磁系统非常不利。其次,由于极宽的频谱分布在导波系统中往往造成主模式截止模式和高阶模式并存的局面,特别是在波导中能量分布较大的截止模式的存在会严重干扰正常的FDTD计算,为例摆脱这些截止模式的干扰,常常需要加大计算区域衰减到他们足够小的程度。但实际计算表明,当计算区域太小时,这些截止频率分量将造成计算的不稳定性甚至计算失败。

  3. 升余弦脉冲
    升余弦脉冲的时域形式为:
    E i ( t ) = 0.5 [ 1 − cos ⁡ ( 2 π t / τ ) ] ( 0 < t ≤ τ ) E i ( t ) = 0 ( o t h e r ) E_i(t)=0.5[1-\cos(2\pi t/\tau)](0<t\leq \tau)\\ E_i(t)=0(other) Ei(t)=0.5[1cos(2πt/τ)](0<tτ)Ei(t)=0(other)
    τ \tau τ为脉冲底座宽度。时域波形如图(a)所示。
    频域形式为:
    E i ( f ) = τ e − j π f τ 1 − f 2 τ 2 sin ⁡ ( π f τ ) π f t E_i(f)=\frac{\tau e^{-j\pi f \tau}}{1-f^2\tau^2}\frac{\sin(\pi f\tau)}{\pi ft} Ei(f)=1f2τ2τejπfτπftsin(πfτ)
    在这里插入图片描述

  4. 微分高斯脉冲
    将高斯脉冲求导后得到微分高斯脉冲函数:
    E i ( t ) = t − t 0 τ e − 4 π ( t − t 0 ) 2 τ 2 E_i(t)=\frac{t-t_0}{\tau}e^{-\frac{4\pi(t-t_0)^2}{\tau^2}} Ei(t)=τtt0eτ24π(tt0)2
    其优点是不含零频率分量。波行和频谱图如下。
    频域形式为:
    E i ( f ) = − j τ 2 f 8 e − j 2 π f t 0 − π f 2 τ 0 4 E_i(f)=-\frac{j\tau^2f}{8}e^{-j2\pi ft_0-\frac{\pi f^2\tau_0}{4}} Ei(f)=8jτ2fej2πft04πf2τ0

在这里插入图片描述

  1. 调制高斯函数
    调制高斯函数的时域表达式为
    E i ( t ) = − cos ⁡ ( ω t ) e − 4 π ( t − t 0 ) 2 τ 2 E_i(t)=-\cos(\omega t)e^{-\frac{4\pi(t-t_0)^2}{\tau^2}} Ei(t)=cos(ωt)eτ24π(tt0)2
    上式右边第一项为基波表达式,中心频率为 f 0 = ω 2 π f_0=\frac{\omega}{2\pi} f0=2πω;第二项为高斯函数形式, t 0 t_0 t0通常取基波的 2 1 4 2\frac{1}{4} 241个周期,即 t 0 = 9 π 2 ω t_0=\frac{9\pi}{2\omega} t0=2ω9π。下图为调制高斯脉冲的时域波行和频域波形。其中高斯脉冲的频谱为:
    E i ( f ) = τ 4 e − π ( f − f 0 ) 2 τ 2 4 e − j 2 π ( f − f 0 ) t 0 + τ 4 e − π ( f + f 0 ) 2 τ 2 4 e − j 2 π ( f + f 0 ) t 0 E_i(f)=\frac{\tau}{4}e^{-\frac{\pi(f-f_0)^2\tau^2}{4}}e^{-j2\pi(f-f_0)t_0}+\frac{\tau}{4}e^{-\frac{\pi(f+f_0)^2\tau^2}{4}}e^{-j2\pi(f+f_0)t_0} Ei(f)=4τe4π(ff0)2τ2ej2π(ff0)t0+4τe4π(f+f0)2τ2ej2π(f+f0)t0
    由上式可知,调制高斯脉冲的频谱与高斯脉冲的频谱相比向零频率点两侧移动来 f 0 f_0 f0,如果要使直流分量为零,有效频谱中心位于 f 0 f_0 f0,则可采用下列调制高斯波作为激励波:
    E i ( t ) = E 0 e − 4 π ( n − n 0 ) 2 n d e c a y sin ⁡ ( 2 π f 0 ( n − n 0 ) Δ t ) E_i(t)=E_0e^{-\frac{4\pi(n-n_0)^2}{n_{decay}}}\sin(2\pi f_0(n-n_0)\Delta t) Ei(t)=E0endecay4π(nn0)2sin(2πf0(nn0)Δt)
    在这里插入图片描述
    http://www.docin.com/p-721135108.html
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有限差分法(FDTD)是一种常用的求解电磁场数值方法,下面介绍如何使用Matlab实现电磁场的有限差分法。 1. 离散化空间 首先需要将空间离散化为一个网格,每个网格点的位置和时间可以表示为(x,y,z,t)。对于一个二维空间,可以用一个矩阵表示,对于一个三维空间,可以用一个三维数组表示。 2. 定义Maxwell方程组 Maxwell方程组是求解电磁场的基本方程,包括电场和磁场的偏微分方程。在有限差分法,将Maxwell方程组离散化为差分方程,常用的有Yee算法和Mur吸收边界条件。 3. 初始化场值 根据问题的具体条件,需要初始化场值。例如,对于一个波源,需要在某个位置和时间初始化电场或磁场的值。 4. 更新场值 根据离散化后的Maxwell方程组,按照时间步长依次计算每个网格点的电场和磁场的值,并更新场值。 5. 可视化结果 最后,将计算出的电场和磁场的值可视化,可以使用Matlab自带的plot函数或者surf函数进行绘制。 下面是一个简单的Matlab代码示例: ```matlab % 定义网格大小和时间步长 dx = 0.01; dy = 0.01; dt = 0.0001; % 定义空间大小和时间范围 Lx = 1; Ly = 1; T = 1; % 定义Maxwell方程组 Ex = zeros(Lx/dx, Ly/dy, T/dt); % 初始化电场值 Ey = zeros(Lx/dx, Ly/dy, T/dt); Hx = zeros(Lx/dx, Ly/dy, T/dt); % 初始化磁场值 Hy = zeros(Lx/dx, Ly/dy, T/dt); for t=1:T/dt % 更新电场值 for i=2:Lx/dx-1 for j=2:Ly/dy-1 Ex(i,j,t+1) = Ex(i,j,t) + (dt/eps0)*(Hy(i,j,t)-Hy(i-1,j,t))/dy; Ey(i,j,t+1) = Ey(i,j,t) - (dt/eps0)*(Hx(i,j,t)-Hx(i,j-1,t))/dx; end end % 更新磁场值 for i=2:Lx/dx-1 for j=2:Ly/dy-1 Hx(i,j,t+1) = Hx(i,j,t) - (dt/mu0)*(Ey(i,j+1,t+1)-Ey(i,j,t+1))/dx; Hy(i,j,t+1) = Hy(i,j,t) + (dt/mu0)*(Ex(i+1,j,t+1)-Ex(i,j,t+1))/dy; end end % 更新边界条件(Mur吸收边界) Ex(:,1,t+1) = Ex(:,2,t); Ex(:,end,t+1) = Ex(:,end-1,t); Ex(1,:,t+1) = Ex(2,:,t); Ex(end,:,t+1) = Ex(end-1,:,t); Ey(:,1,t+1) = Ey(:,2,t); Ey(:,end,t+1) = Ey(:,end-1,t); Ey(1,:,t+1) = Ey(2,:,t); Ey(end,:,t+1) = Ey(end-1,:,t); Hx(:,1,t+1) = Hx(:,2,t); Hx(:,end,t+1) = Hx(:,end-1,t); Hx(1,:,t+1) = Hx(2,:,t); Hx(end,:,t+1) = Hx(end-1,:,t); Hy(:,1,t+1) = Hy(:,2,t); Hy(:,end,t+1) = Hy(:,end-1,t); Hy(1,:,t+1) = Hy(2,:,t); Hy(end,:,t+1) = Hy(end-1,:,t); end % 可视化结果 figure; surf(Ex(:,:,T/dt)); title('Electric field'); xlabel('x'); ylabel('y'); zlabel('E'); figure; surf(Hx(:,:,T/dt)); title('Magnetic field'); xlabel('x'); ylabel('y'); zlabel('H'); ``` 上述代码实现了一个二维空间电磁场计算,并使用了Mur吸收边界条件。根据具体问题的条件和需要,可以对代码进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值