ghasem_008
Full Member level 4
hi to all.
I'm new to FDTD.I wrote a 3D FDTD matlab code in cartesian coordinate with Mur ABC of first order.I want see far-field pattern of my antenna.
I completed code,but output is very big.for example my E_theta in terms of dB is about 900dB!!!
you think where I mistake?
how I can to find error in my code?
I think that my geometry and update equations and boundary is true.
but I don't know how import a true time-step and source.
I used from different time-steps,for example : time_step=10;100;200 but E-theta be larger as n is increased.
my source is differentiated gaussian pulse where placed in time-loop and after update-E equations and before update-H equations,as below:
for n=1:time_step
"update-E equations"
% source:
f0=300e6; w0=2*pi*f;
tc=10;
tau=tc/(2*sqrt(2*log(2)));
source=sin(w0*n*dt)*exp(-0.5*((n*dt-tc)/tau)^2);
Jz(is,js,ks)=source;
Ez(xp1: xp2,yp1:yp2,zp1)=Ez(xp1: xp2,yp1:yp2,zp1)-dt/eps(1)*Jz(is,js,ks);
"First-order Mur’s ABCs for E-fields"
"update-H equations"
"First-order Mur’s ABCs for H-fields"
end
please help me step by step...:sad:
1.how should I choose a proper Courant limit?I used from dt<1/(c*sqrt(dx^2+dy^2+dz^2)) that c=3e8 and I used from dx=dy=dz=1 (mm).
2.how should I choose a true tc and tau in my source?
thanks alot...
- - - Updated - - -
sorry friends.after I run my program step by step,I found that in line of define of sourec & Ez I have error.
Jz(is,js,ks)=source;
Ez(xp1: xp2,yp1:yp2,zp1)=Ez(xp1: xp2,yp1:yp2,zp1)-dt/eps(1)*Jz(is,js,ks);
because my Ez become in order of 1e20!!!! in source region,but Ez=0 elsewhere.
my antenna is dielectric antenna with cylinderical configuration.I want to feed it with a coaxial line from it's bottom surface.
and a GND plate is at x-y plane.
how should import a source?
I'm new to FDTD.I wrote a 3D FDTD matlab code in cartesian coordinate with Mur ABC of first order.I want see far-field pattern of my antenna.
I completed code,but output is very big.for example my E_theta in terms of dB is about 900dB!!!
you think where I mistake?
how I can to find error in my code?
I think that my geometry and update equations and boundary is true.
but I don't know how import a true time-step and source.
I used from different time-steps,for example : time_step=10;100;200 but E-theta be larger as n is increased.
my source is differentiated gaussian pulse where placed in time-loop and after update-E equations and before update-H equations,as below:
for n=1:time_step
"update-E equations"
% source:
f0=300e6; w0=2*pi*f;
tc=10;
tau=tc/(2*sqrt(2*log(2)));
source=sin(w0*n*dt)*exp(-0.5*((n*dt-tc)/tau)^2);
Jz(is,js,ks)=source;
Ez(xp1: xp2,yp1:yp2,zp1)=Ez(xp1: xp2,yp1:yp2,zp1)-dt/eps(1)*Jz(is,js,ks);
"First-order Mur’s ABCs for E-fields"
"update-H equations"
"First-order Mur’s ABCs for H-fields"
end
please help me step by step...:sad:
1.how should I choose a proper Courant limit?I used from dt<1/(c*sqrt(dx^2+dy^2+dz^2)) that c=3e8 and I used from dx=dy=dz=1 (mm).
2.how should I choose a true tc and tau in my source?
thanks alot...
- - - Updated - - -
sorry friends.after I run my program step by step,I found that in line of define of sourec & Ez I have error.
Jz(is,js,ks)=source;
Ez(xp1: xp2,yp1:yp2,zp1)=Ez(xp1: xp2,yp1:yp2,zp1)-dt/eps(1)*Jz(is,js,ks);
because my Ez become in order of 1e20!!!! in source region,but Ez=0 elsewhere.
my antenna is dielectric antenna with cylinderical configuration.I want to feed it with a coaxial line from it's bottom surface.
and a GND plate is at x-y plane.
how should import a source?