clear; 
clc; 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% 1.初始化 
T=200; % 迭代次数 
IE=100; % 
JE=100; 
npml=8; % PML的网格数量 
c0=3*10^8; % 波速 
f=1.5*10^(9); % 频率 
lambda=c0/f; % 波长 
wl=10; 
dx=lambda/wl; 
dy=lambda/wl; 
pi=3.14159; 
dt=dx/(2*c0); % 时间间隔 
epsz=1/(4*pi*9*10^9); % 真空介电常数 
epsilon=1; % 相对介电常数 
sigma=0; % 电导率 
spread=6; % 脉冲宽度 
t0=20; % 脉冲高度 
ic=IE/2; % 源的X位置 
jc=JE/2; % 源的Y位置 
for i=1:IE+1; 
for j=1:JE+1; 
dz(i,j)=0; % z方向电荷密度 
ez(i,j)=0; % z方向电场 
hx(i,j)=0; % x方向磁场 
hy(i,j)=0; % y方向磁场 
ihx(i,j)=0;% 
ihy(i,j)=0; 
iz(i,j)=0; % z方向求和参量,频域卷积转化为时域求和 
end; 
end; 
for i=2:IE; % 
for j=2:JE; 
ga(i,j)=1; 
end; 
end; 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%PML参数的设置 
for i=1:IE; 
gi2(i)=1; 
gi3(i)=1; 
fi1(i)=0; 
fi2(i)=1.0; 
fi3(i)=1.0; 
end 
for j=1:JE; 
gj2(j)=1; 
gj3(j)=1; 
fj1(j)=0; 
fj2(j)=1; 
fj3(j)=1; 
end 
for i=1:npml+1; %设置PML层中的参数 
xnum=npml+1-i; 
xn=0.33*(xnum/npml)^3; 
gi2(i)=1.0/(1+xn); 
gi2(IE-1-i)=1/(1+xn); 
gi3(i)=(1-xn)/(1+xn); 
gi3(IE-1-i)=(1-xn)/(1+xn); 
xn=0.25*((xnum-0.5)/npml)^3; 
fi1(i)=xn; 
fi1(IE-2-i)=xn; 
fi2(i)=1.0/(1+xn); 
fi2(IE-2-i)=1/(1+xn); 
fi3(i)=(1-xn)/(1+xn); 
fi3(IE-2-i)=(1-xn)/(1+xn); 
end 
for i=1:npml+1; 
xnum=npml+1-i; 
xn=0.33*(xnum/npml)^3; 
gj2(i)=1.0/(1+xn); 
gj2(JE-1-i)=1/(1+xn); 
gj3(i)=(1-xn)/(1+xn); 
gj3(JE-1-i)=(1-xn)/(1+xn); 
xn=0.25*((xnum-0.5)/npml)^3; 
fj1(i)=xn; 
fj1(JE-2-i)=xn; 
fj2(i)=1.0/(1+xn); 
fj2(JE-2-i)=1/(1+xn); 
fj3(i)=(1-xn)/(1+xn); 
fj3(JE-2-i)=(1-xn)/(1+xn); 
end 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% 2.迭代求解电场和磁场 
for t=1:T;
for i=2:IE; % 为了使每个电场周围都有磁场进行数组下标处理 
for j=2:JE; 
dz(i,j)=gi3(i)*gj3(j)*dz(i,j)+gi2(i)*gj2(j)*0.5*(hy(i,j)-hy(i-1,j)-hx(i,j)+hx(i,j-1)); 
end; 
end; % 电场循环结束 
pulse=sin(2*pi*f*t*dt); % 正弦波源 
dz(ic,jc)=dz(ic,jc)+pulse; % 软源 
for i=1:IE; % 为了使每个电场周围都有磁场进行数组下标处理 
for j=1:JE; 
ez(i,j)=ga(i,j)* dz(i,j); %反映煤质的情况都是放到这里的 
% iz(i,j)=iz(i,j)+gb(i,j)*ez(i,j) ; 
end; 
end; % 电荷密度循环结束 
%figure(1);                                %可视化处理
      %clf;   
      %mesh(ez);                                 %电场的幅值
      %axis([0 IE 0 JE -0.5 0.5]);
      %xlabel('i')
      %ylabel('j')
  %drawnow;                %完成114_ez
for j=1:JE; 
ez(1,j)=0; 
ez(IE,j)=0; 
end 
for i=1:IE; 
ez(i,1)=0; 
ez(i,JE)=0; 
end; 
for i=1:IE; % 为了使每个磁场周围都有电场进行数组下标处理 
for j=1:JE-1; 
curl_e=ez(i,j)-ez(i,j+1); 
ihx(i,j)=ihx(i,j)+fi1(i)*curl_e; 
hx(i,j)=fj3(j)*hx(i,j)+fj2(j)*0.5*(curl_e+ihx(i,j)); 
end; 
end; % 磁场HX循环结束 
      figure(2);                                %可视化处理
      clf;   
      mesh(hx);                                 %磁场的幅值
      axis([0 IE 0 JE -0.5 0.5]);
      xlabel('i')
      ylabel('j')
      drawnow;                %完成114_hx
