Is there any software (preferably MATLAB) for computing the E field resulting from a short dipole above a stratified media? I found something for a line source, but not a dipole.
Thank you for your suggestion. I should have specified that I need concisely written source code specific to solving the problem described. Unless its only used for checking a concise code, general purpose codes like the ones you're suggesting won't be of use to me; particularly if only an executable is available.
Please excuse me for not being specific enough up front.
There are many commercial FDTD codes, for instance XFDTD, FDTD lumerical, OmniSim/FETD,... You can try them. But I do not know if these packages allow to define the dipol with a complex time-profile, p(t), and if it they allow to perform NFFF transform.
Also I have manual FDTD based on the "Understanding FDTD"-book. It deals with TE- and TM-polirized waves (it is open C code, Microsoft Visual Studio 10), equiped with NFFF transform performed in MATLAB. I believe, this code allows all the commputations which you are interested in. But there it is not executable.
You might find the software package gprMax (http://www.gprmax.com) useful. It is a free FDTD electromagnetic solver which has been used extensively for simulating Ground Penetrating Radar (GPR). You can define a custom excitation for a short dipole over layered media and it will compute E- and H-fields. It is available for Windows, Linux and Mac OS X. You define your model using a simple text-based input file.
Sincere thanks to both Kirill and Craig for their suggestions.
However, such large general purpose codes are of little use to me. I'm looking for a code that is written specifically for the problem described, making it as concise as possible. The most difficult part of such a code would be an efficient numerical calculation of a related Sommerfeld integral, which I'd like to examine. Because of this, I require source code. An executable will be of little use to me unless it's accompanied by the corresponding source code.
A method of moments (MoM) approach is probably better for you then, but I'm afraid I only have expertise with FDTD. The work of Lambot et al. might be of interest (http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6520885)
The easiest method with Matlab is probably using transfer matrix, it just depends on the kind of results you need. http://www.wikiwand.com/en/Transfer-matrix_method_(optics)
Starting with a S parameter matrix, the propagation in a medium can roughly be simplified by a phase shift, depending on the angle of propagation and on the medium permittivity. Then, well-knwon transforms can give you [T] matrix (for example using Matlab's s2t function).
The second problem is the interface between each couple of media. It's easy to compute the reflexion/transmission depending on the permittivity difference (see the link above), and then again, a [S] to [T] matrix transfrorm is needed.
A multiplication of all the [T] matrices should give a good approximation of the radiation in a particular angle. One can include the losses for each propagation step to get a result even more accurate.
The radiation of a short dipole can be set as a source using the same principle, first by computing its radiation depending on the angle and then computing the [S] to [T] transform.
I doubt that you will find the solution of this problem in any software package.
But the problem is clear and decisive.
Find the book "STATIC AND DYNAMIC ELECTRICITY" by W. R. Smythe . Learn how the author solves the problem of the charge over the plate in a cylindrical coordinate system. The solution will be in the form of Bessel functions. For a plate from boundary conditions for the electric field will appear 3 equations, which can be easily solved. But there will be much more equations for stratified media. But the solution of the system of linear equations has any software package