• fdtd二维的详细解说(一)


    先列出理论 

    对于二维物质,在z向上是无变化的,可以有如下结论

    1.假设激励源在z向也无变换,因此所有关于z的偏导都为0

    2.再假设无自由电流和电荷

    上面可以出现这样两个循环

    (E_z Longrightarrow H_x  H_yLongrightarrow  E_z )   TM

    (H_z Longrightarrow E_x  E_y Longrightarrow  H_z )   TE

     第二个循环对应的方程如下:

     (frac{partial E_x}{partial t}=frac{1}{epsilon}frac{partial H_z}{ partial y}) 

     (frac{partial E_y}{partial t}=-frac{1}{epsilon}frac{partial H_z}{ partial x})

    (frac{partial H_z}{partial t}=frac{1}{mu}left(frac{partial E_x}{ partial y}-frac{partial E_y}{ partial x} ight))

    差分过程可以用下图来说明,O代表H_z,×代表E,两个H可以得到一个E,而反过来四个E又可以得到一个H,如此循环不断前进

     

    该图代码

    figure();
    hold on;
    d=20
    N=6;
    for i=0:N
        plot([i*d,i*d],[0,N*d],'-k'); hold on;
        plot([0,N*d],[i*d,i*d],'-k'); hold on;
        plot(ones(N)*i*d,((1:N)-1/2)*d,'kx'); hold on;
        plot(((1:N)-1/2)*d,ones(N)*i*d,'kx'); hold on;
    end
    for i=1:N
        plot(((1:N)-1/2)*d,ones(N)*(i-1/2)*d,'ko'); hold on;
    end
    axis([-20,140,-20,140]);
    

    根据以上关系,可以编写以上步进代码

    N=201; %box number
    pos_center=floor(N/2)+1;
    N_cycle=400;
    c_const=3e8;
    mu=4*pi*1e-7;
    epsilon=8.85*10^-12;
    w=1e10;
    dx=2*pi*c_const/w/10;
    dy=dx;
    dt=dx/c_const/2;
     
     %the edge is fixed to 0;
    Ex=zeros(N+1,N);%box(i,j) upper
    Ey=zeros(N,N+1);%box(i,j) left
    Hz=zeros(N,N);%box(i,j) center
     
    for i=1:N_cycle      
           %from Hz to Ex Ey
           Ex(2:N,1:N)=Ex(2:N,1:N)+dt/epsilon*(Hz(2:N,1:N)-Hz(1:N-1,1:N))/dy;
           Ey(1:N,2:N)= Ey(1:N,2:N)-dt/epsilon*(Hz(1:N,2:N)-Hz(1:N,1:N-1))/dx;
           %from Ex Ey to Hz
           Hz(1:N,1:N)=Hz(1:N,1:N)+dt/mu*( (Ex(2:N+1,1:N)-Ex(1:N,1:N))/dy ...
                                       -(Ey(1:N,2:N+1)-Ey(1:N,1:N))/dx);
            %add a cos source in the center                      
           Hz(pos_center,pos_center)=cos(w*i*dt);
            imshow(imresize(Hz/max(max(Hz)),10));
    end
    

      

    附录:关于网格大小:要远小于波长(取0.1 lambda),且远小于物体尺寸

  • 相关阅读:
    17款加速效率的CSS工具
    我为什么向后端工程师推荐Node.js
    八款开源 Android 游戏引擎 (巨好的资源)
    50个必备的实用jQuery代码段
    $.getJSON()跨域请求
    javascript獲得服務器端控件的ID
    (转)8款在线CSS优化工具/组织和压缩CSS
    10 个文件和文档的比较工具
    40个有创意的jQuery图片和内容滑动及弹出插件收藏集之四
    MBP换硬盘的过程
  • 原文地址:https://www.cnblogs.com/Iknowyou/p/6928013.html
Copyright © 2020-2023  润新知