runfdtd.m

来自「fdtd计算二维光子晶体带隙」· M 代码 · 共 47 行

M
47
字号
function RunFDTD

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Electromagnetic Finite-Difference Time-Domain %
% Version 1.20, Release 1                       %
%                                               %
%   (C) Copyright 2005                          %
%   Sharif University of Technology             %
%   School of Electrical Engineering            %
%   All Rights Reserved                         %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

global Time TimeSteps SnapshotTimes BoundaryType
global xProbe yProbe U TimeDecimation PowerTime
global Animate True False

USave=[];
d=-1;

InitialField;

for Time=1:TimeSteps
    AdvanceMTime;
    AdvanceETime;
    AddSource;
    if ismember(Time,SnapshotTimes)
        GenerateSnapShot;
    end
    if Time>=PowerTime
        MeasurePower;
    end
    d=mod(d+1,TimeDecimation);   
    if d==0
        USave=[USave; real(U(xProbe,yProbe))];
    end
    if Animate==True 
        PlotSnapshot
        pause
    end
end

if BoundaryType==0 | BoundaryType==6
    PlotSnapshot; 
end

SaveField(USave)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?