GSvit documentation

open source FDTD solver with GPU support

User Tools

Site Tools


docs:become

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
docs:become [2020/04/14 14:06]
pklapetek
docs:become [2020/04/14 14:24]
pklapetek
Line 9: Line 9:
 ===== 2D calculation ===== ===== 2D calculation =====
  
-Calculations in 2D are performed using the GSvit2D solver which is an almost unused extension of GSvit to 2D calculations. As this was very outdated, most of the algorithms had to be implemented,​ incuding near-to-far field calculation and various materials treatment including dispersive metal treatment via PLRC algorithm. To test the correctness of the newly implemented code we compared a simple transmission grating diffraction pattern to the analytically known solution. ​+Calculations in 2D are performed using the GSvit2D solver which is an almost unused extension of GSvit to 2D calculations. As this was very outdated, most of the algorithms had to be implemented,​ incuding near-to-far field calculation and various materials treatment including dispersive metal treatment via PLRC algorithm. ​ 
 + 
 + 
 +---- 
 + 
 + 
 +To test the correctness of the newly implemented code we compared a simple transmission grating diffraction pattern to the analytically known solution. ​
 There are at least two possible ways how to treat the grating in FDTD calculation. First of all, we can setup the grating physically in the computation domain, as large as possible, run the calculation and evaluated the far field response. As we are usually interested in an infinite grating response, this would mean an infinite computational domain. Instead, we can use periodic boundary conditions, compute only one motive and evaluate the far field data. This still does not provide the results if the far field data are evaluated only from the single motive, we need to evaluate it from many virtual repetitions to get the impact of some number of motives. There are at least two possible ways how to treat the grating in FDTD calculation. First of all, we can setup the grating physically in the computation domain, as large as possible, run the calculation and evaluated the far field response. As we are usually interested in an infinite grating response, this would mean an infinite computational domain. Instead, we can use periodic boundary conditions, compute only one motive and evaluate the far field data. This still does not provide the results if the far field data are evaluated only from the single motive, we need to evaluate it from many virtual repetitions to get the impact of some number of motives.
 In most of the graphs here we show complete diffraction pattern. In most of the graphs here we show complete diffraction pattern.
 However, if we are interested in the maximum in some diffraction order direction, it is much simpler and it seems that this is the preferably used approach - we calculate the far field value only at the diffraction order maximum. Luckily enough, this value is dependent on the aperture only, which constructs the envelope for the diffraction pattern, so in this case one could work only with a single aperture. However, to construct the diffraction pattern is a good way how to debug the problem. However, if we are interested in the maximum in some diffraction order direction, it is much simpler and it seems that this is the preferably used approach - we calculate the far field value only at the diffraction order maximum. Luckily enough, this value is dependent on the aperture only, which constructs the envelope for the diffraction pattern, so in this case one could work only with a single aperture. However, to construct the diffraction pattern is a good way how to debug the problem.
 +
 +A comparison of the different evaluation methods is shown below. ​
 +It shows a transmission grating that is evaluated different ways. First of all, analytical results for single aperture, for three apertures and nine apertures are shown. Results from
 +periodic calculation (based on a single motive) where the far field is evaluated from three
 +and nine virtual repetitions are then compared to the case where the calculation is not periodic
 +and three apertures are physically existing in the computational domain.
 +
 +An important message is that
 +using the periodic approach for only a small number of repetitions does not work as it does not take into account the field on sides of the computational domain (see the technical explanation listed below for our reference).
 +
 +{{:​docs:​methods_explanation_humanized.png?​600|}}
 +
 +//Technical remarks: To calculate single aperture or three apertures in one computational domain correctly it is important to add the side boundaries. It is also crucial to use CPML throughout all the
 +calculations,​ otherwise we get everything dependent on the computational volume.
 +If we manually setup the few apertures grating, result corresponds to the theory.
 +However, using periodic boundary conditions and virtual repetitions are valid only if we sum many virtual repetitions for far field calculation,​ at least about 7.
 +Using this approach for only few apertures (e.g. 3) leads to wrong result (even if it still looks fine at the diffraction order angle, is it only by chance?).
 +On the other hand, summing virtual repetitions without periodic BCs does not lead to anything reasonable - we have to use periodic BCs, to get the
 +correct fields in the near field.
 +When higher numbers of apertures are evaluated (e.g. 11), the values of the central maximum can drop and using a smaller time step helps to correct this effect.
 +This might be related to the far field integration (linear interpolation works better when signal is not changing so rapidly), ​
 +however it is still unclear if this is the only effect.//
 +
 +
 +----
  
  
docs/become.txt · Last modified: 2020/04/24 12:27 by pklapetek