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:19]
pklapetek
docs:become [2020/04/19 15:42]
pklapetek
Line 11: Line 11:
 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. ​ 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. ​+ 
 +---- 
 + 
 + 
 +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. ​+A comparison of the different evaluation methods is shown below, also showing the first 
 +diffraction order direction.
 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 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 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 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.+and three apertures are physically existing in the computational domain. ​The schematics of 
 +the calculations is here: 
 + 
 +{{:​docs:​schematics.png?​600|}}
  
 An important message is that An important message is that
Line 27: Line 35:
 {{:​docs:​methods_explanation_humanized.png?​600|}} {{:​docs:​methods_explanation_humanized.png?​600|}}
  
-//Technical remarks: To calculate single aperture correctly it is important to add the side boundaries. It is also crucial to use CPML throughout all the+//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. calculations,​ otherwise we get everything dependent on the computational volume.
 If we manually setup the few apertures grating, result corresponds to the theory. 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.  +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 looks fine at the diffraction order angle, by chance?). +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 reasonablewe have to have them, to get the +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. +correct fields ​in the near field
-When higher ​orders ​are evaluated, the values of the central maximum can drop and using a smaller time step helps to correct this effect.+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), ​ 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.//+however it is still unclear if this is the only effect. The backup files for this calculation are {{ :​docs:​2d_transmission_aperture_backup_files.tar.gz |here}}.//
  
 +Accuracy aspects (evaluated on the single aperture transmission): ​
 +   * effect of time step is small, prolonging it from dt=0.5 Courant limit to 0.25 does not change the shape of the curve in a detectable way.
 +   * effect of absorbing boundary type smaller or distance to the boundary much smaller (mostly invisible, below percent?). The transmission around zero order is larger slightly when Liao condition is used instead of CPML. 
 +   * effect of NFFF box size is up to 6 percent for the maximum difference of intensities at the first diffraction order (NFFF box sizes from 100x20 to 340x130, when y size is evaluated from the aperture plane and even for maximum NFFF the boundary in x is about 200 voxels far). Smaller NFFF box seems to be better; when it is enlarged artefacts can be seen. There is always a difference between analytical model that does not go to zero for maximum angles, and numerical
 +model that goes to almost zero.
  
 +----
  
-The Become benchmark grating was setup with voxel spacing of 5 nm in every direction. The total computational domain size was 240x100 voxels. The grating was formed by silver, using the PLRC metal handling approach. Periodic boundary conditions were used to introduce the grating periodicity. Total/​scattered field approach was used to inject the plane wave normally to the surface. TE mode calculation was used for this 2D case, which should be the p-polarisation case as requested. Near-to-far field calculation domain was set up to be outside of the plane wave source region, so only reflected and scattered electric field was propagated to the far-field. Time domain far field calculation was used. Far field data were calculated for wide range of angles for debugging purposes (i.e. not only for the directions of the particular diffraction orders).+ 
 +The **Become benchmark grating** was setup with voxel spacing of 5 nm in every direction. The total computational domain size was 240x100 voxels. The grating was formed by silver, using the PLRC metal handling approach. Periodic boundary conditions were used to introduce the grating periodicity. Total/​scattered field approach was used to inject the plane wave normally to the surface. TE mode calculation was used for this 2D case, which should be the p-polarisation case as requested. Near-to-far field calculation domain was set up to be outside of the plane wave source region, so only reflected and scattered electric field was propagated to the far-field. Time domain far field calculation was used. Far field data were calculated for wide range of angles for debugging purposes (i.e. not only for the directions of the particular diffraction orders).
 The model setup and a calculation snapshot of the periodic area are shown in the following figure. The model setup and a calculation snapshot of the periodic area are shown in the following figure.
 The far field was evaluated from a fixed number of repetitions of the near-field values, the presented results therefore represent scattering by a finite size grating. The far field value in the direction of the maxima is however not affected by size of grating (number of repetitions),​ only its sharpness is affected. The far field was evaluated from a fixed number of repetitions of the near-field values, the presented results therefore represent scattering by a finite size grating. The far field value in the direction of the maxima is however not affected by size of grating (number of repetitions),​ only its sharpness is affected.
Line 65: Line 80:
    * default metal setting: 6 0.89583 0 13.8737e15 0.0207332e15 1.3735 -0.504659 7.59914e15 4.28431e15 0.304478 -1.48944 6.15009e15 0.659262e15 means n=(0.036 + 4.147i) and leads to first order diffraction of 0.178    * default metal setting: 6 0.89583 0 13.8737e15 0.0207332e15 1.3735 -0.504659 7.59914e15 4.28431e15 0.304478 -1.48944 6.15009e15 0.659262e15 means n=(0.036 + 4.147i) and leads to first order diffraction of 0.178
  
-Dependence ​on problem ​size:+ 
 +After improving nearly everything (CPML, periodic borders, source) the result is even worse, 0.148 for the fitted metal, spacing 10 nm. However, now the result is fully symmetric and does not depend ​on voxel size (0.147 for spacing 5 nm).
  
  
docs/become.txt · Last modified: 2020/04/24 12:27 by pklapetek