open source FDTD solver with GPU support
GSvit is based on use of a regular rectangular mesh, so we use e.g. 200x200x200 rectangular volume elements - voxels on which our problem is defined. Individual voxels in the computational domain can be filled with any material and there is no limitation on this, as discussed e.g. in sections on basic geometries and tetrahedral meshes.
Internally, there are two basic ways how to assign the material properties to particular voxel:
We can also combine both approaches - to load the local optical properties to the four arrays, but then to place some material set by lookup table over them.
These are handled using either lookup table or detailed arrays, however in both cases the material is defined by relative permittivity, permeability, electrical conductivity and magnetic conductivity, right as these appear in the Maxwell's equations. So, for vacuum this set would be (1 1 0 0). When handling such material within the basic geometric entities Gwyddion surfaces or tetrahedral mesh input, you can enter them with material type identifier 0 in order to get the four fields filled. If a lookup table approach is used, these materials should have material type identifier 1.
The only ideal metal model that we have now is a perfect electric conductor. This means that on the interface of such material the lateral electrical field components are zero. To enter such material, use tabulated values approach and set the material type identifier to 10.
Special numerical models are usually used to treat the real metals, including them spectral properties within FDTD. Such approach is needed to handle properly the specific optical properties of metals. There are many different algorithms enabling us to parametrize the spectral dependence of optical properties of metal and use them in the calculation. These algorithms also hide fact that the propagation of light through metal described only by its complex permittivity can’t be handled easily via conventional grid spacing and time steps.
An example of calculated metal reflectivity via FDTD for different metals and algorithms is shown in section Media.
The figure above shows spectral dependences of metal surface reflectivity for different materials and different numerical techniques. Note that Chromium curves are almost entirely identical (so that ADE curve is hidden behind the RC one), and also Aluminum curves are very similar. For gold, slightly different dispersive properties were used for RC and for ADE/PLRC technique, using those presented in original papers, so the curves are not expected to be identical. Also, PLRC and ADE result for gold is indistinguishable.
Sample parameter file: reflection from metallic surface.
A 40x40x610 computational domain with periodic boundary conditions used to calculate the reflection from a thick metallic film. For spectral dependence, this was repeated for each wavelength and ratio between results of “reflection.par” and “reference.par” (without film) calculation was used to determine the reflection coefficient.