硬件和射频工程师

 找回密码
 立即注册
查看: 416|回复: 12

FDTD仿真二维TM波RCS(方金属柱和圆金属柱 时谐场,matlab版)

[复制链接]
发表于 2012-3-6 17:21:57 | 显示全部楼层 |阅读模式
易迪拓培训微波射频和天线设计培训
继之前分享二维TM波方金属柱RCS计算代码,在此补充基于时谐场的RCS计算完整代码,可选散射目标有 方金属柱和圆金属柱。注:该程序中使用 PML阶吸收边界条件作为截断边界;与之前激励源不同不同:此代码使用正弦波信号;此代码仅供学习交流参考,如果用于其他,请与本人和HWRF论坛联系 。[ol][*][hide]  
[*]% FDTD仿真二维TM波电磁散射,使用时谐场激励;
[*]% 使用PML吸收边界条件作截断边界;
[*]% 编写时间:2012年4月6日;
[*]% 编写者:tingo(UESTC);
[*]% Email: guoqianghe22@gmail.com
[*]%%
[*]clear;
[*]clf;
[*]clc;
[*]close all;
[*]%% 计算中用到的一些电磁常量;
[*]mu0=4*pi*(1e-7); %磁导率;
[*]epsilon0=(1/36/pi)*(1e-9); %介电常数;
[*]Vvacuum=1/sqrt(mu0*epsilon0); % 真空中的波传播速度;
[*]Zc=sqrt(mu0/epsilon0);% 自由空间中的波阻抗;
[*]%% 求解区域及网格划分
[*]namda=1e-2;% 波长(m);
[*]a=2*namda;% 方金属柱边长;
[*]dx=namda/40; % 网格尺寸;
[*]dy=dx; % y方向网格尺寸;
[*]nx=150;% x方向网格数目;
[*]ny=150;% y方向网格数目;
[*]Lx=nx*dx; % 仿真区域
[*]Ly=ny*dy; % y方向;
[*]dt=dx/Vvacuum/2; % 时间步长;
[*]itmax=3000;   % 最大时间步数;
[*]%% PML层参数设置;
[*]Rmax=1e-3;    % 电磁波垂直入射的反射率;
[*]nxbc=8;       % 左右两边PML层网格数目;
[*]nybc=8;       % 上下两边PML层网格数目;
[*]orderbc=2;      % pML层中电导率分布阶数;
[*]Nx=nxbc+nx+nxbc;% PML+FDTD+PML网格总数;
[*]Nx1=nxbc+nx;    % PML+FDTD网格总数;
[*]%% 内存分配;
[*]% 1、FDTD计算
[*]% TM波 三个场分量,Hx,Hy,Ez;
[*]Hx=zeros(nx+1,ny);
[*]Hy=zeros(nx,ny+1);
[*]Ez=zeros(nx+1,ny+1);
[*]% Ez,Hx,Hy三个场分量FDTD迭代系数;
[*]caez=zeros(nx+1,ny+1);
[*]cbez=zeros(nx+1,ny+1);
[*]cphx=zeros(nx+1,ny);
[*]cqhx=zeros(nx+1,ny);
[*]cphy=zeros(nx,ny+1);
[*]cqhy=zeros(nx,ny+1);
[*]% 2、PML层:电场Ez分裂为Ezx,Ezy;
[*]% Front;
[*]Ezxbcf=zeros(Nx+1,nybc+1);
[*]Ezybcf=zeros(Nx+1,nybc+1);
[*]
[*]caezxbcf=zeros(Nx+1,nybc+1);
[*]cbezxbcf=zeros(Nx+1,nybc+1);
[*]caezybcf=zeros(Nx+1,nybc+1);
[*]cbezybcf=zeros(Nx+1,nybc+1);
[*]% Back;
[*]Ezxbcb=zeros(Nx+1,nybc+1);
[*]Ezybcb=zeros(Nx+1,nybc+1);
[*]
[*]caezxbcb=zeros(Nx+1,nybc+1);
[*]cbezxbcb=zeros(Nx+1,nybc+1);
[*]caezybcb=zeros(Nx+1,nybc+1);
[*]cbezybcb=zeros(Nx+1,nybc+1);
[*]% Left;
[*]Ezxbcl=zeros(nxbc+1,ny-1);
[*]Ezybcl=zeros(nxbc+1,ny-1);
[*]
[*]caezxbcl=zeros(nxbc+1,ny-1);
[*]cbezxbcl=zeros(nxbc+1,ny-1);
[*]caezybcl=zeros(nxbc+1,ny-1);
[*]cbezybcl=zeros(nxbc+1,ny-1);
[*]% Right;
[*]Ezxbcr=zeros(nxbc+1,ny-1);
[*]Ezybcr=zeros(nxbc+1,ny-1);
[*]
[*]caezxbcr=zeros(nxbc+1,ny-1);
[*]cbezxbcr=zeros(nxbc+1,ny-1);
[*]caezybcr=zeros(nxbc+1,ny-1);
[*]cbezybcr=zeros(nxbc+1,ny-1);
[*]% 3、PML层:Hx分裂为Hxy;Hy分裂为Hyx;
[*]% Front;
[*]Hxybcf=zeros(Nx+1,nybc);
[*]Hyxbcf=zeros(Nx,nybc+1);
[*]
[*]cphxybcf=zeros(Nx+1,nybc);
[*]cqhxybcf=zeros(Nx+1,nybc);
[*]cphyxbcf=zeros(Nx,nybc+1);
[*]cqhyxbcf=zeros(Nx,nybc+1);
[*]% Back;
[*]Hxybcb=zeros(Nx+1,nybc);
[*]Hyxbcb=zeros(Nx,nybc+1);
[*]
[*]cphxybcb=zeros(Nx+1,nybc);
[*]cqhxybcb=zeros(Nx+1,nybc);
[*]cphyxbcb=zeros(Nx,nybc+1);
[*]cqhyxbcb=zeros(Nx,nybc+1);
[*]% Left;
[*]Hxybcl=zeros(nxbc+1,ny);
[*]Hyxbcl=zeros(nxbc,ny-1);
[*]
[*]cphxybcl=zeros(nxbc+1,ny);
[*]cqhxybcl=zeros(nxbc+1,ny);
[*]cphyxbcl=zeros(nxbc,ny-1);
[*]cqhyxbcl=zeros(nxbc,ny-1);
[*]% Right;
[*]Hxybcr=zeros(nxbc+1,ny);
[*]Hyxbcr=zeros(nxbc,ny-1);
[*]
[*]cphxybcr=zeros(nxbc+1,ny);
[*]cqhxybcr=zeros(nxbc+1,ny);
[*]cphyxbcr=zeros(nxbc,ny-1);
[*]cqhyxbcr=zeros(nxbc,ny-1);
[*]%% 仿真区域媒质参数设定;
[*]nmedium=2; % 媒质数目;
[*]epsilonr=[1,1];% 相对介电常数;
[*]mur=[1,1];   % 相对磁导率
[*]sigma=[0,6e7];% 电导率;
[*]rou=[0,0];    % 磁阻率;
[*]
[*]ca=zeros(1,nmedium);
[*]cb=zeros(1,nmedium);
[*]cp=zeros(1,nmedium);
[*]cq=zeros(1,nmedium);
[*]
[*]for i=1:nmedium
[*]  epsilon=epsilon0*epsilonr(i);
[*]  mu=mu0*mur(i);
[*]  eaf=sigma(i)*dt/2/epsilon;
[*]  haf=rou(i)*dt/2/mu;
[*]  ca(i)=(1-eaf)/(1+eaf);
[*]  cb(i)=dt/epsilon/(1+eaf);
[*]  cp(i)=(1-haf)/(1+haf);
[*]  cq(i)=dt/mu/(1+haf);
[*]end
[*]%% 自由空间FDTD迭代计算系数;
[*]% Ez;
[*]caez(:,:)=ca(1);
[*]cbez(:,:)=cb(1);
[*]% Hx;
[*]cphx(:,:)=cp(1);
[*]cqhx(:,:)=cq(1);
[*]% Hy;
[*]cphy(:,:)=cp(1);
[*]cqhy(:,:)=cq(1);
[*]%% 散射体模型;
[*]ObjType=input('请输入散射体模型(1. 方金属柱;2. 圆金属柱):');
[*]switch ObjType
[*]  case 1
[*]  % 金属方柱;
[*]  nx1=round( (Lx-a)/2/dx ); % 金属方柱x方向开始网格编码;
[*]  nx2=round( (Lx+a)/2/dx );% 金属方柱x方向截止处网格编码;
[*]  ny1=nx1;              % 金属方柱y方向开始网格编码;
[*]  ny2=nx2;              %金属方柱y方向截止处网格编码;
[*]  % 金属方柱区域FDTD计算系数;
[*]  caez( (nx1+1):(nx2+1) , (ny1+1):(ny2+1) )=ca(2);
[*]  cbez( (nx1+1):(nx2+1) , (ny1+1):(ny2+1) )=cb(2);
[*]   
[*]  cphx( (nx1+1):(nx2+1) , ny1:ny2 )=cp(2);
[*]  cqhx( (nx1+1):(nx2+1) , ny1:ny2 )=cq(2);
[*]   
[*]  cphy( nx1:nx2 , (ny1+1):(ny2+1) )=cp(2);
[*]  cqhy( nx1:nx2 , (ny1+1):(ny2+1) )=cq(2);
[*]  case 2
[*]  % 圆金属柱;
[*]  r=namda;% 圆介质柱半径;
[*]  xcenter=Lx/2;% 圆柱的中心x坐标;
[*]  ycenter=Ly/2;  % 圆柱的中心y坐标;
[*]  % 圆柱区域FDTD计算系数;
[*]  for i=1:nx+1
[*]    for j=1:ny+1
[*]      xi=(i-1)*dx;
[*]      yi=(j-1)*dy;
[*]      d=sqrt( (xi-xcenter)^2+(yi-ycenter)^2 );
[*]      if(d复制代码
回复

使用道具 举报

发表于 2014-5-11 09:51:45 | 显示全部楼层
易迪拓培训微波射频和天线设计培训
好辛苦的楼主额,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2014-5-7 18:43:35 | 显示全部楼层
易迪拓培训微波射频和天线设计培训
感谢感谢
回复 支持 反对

使用道具 举报

发表于 2012-3-6 17:29:21 | 显示全部楼层
易迪拓培训微波射频和天线设计培训
看看·参考学习下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-30 23:55:14 | 显示全部楼层
易迪拓培训微波射频和天线设计培训

呵呵,看到你的回复真的很欣慰,现在做计算电磁学的人越来越少了,帖子也少有问津!
回复 支持 反对

使用道具 举报

发表于 2012-3-30 21:44:00 | 显示全部楼层
易迪拓培训微波射频和天线设计培训
顶楼主的资料
回复 支持 反对

使用道具 举报

发表于 2012-3-30 21:44:22 | 显示全部楼层
易迪拓培训微波射频和天线设计培训

我最近在看小孔耦合,敢问楼主能否用FDTD的方法计算TE21模跟踪器。最近在看小孔耦合,如果能,需要关注哪些资料?望指点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-30 23:55:00 | 显示全部楼层
易迪拓培训微波射频和天线设计培训

"TE21模跟踪器"?可否说得详细些
回复 支持 反对

使用道具 举报

发表于 2012-5-1 09:57:44 | 显示全部楼层
易迪拓培训微波射频和天线设计培训

你看没看过 现代面天线新技术 的第十一章貌似论坛上有你可以看看 里面有说跟踪器的。帮我看看能不能用FDTD解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-30 23:55:00 | 显示全部楼层
易迪拓培训微波射频和天线设计培训

好的,我抽时间看看这一块!
回复 支持 反对

使用道具 举报

发表于 2012-5-1 23:54:00 | 显示全部楼层
易迪拓培训微波射频和天线设计培训


呵呵,最近都在学习HFSS,模拟超材料,好长时间没来光顾了。不过感觉现在做计算电磁学的人的确是越来越少(毕竟用软件模拟要方便的多,快的多而且准确的多?),所以现在这个板块很冷清啊。
回复 支持 反对

使用道具 举报

发表于 2012-5-1 23:54:20 | 显示全部楼层
易迪拓培训微波射频和天线设计培训

另外楼主这个程序跟我那个很像原理差不多的,但是圆柱计算的结果好像还不是非常理想啊。







  

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|硬件和射频工程师  

GMT+8, 2018-1-22 19:57 , Processed in 0.533038 second(s), 22 queries .

Powered by Discuz! X3.2

CoprRight © 20011-2014 hwrf.com.cn

快速回复 返回顶部 返回列表