1维FDTD仿真

FDTD基本原理是把麦克斯韦方程胡两个矢量旋度方程写成差分形式,利用数值方法求其解。

假设电磁场传播方向为x轴方向,电场只有z轴方法分量,磁场只有y轴方向分量。两个旋度方程可以写成下列形式

电场、磁场写成下在形式

连续方程写成差分形式

其中的常数项因子

其中为自由空间特性阻抗377欧姆,令,递推关系如下图

实现时可用下图表示

从而得到差分递推方程如下

hy(mm) = hy(mm) + (ez(mm+1)- ez(mm))/imp0;

ez(mm) = ez(mm) + (hy(mm)- hy(mm-1))*imp0;

%1D FDTD with source

SIZE = 200;
ez = zeros(1,SIZE);
hy = zeros(1,SIZE);
imp0=377.0;
maxTime = 10000;

for qTime = 0 : 1 : maxTime
   
    for mm = 1 : 1 : SIZE -1
        hy(mm) = hy(mm) + (ez(mm+1)- ez(mm))/imp0;
    end
    figure(1); t_hy = plot(hy);
    title(‘Magnetic Field‘);
    for mm = 2 : 1 : SIZE
         ez(mm) = ez(mm) + (hy(mm)- hy(mm-1))*imp0;
    end
    figure(2); t_ez = plot(ez);
    title(‘Electric Field‘)
    ez(50) = ez(50) + exp(-(qTime-30.0)*(qTime-30.0)/100.0);
   
%     pause(0.01);
% %     refreshdata(t_hy);
%     refreshdata(t_ez);
%     drawnow;
end

时间: 2024-08-04 03:19:56

1维FDTD仿真的相关文章

基于SILVACO ATLAS的a-IGZO薄膜晶体管二维器件仿真(03)

今天逛ResearchGate的时候发现了一个不错的Atlas入门教程:Step by step with ATLAS Silvaco点击链接免费下载.. Atlas代码结构 当然可能有一点太基础了. 改代码的时候发现了我犯了一个低级错误,region定义重复了,所以一直报错. [注1]Tonyplot图片导出方法:选中图片,File-->save as  *.png [注2]Tonyplot数据导出方法:选中图片,File-->Export Format: Silvaco Standard 

基于SILVACO ATLAS的a-IGZO薄膜晶体管二维器件仿真(05)

关于特性曲线的输出调整: 初代版本 material material=igzo eg300=3.5 nc300=8.5e21 nv300=8.5e21 taun0=1e-9 taup0=1e-9 affinity=4.35 mup=1 mun=35 defect region=1 nta=5e17 wta=0.172 nga=5e15 wga=2 ntd=0.0 wtd=0 ngd=0 wgd=0 interface QF=-2e10 S.I 输出: 次代版本-定义双层结构 material

Cocos2d-x学习笔记(十五)-------->物理引擎

物理引擎 Cocos2d-x引擎内置了两种物理引擎,它们分别是Box2D和Chipmunk,都是非常优秀的2D物理引擎,而且x引擎将它们都内置在SDK中.Box2D使用较为广泛,在这里选择Box2D来进行学习. 物理引擎模拟的内容: 重力:在游戏中模拟重力加速度,当游戏中人物跳跃起来后会受到重力影响而向下移动,在没有地面的场景,人物和物体会由于重力而做自由落体运动. 牵引力(动力):在游戏中比如汽车的引擎,人物本身能够提供向前进行的动力,这种牵引力是持续不断地作用在物体上的,物体因此可以向作用力

cocos2dx-3.x物理引擎Box2D介绍

物理引擎 Cocos2d-x引擎内置了两种物理引擎,它们分别是Box2D和Chipmunk,都是非常优秀的2D物理引擎,而且x引擎将它们都内置在SDK中.Box2D使用较为广泛,在这里选择Box2D来进行学习.  物理引擎模拟的内容: 重力:在游戏中模拟重力加速度,当游戏中人物跳跃起来后会受到重力影响而向下移动,在没有地面的场景,人物和物体会由于重力而做自由落体运动.牵引力(动力):在游戏中比如汽车的引擎,人物本身能够提供向前进行的动力,这种牵引力是持续不断地作用在物体上的,物体因此可以向作用力

fdtd二维

先列出理论 对于二维物质,在z向上是无变化的,可以有如下结论 1.假设激励源在z向也无变换,因此所有关于z的偏导都为0 2.再假设无自由电流和电荷 上式可做如下简化 上面可以出现这样两个循环 \(E_z \Longrightarrow H_x  H_y\Longrightarrow  E_z \)   TM \(H_z \Longrightarrow E_x  E_y \Longrightarrow  H_z \)   TE

matlab仿真二维光子晶体最简程序

本程序为初学者使用,只考虑MT方向 下面的程序为matlab代码 只考虑MT方向 %This is a simple demo for Photonic Crystals simulation %This demo is for TE wave only, so only h wave is considered. %for TM direction only,10 points is considered. %---------------------------------------M %

在ROS中开始自主机器人仿真 - 3 让turtlebot自主导航

我们已经在gazebo中实现了机器人的仿真,而且能够控制机器人的运动, 查看机器人所感知到的信息, 包括lasercan, 图像信息, 深度信息, 点云, 也包括没有提到的速度信息. 这里,我们建立用ROS navigation stack 导航功能包ROS navigation stack 导航功能包 , 进行机器人地图构建与导航. part 2.1: 让turtlebot自主导航 1 创建地图 使用下面的命令,借助键盘遥控机器人创建精确详尽的地图. 加载Gazebo仿真环境 roslaunc

OSG 3.0 三维视景仿真技术开发详解

第一章 OSG三维渲染引擎概述 OSG的主要功能包括以下几个方面: 1. 可以实时高效地绘制和控制使用建模软件所建立的3D模型, 如3DMAX.MAYA.Creator等制作的3D模型, 该功能是场景渲染的基本功能. 2. 支持多种外设, 如操作杆.游戏柄.轨迹球.方向盘.键盘鼠标等. 3. 除了传统的二维屏幕上进行三维展示外, OSG还可以完成红绿偏移的立体投影, 实现真正的立体展示. 4. 支持骨骼动画.关键帧动画.颜色动画等各种流行的动画. OSG的相关扩展: OSG的相关扩展,OSG针对

我眼中的运维

一· Linux系统 Linux内核 服务器搭建 Python Shell Php Tcp/IP Mysql Nosql 二 生产者消费者模型 varnish Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. voip VoIP(Voice over Internet Protocol)简而言之就是将模拟信号(Voice)数字化,以数据封包(Data Packet)的形式在IP网络(