FDTD far field implementation

Status
Not open for further replies.

Kotul

Newbie level 1
Joined
Dec 13, 2004
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
15
fdtd far field

Hi everyone,
I'm bit a of a beginner with FDTD and i'm looking for some examples of far field implementation (near 2 far transformation). Anyone could help me? I'd appreciate it.
 

numpy fdtd

Hi mojtaba,

I have a Python script/code for NF to FF implementation in FDTD (a dipole simulation). It is in working condition. To compile it you need a Python compiler.
You can use the Active State Active Python Compiler (Available for free - get it from internet). You may need the Numeric Python (NumPy) library also (free - internet). Install both and compile. It will work.
Conversion from python to MATLAB is not difficult. You need not know Python for the conversion. You may have to refer the internet for understanding the functionality of certain functions like 'add.reduce()', 'ravel()' etc and for understanding some statement formats/syntax.

The skeleton of the code is that of ToyFDTD. It uses Uniaxial PML (UPML) for terminating the domain.

Hope that this will help you.

Best Regards
Jithesh
 



fdtd plot 3d

Hi

thank you very much jithesh for your help, but I don't really know why I couldn't open those links

the page cannot be displayed... this is the message every time I try to access this site,

could you really access that sit "ftp.ffi.no"?:-?
 


Hi.
In xyzdipole acording to the source the antenna is in y coordination.
Ey[23,11:22,23]=0
Ey[23,24:35,23]=0

Ey[23,23,23]=stimulus

when I change the antenna in z direction like below the far field pattern changes a lot.
Ez[23,11:22,23]=0
Ez[23,24:35,23]=0

Ez[23,23,23]=stimulus

and there is another problem .there is no relationship between dx,dy,dz and frequency or lambda.
can any one help me?

Regards
 

Hi,

From a first look I could find a problem in your modified code.
Setting
Ez[23,11:22,23]=0
Ez[23,24:35,23]=0
will not change the orientation of the dipole. It is still in y-direction only, since the variation is in y co-ordinate.
You should change it like:
Ez[23,23,11:22]=0
Ez[23,23,24:35]=0
That is the z co-ordinate has to be varied (instead of y co-ordinate).

The second question:
You can very well set dx, dy dz depending on the <= lambda / 10 criterion.
First define dx, dy dz values obeying the above criterion.
Then compute nx, ny & nz using the formulae:
nx= GUIDE_LENGTH/dx
ny= GUIDE_LENGTH/dy
nz= GUIDE_LENGTH/dz

Hope this will work.

Best Regards
Jithesh
 

Hi
thanks for your help. I changed the code and I tried to plot the pattern base on theta variation but the pattern is wrong. I checked the code base on Advanced Engineering Electromagnetics, Balanis , all the formulas were correct but I could not get correct pattern .
can anyone help me?
 

I tried to plot the output of the xyzdipole.py with matlab; so with RaddPatt.m you can plot 3D radiation pattern of an antenna with FDTD and you can compare the results with RaddPattReady.m which show the radiation pattern of 0.47*lambda dipole (z-directed). I also attached some of the results of xyzdiple.py to compare:

out1: this file is a simple sin source in Ez= stimulus UPML, source: sin, I used Phi for NFFF back plane (I had forgotten to change it to PHi + pi) the primarily conditions for UPML coeff

out2: this file is y-directed dipole UPML, source: sin, I used Phi for NFFF back plane (I had forgotten to change it to PHi + pi) the new conditions for UPML coeff

out3: this file is z-directed dipole UPML, source: sin, I used Phi for NFFF back plane (I had forgotten to change it to PHi + pi) the new conditions for UPML coeff

out4: this file is z-directed dipole UPML, source: sin, I used Phi+pi for NFFF back plane; the new conditions for UPML coeff

out5: this file is z-directed dipole non-UPML ((I turned off UPML)) source: sin, I used Phi+pi for NFFF back plane; the new conditions for UPML coeff;

out6: this file is z-directed dipole non-UPML (( turned off UPML)) source: sin, I used Phi+pi for NFFF back plane; the previous conditions for UPML coeff;

for example compare the out6 result (you should use find and replace all of out6 to any other ones in the mfile) as output of RaddPatt.m with RaddPattReady.m.

the comarison is really awfull, I couldn't find the problem, any idea?

or any way to find the problem? (for example, how can I realize the NFFF is ok?)

or may anyone who can download viz, send it to me to compare it; as I think maybe there is any problem with my mfile, I think they could plot the output of python with viz better than me, or... I don't know, any idea to help?
 
Reactions: lx84

    lx84

    Points: 2
    Helpful Answer Positive Rating
    V

    Points: 2
    Helpful Answer Positive Rating
you know I used my different suggestions in these 6 out-files; for example in non-UPML I completely disabled the UPML coefficients and in non-Phi+pi I used the other commented instructions to plot the code, about new UPML conditions I corrected a very big difference between the xyzdipole.py code and the instructions in Taflove's book (do you have Taflove's book? Computational Electrodynamics: The Finite Difference Time Domain method) if you don't have it, tell me to send it to you, as it is very important in this simulation, so I attached the differences too (C_UPML_new.py), so you can compare it with xyzdipole.py!
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…