Professional Documents
Culture Documents
-1 FDTD
( 2 :
6 Taflov
.
@ x=0:
And With x=y=
@ x=h ,y=0, y=h the way is similar to x=0 , and by using 6.28b 6.28c 6.28d
,equations similar to 6.34 can be obtained
: MATLAB
a=2;
%length
b=2;
%width
c=3e8 ;
%Light Speed
% Simulation parameter
s=0.5;
%Courant Stability Factor
d=.01;
%Delta x,delta y
dt=s*d/3e8; %Delta t
N=floor(a/d);
%Intrvals on length
M=floor(b/d);
%Intrvals on width
Nt=1200;
xn1=floor(0.7/d)+1;
yn1=floor(0.5*a/d)+1;
xn2=floor(0.5*a/d)+1;
yn2=floor(1.3/d)+1;
xn3=floor(0.2/d)+1;
yn3=floor(1.3/d)+1;
xnp=floor(0.5*a/d);
ynp=floor(0.5*b/d);
% Initial fields
Ez2=zeros(M+1,N+1,3);
Hx2=zeros(M,N+1,3);
Hy2=zeros(M+1,N,3);
Es1=zeros(1,Nt);
Es2=zeros(1,Nt);
Es3=zeros(1,Nt);
Ez=zeros(M+1,N+1);
Hx=zeros(M,N+1);
Hy=zeros(M+1,N);
% FDTD
nx=N;ny=M;
%%% To Determine Mur Absorbing Boundery Condition We need Fields
at 3 Time
2
end
;)Ez=Ez2(:,:,m11
))imagesc(Ez2(:,:,m
))% surf(Ez2(:,:,m
;)set(gca,'FontSize',20
colorbar
%
)]caxis([0 0.1
% % % % % % % %
)]zlim([-4 4
;getframe
;)% Hx=Hx(:,:,n+1
;)% Hy=Hy(:,:,n+1
;)% Ez=Ez(:,:,n+1
;)Es1(n)=Ez2(xn1,yn1
%Save time domain data at field point
;)Es2(n)=Ez2(xn2,yn2
%Save time domain data at field point
;)Es3(n)=Ez2(xn3,yn3
%Save time domain data at field point
End
;)'save('Test_Numerical_c1_5.mat','Es1','Es2','Es3
:
x y t for
Hard .
Yee .
Mur Ez
n for Ez
.
12 3 m m10 m11 m
m=2 m10=1
m11=3 .
x=0 y=0
x=h y=h
x=0 y=0 .
5
imagesc surf
.
Ez
Yee .
Es1 Es2 Es3
) (0,0.3 ) (0.3,0 ) (0.3,0.3 .
(
s
. s=1 s=1.5 .
.
: Matlab
;)'load('Test_Numerical2_c1_5.mat','Es1','Es2','Es3
;Es=Es1
;xn=0.3
;yn=0.3
;Nt=200
%Total number of simulation time
;s=0.5
%Courant Stability Factor
;d=.01
%Delta x,delta y
dt=s*d/3e8; %Delta t
;Fs=3e9
;)L=length(Es
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
;)Y = fft(Es,NFFT
;)f = Fs/2*linspace(0,1,NFFT/2+1
;))Es_Ampl=abs(Y(1:NFFT/2+1
;)Y_imag=imag(Y
;)Y_real=real(Y
;))phase=atand(Y_imag(1:NFFT/2+1)./Y_real(1:NFFT/2+1
%%%%%%%%%%%%
;x=0:dt:Nt*dt
;)sig = exp(-((x-2e-9)/(0.5e-9)).^2
;Fs=3e9
6
;)L=length(sig
;% t = (0:L-1)*T
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
;)YA = fft(sig,NFFT
;)f= Fs/2*linspace(0,1,NFFT/2+1
;)p=sqrt(xn^2+yn^2
;k_wave=2*pi*f/3e8
;eps=8.854e-12
;)I=YA(1:NFFT/2+1
;)EzA_p=(-I.*(k_wave).^2)/(4*2*pi.*f*eps).*besselh(0,2,k_wave*p
:
. load) save
( Es
) (xn , yn .
.
: dt
t dt=s*d/3e8 d x y
.
d 0.01
dt=1.6667e-11.
:
Ez FDTD
.
) (0,0.3 : C=0.5
Ez
.
.
FDTD
1 .
10
11
12
13
14
: 0.3,0
15
16
17
18
19
20
0.3,0.3 c=0.5
21
22
23
24
25
26
c=1 FDTD
.
: 0,0.3
27
28
29
30
31
32
: 0.3,0
33
34
35
36
37
38
: 0.3,0.3
39
40
41
42
43
: c=1.5
FDTD .
0,0.3
44
45
46
47
48
49
50
0.3,0
51
52
53
54
55
56
0.30.3
57
58
59
60
61
( FDTD
.
FDTD
.
0.3,0.3 c=0.5 0.14
0.1 .
62
:
C=0.5
0,0.3
63
64
65
66
67
68
0.3,0
69
70
71
72
73
74
0.30.3
75
76
77
78
79
c=1
0,0.3
80
81
82
83
84
85
0.3,0
86
87
88
89
90
91
0.30.3
92
93
94
95
96
97
c=1.5
0,0.3
98
99
100
101
102
103
0.3,0
104
105
106
107
108
109
0.3,0.3
110
111
112
113
114
115