主要内容

散射问题

解决一个简单的散射问题,计算被入射波照亮的物体反射的波。这个例子展示了如何使用电磁工作流解决散射问题。有关一般的PDE工作流,请参见方孔圆盘上的亥姆霍兹方程

对于这个问题,假设畴域是一个无限的水平膜受到小的垂直位移。膜固定在物体边界处。介质是均匀的,波的相速度(传播速度), α ,是恒定的。对于这个问题,假设 α = 1。在这种情况下,频率波数等于频率, k ω / α ω

为了解决散射问题,首先建立了谐波分析的电磁模型。

emagmodel = createpde (“电磁”“谐”);

将频率指定为 4 π

ω= 4 *π;

用菱形孔表示正方形表面。在正方形中定义一个菱形,将它们放在一个矩阵中,并创建一个从正方形中减去菱形的集合公式。

平方= [3;4;5;5;5;5;5;5;5;5); diamond = [2; 4; 2.1; 2.4; 2.7; 2.4; 1.5; 1.8; 1.5; 1.2]; gd = [square,diamond]; ns = char(“广场”“钻石”)”;科幻小说=“广场——钻石”

创建几何。

g = decsg (gd、科幻、ns);geometryFromEdges (emagmodel g);

将几何图形包含在模型中,并使用边缘标签绘制它。

图;pdegplot (emagmodel“EdgeLabels”“上”);xlim ([6 6]) ylim ([6 6])

图中包含一个axes对象。axis对象包含9个类型为line、text的对象。

指定真空介电常数和磁导率值为1。

emagmodel。VacuumPermittivity = 1;emagmodel。VacuumPermeability = 1;

指定材料的相对介电常数、相对渗透率和导电性。

electromagneticProperties (emagmodel“RelativePermittivity”, 1...“RelativePermeability”, 1...“导”, 0);

在正方形的边缘上应用吸收边界条件。参数指定吸收区域的厚度和衰减速率厚度指数,扩展参数。

electromagneticBC (emagmodel“边缘”,[1 2 7 8],...“FarField”“吸收”...“厚度”2,...“指数”4...“缩放”1);

对菱形边缘应用边界条件。

innerBCFunc = @(location,~) [-exp(-1i*omega*location.x);...0(1)长度(location.x)));克里丝= electromagneticBC (emagmodel,“边缘”,[3 4 5 6],...“电场”, innerBCFunc);

生成一个网格。

generateMesh (emagmodel“Hmax”, 0.1);

求解频率的谐波分析模型 ω 4 π

结果=解决(emagmodel,“频率”ω);

画出实部x产生的电场的-分量。

u = result.ElectricField;图pdeplot (emagmodel,“XYData”,真正的(u.Ex),“网”“关闭”);colormap(飞机)

图中包含一个axes对象。axes对象包含一个patch类型的对象。

将得到的电场插值到覆盖几何图形部分的网格中x而且y从-1到4。

v = linspace (4101);(X, Y) = meshgrid (v);Eintrp = interpolateHarmonicField(因此,X, Y);

重塑Eintrp。前女友和情节x产生的电场的-分量。

EintrpX =重塑(Eintrp.ElectricField.Ex、大小(X));图冲浪(X, Y,真实(EintrpX),“线型”“没有”);视图(0 90)colormap(飞机)

图中包含一个axes对象。axis对象包含一个类型为surface的对象。

使用频率矢量的解,创建一个动画,显示与时间相关的波动方程的相应解。

结果=解决(emagmodel,“频率”ω/ 10:ω);数字m = 1:长度(ω /10: ω) u = result.电场;pdeplot (emagmodel“XYData”,真正的(u.Ex (:, m)),“网”“关闭”);colormap(jet) M(M) = getframe;结束

图中包含一个axes对象。axes对象包含一个patch类型的对象。

要播放动画,请使用电影函数。例如,要以每秒3帧的速度循环播放动画5次,请使用电影(M、5、3)命令。

Baidu
map