Computation of a photonic crystal lens using the "Combined Fictitious Sources - Scattering Matrix Method"

perfect_lens_01.gif perfect_lens_01_anim.gif
Photonic crystal lens. The source location is  x = 0 and y = 5.3 µm.
Left: modulus of the complex field. Right: real field.

This program is described in the paper
[1] G. Tayeb, S. Enoch, "Combined Fictitious Sources - Scattering Matrix method", J. Opt. Soc. Am. A 21, No.8, p.1417-1423, 2004. PDF
and used in the paper
[2] T. Decoopman, G. Tayeb, S. Enoch, D. Maystre, B. Gralak, "Photonic crystal lens: from negative refraction and negative index to negative permittivity and permeability", Phys. Rev. Lett. 97 , 073905 (2006). PDF

It is given as a compiled version that should work on a desktop computer running under Windows with Intel processor.
Since the original program has too many options that cannot be described easily, this version has reduced functionalities. At the present time, it only deals with a triangular lattice of rods, and the jacket has a rectangular shape.

The syntax to use it is:
CMD prompt> FS_SMM_02.exe <
where is the input file.

Note that the compiled version of the code FS_SMM_02.exe is protected. If you are interested, ask me the login and password (my email address is there).

The various parameters in the input file are described inside the file.
This example computes the case related to the figure 11 in Ref. [1]. On a Intel Core2 @ 2.66GHz, this computation should take a little bit less than 16 minutes.
This other input file computes the case related to the figure 6 in Ref. [2].

The computation creates a lot of files that are not all useful. In order to suppress the unnecessary files, run
CMD prompt> clean.bat

You should be able to get a graph like the following one (made with Microcal Origin), representing the modulus of the electric field:
by using the following files (replace XXX by the string used in the first line of the input file. In this case, XXX = fig11_JOSAA_2004):
cartechamp.XXX.dat :  gives the modulus and the phase of the field for the various positions
XXX.xy.dat :  gives the positions of the centers of the rods (columns 2 and 3)
prof_norm.XXX :  gives the jacket profile (columns 1 and 2)

If you have Matlab, you can automatically compute maps and movies using the scripts map.m and movie.m.
You will need the file colormap_03 in order to run movie.m
Examples: map created with Matlab; movie created with Matlab (15 MB); movie recompressed with SUPER (300 kB).

You are not allowed to put anywhere on the web a copy of this page or of any part of its content.
If you want to refer to this page, use its URL

Il n'est pas autorisé de copier le contenu de cette page et de le rendre public de quelque manière que ce soit.
Si vous voulez faire référence à cette page
, utilisez son URL