for i=1:IE-1; % 为了使每个磁场周围都有电场进行数组下标处理 
for j=1:JE; 
curl_e=ez(i+1,j)-ez(i,j); 
ihy(i,j)=ihy(i,j)+fj1(j)*curl_e; 
hy(i,j)=fi3(i)*hy(i,j)+fi2(i)*0.5*(curl_e+ihy(i,j)); 
end; 
end; % 磁场HY循环结束 
figure(3);                                %可视化处理
          %clf;   
          %mesh(hy);                                 %磁场的幅值
          %axis([0 IE 0 IE -0.5 0.5]);
          %xlabel('i')
          %ylabel('j')
          %drawnow;              %完成114_hy
end

D139

二维FDTD有限元仿真相关推荐

  1. 空时二维自适应处理-相控阵雷达二维杂波谱分布仿真Matlab

    空时二维自适应处理-相控阵雷达二维杂波谱分布仿真 非均匀性杂波回波 相控阵雷达二维杂波谱分布 相控阵雷达二维杂波谱分布仿真 非均匀性杂波回波   在机载雷达杂波仿真时,需要综合考虑杂波单元的反射率模型 ...

  2. matlab 三维数组运算,MATLAB二维三维画图仿真数组运算

    MATLAB二维三维画图仿真数组运算 1. 数学 (1) 数组运算: x=[1 2 3 4]; y=[3 4 5 6]; z=x+y %数组x与数组y相加得到数组z z = 4 6 8 10 z=x- ...

  3. 二维静电场有限元matlab,利用MATLAB计算电磁场有关分布

    <利用MATLAB计算电磁场有关分布>由会员分享,可在线阅读,更多相关<利用MATLAB计算电磁场有关分布(17页珍藏版)>请在人人文库网上搜索. 1.电磁场实验报告实验一 模 ...

  4. 《有限元分析基础教程》(曾攀)笔记一-二维杆单元有限元程序(基于Python)...

    曾攀老师的<有限元分析基础教程>第三章有二维杆单元的推导,并结合一个例题进行了解析解和基于Matlab的程序求解.但是我感觉书中的MATLAB代码有点罗嗦,而且一些实现方法也比较麻烦,比如 ...

  5. python有限元例题_《有限元分析基础教程》(曾攀)笔记一-二维杆单元有限元程序(基于Python)...

    曾攀老师的<有限元分析基础教程>第三章有二维杆单元的推导,并结合一个例题进行了解析解和基于Matlab的程序求解.但是我感觉书中的MATLAB代码有点罗嗦,而且一些实现方法也比较麻烦,比如 ...

  6. 二维静电场有限元matlab,实验2 MATLAB有限元计算

    MATLAB电磁场有限元计算 实验目的: 1.了解有限元算法的原理,熟练运用MATLAB环境的PDE工具. 2.熟练运用PDE工具分析简单的电磁场边值问题. 实验内容: 一. 有限元简介 在电磁场的计 ...

  7. 一.路径规划---二维路径规划仿真实现-gmapping+amcl+map_server+move_base

    参考http://www.autolabor.com.cn/book/ROSTutorials/chapter1.html 1.首先实现仿真平台在rviz和gazebo的实现: 编写rviz环境下的x ...

  8. 有限元方法入门:有限元方法简单的二维算例(三角形剖分)

    有限元方法简单的二维算例(三角形剖分) 文章目录 有限元方法简单的二维算例(三角形剖分) 算例描述 变分问题 有限元离散 问题转化 有限元三要素 参考单元与一般单元 一般单元上的形函数 一般单元上的积 ...

  9. 有限元方法基础-以二维拉普拉斯方程为例(附程序)

    文章目录 前言 问题描述 问题区域 偏微分方程 变分问题(弱形式) 有限元离散 二维线性有限元 : 参考基函数 2D linear finite element : affine mapping 有限 ...

最新文章

  1. Eclipse Server runtime设置里找不到apache tomcat的处理方法
  2. 飞秋(FeiQ)已在计算机技术的世界里沉浸了十年
  3. [bzoj 1452] [JSOI2009]Count
  4. 番茄是水果还是蔬菜这事儿,居然闹到了最高法院?!
  5. Perl篇:获取操作系统的信息
  6. iris数据_针对iris数据集 支持向量机不同核函数的比较
  7. SiamFC代码讲解,训练过程讲解
  8. HttpClient4模拟表单提交
  9. 聊天app开发——如何开发聊天app
  10. 国家开放大学2021春1062文学英语赏析题目
  11. 联想计算机怎么改为光驱启动,联想笔记本光驱启动设置方法
  12. GetShell的姿势总结
  13. 智慧农业实验室第一次成果
  14. 数据治理:数据治理之道-数据文化-数据思维融入企业文化
  15. Excel文件解析和结果回写
  16. C语言丨整蛊必备小程序,好玩炸翻天(附源码)
  17. MySQL中Count和Sum的区别
  18. 用计算机弹醒不来的梦,抖音梦里梦到醒不来的梦是什么歌
  19. 2d有限元计算机仿真,超导感应电机的建模与分析
  20. 看一遍就懂,详解java多线程——volatile

热门文章

  1. UA OPTI544 量子光学9 2-level system approximation的向量模型
  2. Wireshark EndPoints窗口
  3. 用表格布局2个链接6个图片
  4. C++类型转换总结【转】
  5. C#搭建CEF(CEFGLUE) 环境。
  6. Openshift API部分源码学习笔记(一)
  7. 如何判断一个点是否在一个多边形内?
  8. 约瑟夫问题(丢手帕问题)
  9. 使用Fabric自动化你的任务
  10. 要离开苏州,一大堆东西要处理(包括租的房子)