有限差分频域方法中的关键技术与概念
1. 编写 yeeder3d() 函数
在MATLAB中编写 yeeder3d() 函数用于构建电场和磁场的导数矩阵。该函数的构建过程较为复杂,涉及到不同方向导数矩阵的生成,以及边界条件的处理。
- DEY矩阵构建 :在构建DEY矩阵时,需要创建特定的零和一的模式,放置在Nx (Ny - 1)对角线上。具体操作是在一个较大数组的开头添加(Ny - 1) Nx个零,在结尾添加(Ny - 1) Nx个一。然后将数组d0和d1除以dy并插入到DEY中。如果需要周期性边界条件,还需进行相应的处理。
- DEZ矩阵构建 :对于DEZ矩阵,如果z方向的网格大小为1,则将导数矩阵初始化为对角矩阵,对角元素为 -jkz,inc。如果网格大小大于1,则计算一个全为1的数组d0,将其除以dz后两次插入到DEZ中,其中一条对角线插入时取相反符号。同样,如果需要周期性边界条件,也需进行处理。
- 磁场导数矩阵计算 *:最后,根据电场导数矩阵直接计算磁场导数矩阵DHX、DHY和DHZ,这是因为只使用了Dirichlet和周期性边界条件。
以下是一个使用 yeeder3d() 函数的示例代码:
% Chapter4_yeeder3d_demo.m
% INITIALIZE MATLAB
close all;
clc;
clear all;
%
FDFD关键技术详解
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



