open source FDTD solver with GPU support
To perform a computation we need to setup at least single source of electromagnetic field. The simplest source is a point one, which is physically similar to a small dipole. More rigorous is an electric or magnetic current source which has exactly the same functionality as the electric or magnetic dipole.
Sample parameter file: point source.
A 200x200x200 computational domain with single point source and a metallic sphere made of a perfect electric conductor.
If we need a plane wave to interact with our computation volume, we are no more able to use a set of point sources (unless we have extremely large computational volume which is unrealistic. Special techniques need to be used, for example one known as total/scattered field or scattered field. Both approaches are based on addition and eventually subtraction of precomputed plane wave to/from some points in the computational volume.
In total/scattered field (TSF) technique we draw a boundary around the area where we need the plane wave and we add the plane wave on one side and subtract it on other side (depending on wave traveling direction). There can be anything inside TSF volume as there are no special algorithms run there.
Sample parameter file: total/scattered field source.
A 200x200x200 computational domain with total/scattered field source and a metallic sphere made of a perfect electric conductor.
In scattered field (SF) formulation, we only add the plane wave on tangential electric field components of interface between conductor and non-conductor, simulating the fact that in real world there are currents cancelling the tangetial components of electromagnetic wave generated on such interface. At it's simplest variant this technique is therefore not suitable for dielectrics and it is used for calculations consisting of perfect electric conductors in a free space. However, comparing to TSF, it can provide more accurate results for scattering calculations in these cases.
Sample parameter file: scattered field source.
A 200x200x200 computational domain with scattered field source and a metallic sphere made of a perfect electric conductor.
To get a focused source we can use plane waves summation method as published in Ref. . This is based on decomposition of the ideal focused beam onto a set of plane wave with appropriate angles and phases.
Sample parameter file: total/scattered focused field source.
A 200x200x200 computational domain with focused source and a metallic sphere made of a perfect electric conductor.
Layered source is a special source conditions suitable for materials with infinitely extending layers (e.g. thin films) as published in Ref. . In our implementation the layers have to be laterally oriented in xy direction, so they have normal in z direction. The material can be formed by N layers in z-direction (in present implementation only dielectric and non-absorbing). Incident wave however can cross the sample at angle as well.
Sample parameter file: layers compatible field source.
A 200x200x200 computational domain with source compatible with infinitely extending layers.
Layered focused source is a mixture of focused source plane wave summation and use of infinite layers in z direction, i.e. the above two sources.
Sample parameter file: layers compatible focused field source.
A 200x200x200 computational domain with focused source compatible with infinitely extending layers.
Finally, some of the sources can be also altered after they are set, e.g. to change the source profile. This is the case of LTSF and TSF (in z direction) where we can multiply the plane wave entering the computational domain by a Gaussian to get a slightly diverging Gaussian beam.
Sample parameter file: TSF Gaussian source.
A 250x180x200 computational domain with total/scattered field source, incidient at angle and multiplied by a Gaussian function.
 I.R.Capoglu, A. Taflowe, V. Backman, Optics Express 23 (2008) 19208.
 I.R. Capoglu, G.S. Smith: IEEE Transactions on Antennas and Propagation 02/2008, 56:1.